Maintenant que vous avez créé des entités qui se déplacent entre les cibles, le moment est venu de créer un préfabriqué à utiliser pour configurer rapidement votre propre niveau.
Créer le préfabriqué
Commencez par définir l'ensemble d'entités qui constituent votre entité mobile. Chaque ensemble comportera plusieurs entités. La première entité représente la plateforme proprement dite, tandis que les autres entités représentent les destinations vers lesquelles la plateforme se déplacera. Procédez comme suit pour créer votre préfabriqué de plateforme de réinitialisation :
Ajoutez une entité nommée
AnimatingBlockSetà votre scène. Pour savoir comment ajouter des entités et des composants à votre scène, consultez la rubrique Utiliser des entités et des composants.Ajoutez une autre entité nommée
AnimatingBlockà votre scène en tant qu'enfant de l'AnimatingBlockSet. Définissez la transformation de cette entité sur la transformation parente. Il s'agit de l'entité qui va animer.Ajoutez un
mesh_componentà votre AnimatingBlock et assignez-lui le cube.Ajoutez un
animate_to_targets_componentet unkeyframed_movement_componentà l'AnimatingBlock. Il s'agit du composant Verse que vous avez défini précédemment.Ajoutez trois nouvelles entités nommées
StartingTarget,Target2etTarget3à la scène, et définissez-les comme enfants de l'AnimatingBlockSet. Ajoutez lemesh_componentà chacune d'elles et définissez-le sur sphère. Cela vous permettra de visualiser où votre entité se déplace dans le monde.Vous pouvez repositionner ces entités pour déplacer la plateforme vers différentes zones, et vous pouvez désactiver leur
mesh_componentune fois que votre bloc est positionné pour empêcher la sphère d'apparaître pendant le jeu.Positionnez
StartingTargetsur la même transformation qu'AnimatingBlock, etTarget2etTarget3aux endroits où vous souhaitez que le bloc se déplace. Essayez de donner àTarget2etTarget3des échelles et des rotations différentes afin de pouvoir voir comment le bloc change lorsqu'il s'anime sur chacune d'elles.Sélectionnez l'entité
AnimatingBlockdans l'éditeur. Dans le panneau Détails, ajoutez trois éléments à la matriceSegments. Définissez laSegmentStartPositionsur chaque entité cible dans l'ordre dans lequel vous souhaitez que le bloc se déplace vers elles. Vous pouvez également modifierPauseSeconds,AnimationDurationetEasingFunctionpour personnaliser le déplacement du bloc.Enfin, faites un clic droit sur votre
AnimatingEntitySetdans l'organiseur et sélectionnez Enregistrer en tant que préfabriqué. Nommez ce préfabriquéanimating_entity_prefab.
Exemple de préfabriqué utilisant la configuration précédente. Target2 et Target3 disposant d'échelles et de rotations différentes, l'AnimatingBlock verra son échelle modifiée et pivotera de manière appropriée en se déplaçant vers elles.
Créer un niveau de plateforme
Vous avez terminé ! Maintenant que toutes les tâches préparatoires sont terminées, passons à la phase de création. Vous utiliserez les préfabriqués que vous avez créés pour concevoir rapidement un niveau de jeu de plateforme.
Au début de votre niveau, essayez d'utiliser l'animating_entity_set_prefab pour créer une structure de pont qui se créer elle-même. Pour lui donner du style, vous pouvez remplacer le mesh_component de chaque entité par vos maillages personnalisés. Utilisez le mode d'animation oneshot pour vous assurer que les blocs restent en place lorsqu'ils ont fini de bouger.
Les blocs s'animent lentement pour se mettre en place afin de constituer un pont que le joueur peut traverser.
Ensuite, placez quelques-uns des animating_entity_set_prefab que vous avez créés pour constituer une série de plateformes que les joueurs devront emprunter avec prudence. Essayez de varier les paramètres AnimationDuration, PauseSeconds et EasingFunction de chaque segment pour rendre chaque plateforme unique et inciter les joueurs à la vigilance. Dans la configuration suivante, le joueur doit traverser trois plateformes, chacune avec des durées d'animation et des temps de pause différents.
Les sauts deviennent beaucoup plus palpitants si les joueurs doivent s'élancer par-dessus de la lave.
Étant donné que la simulation de vos entités doit commencer exactement au même moment, vos plateformes doivent également commencer à se déplacer en même temps. Gardez cela à l'esprit lorsque vous placez vos plateformes, en particulier si plusieurs de vos plateformes se déplacent dans la même direction, car cela peut rendre certains sauts impossibles à moins que vous ne modifiiez leurs variables AnimationDuration et PauseSeconds.
Qu'en est-il des plateformes qui disparaissent dans une boucle ? À l'aide du disappearing_entity_prefab, créez une section où les joueurs doivent sauter par-dessus des plateformes qui disparaissent et réapparaissent à différents moments. Variez la durée de ces moments pour placer vos joueurs dans des situations délicates.
Les joueurs doivent prêter une attention particulière au timing de chaque entité pour traverser cette section.
Enfin, essayez d'utiliser l'animating_entity_prefab comme obstacle que les joueurs doivent éviter. Dans la configuration suivante, le joueur, poursuivi par un bloc géant, doit traverser une série de plateformes au-dessus d'un étang. Le bloc a des durées d'animation et des temps de pause différents pour rendre la traversée de l'étang mouvementée, mais pas impossible.
Être poursuivi par un cube géant n'incite guère à se reposer au bord de l'étang.
À vous de jouer
Vous avez terminé ! Vous avez appris à utiliser des composants Verse personnalisés pour créer votre propre jeu de plateforme. Utilisez vos connaissances pour effectuer les tâches suivantes :
Pouvez-vous utiliser plusieurs composants Verse sur la même plateforme pour créer des scénarios intéressants ? Que diriez-vous d'une plateforme qui bouge et disparaît simultanément ?
Pensez aux autres types de composants que vous pourriez utiliser pour un jeu de plateforme. Que diriez-vous de créer une plateforme qui utiliserait le composant d'éclairage pour indiquer aux joueurs quand ils peuvent marcher dessus, ou un composant du système de particules qui indiquerait si la plateforme risque de provoquer des dégâts ?
Essayez de créer d'autres composants Verse personnalisés pour créer de nouveaux types d'obstacles. Qu'en est-il d'une entité que vous ne pouvez traverser que lorsqu'elle est de la bonne couleur ? Quid d'une entité de guidage qui détecte où se trouve un joueur et le suit lentement ?
Code complet
Voici le code complet créé dans ce tutoriel :
disappear_on_loop_component.verse
using { /Verse.org }
using { /Verse.org/Native }
using { /Verse.org/Simulation }
using { /Verse.org/SceneGraph }
# Loops between hiding and showing the entity by enabling and disabling
# its static mesh and collision components.
disappear_on_loop_component := class<final_super>(component):
animate_to_targets_component.verse
using { /Verse.org }
using { /Verse.org/Native }
using { /Verse.org/Random }
using { /Verse.org/Simulation }
using { /Verse.org/SpatialMath }
using { /Verse.org/SceneGraph }
using { /Verse.org/SceneGraph/KeyframedMovement }
using { /UnrealEngine.com }
# Editor Tool Tips