I. Introduction▲
Cette série de vidéos vise toute personne souhaitant apprendre à utiliser le moteur de jeux Unreal Engine 4.
Vous pouvez retrouver les autres épisodes de cette série dans le sommaire dédié.
II. Vidéo▲
Unreal Engine 4 - Tutoriels pour débutants - Sauvegarde et chargement
Unreal Engine 4 - Tutoriels pour débutants - Affichage d'une valeur sauvegardée
Unreal Engine 4 - Tutoriels pour débutants - Sauvegarde de la position du joueur
Unreal Engine 4 - Tutoriels pour débutants - Chargement de la position du joueur
III. Résumé▲
Dans ces vidéos, vous allez apprendre à intégrer un système de sauvegarde et de chargement pour votre jeu.
III-A. Sauvegarder des variables▲
Pour démarrer, il faut créer un nouveau blueprint de type « SaveGame ». Dans l'élément créé, vous pouvez ajouter des variables afin de contenir les informations à sauvegarder.
Ensuite, dans le blueprint où vous souhaitez gérer vos valeurs à sauvegarder/charger, vous devez utiliser les nœuds :
- « Does Save Game Exist », pour savoir si une sauvegarde existe ou non ;
- « Load Game from Slot », pour charger une sauvegarde ;
- « Create Save Game Object », pour créer un conteneur des variables à sauvegarder ;
- « Set Saver Sub Class », une instance de la classe « SaveGame » pour manipuler la donnée de la sauvegarde ;
- « Cast To… » pour rendre compatible votre donnée avec la donnée à sauvegarder dans votre instance de « SaveGame » ;
- « Save Game To Slot », pour enregistrer la variable dans la sauvegarde.
L'idée est de commencer par vérifier si la sauvegarde existe. Ainsi, vous pouvez déterminer s'il faut la charger ou en créer une nouvelle.
III-B. Afficher une valeur sauvegardée▲
Dans le blueprint de votre widget, vous pouvez utiliser les nœuds « Load Game from Slot » et « Cast To MySaveGame » afin de charger la sauvegarde et de récupérer les valeurs de celle-ci.
III-C. Sauvegarder la position du joueur▲
Lorsque le joueur passe un checkpoint (une boite de collision), vous pouvez sauvegarder sa position afin de le faire réapparaître à cette position.
Dans votre blueprint de type « SaveGame », ajoutez une variable de type vecteur (« Vector »). Ensuite, dans le blueprint de type « Actor », placez une boite de collision afin de détecter lorsque le joueur passe à tel ou tel endroit. Puis configurez la logique du blueprint avec les nœuds « OnComponentBeginOverlap » pour détecter la collision, « Cast To ThirdPersonCharacter » pour obtenir une référence sur le joueur et ainsi pouvoir récupérer sa position (« GetActorLocation »). Finalement, vous pouvez répéter la logique de sauvegarde/chargement vue précédemment.
III-D. Charger la position du joueur▲
Pour charger la position du joueur, il suffit d'utiliser les nœuds « Load Game From Slot », « Set… » pour définir l'instance de la classe de type « SaveGame », « Cast To… » pour convertir cette instance en données utilisables. Votre donnée est chargée, il ne reste plus qu'à l'utiliser, par exemple, dans un nœud « Teleport » pour placer le joueur sur la carte.
IV. Commenter▲
Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum.