Nachdem du nun Entitäten erstellt hast, die sich zwischen Zielen hin und her bewegen, ist es an der Zeit, ein Prefab zu erstellen, mit dem du schnell dein eigenes Level einrichten kannst.
Erstellen des Prefab
Zu Beginn musst du den Satz der Entitäten definieren, aus denen deine sich bewegende Entität besteht. Jeder Satz enthält mehrere Entitäten. Die erste Entität repräsentiert die Plattform selbst, während andere Entitäten die Zielpositionen darstellen, zu der sich die Plattform bewegt. Folge diesen Schritten, um dein zurücksetzendes Plattform-Prefab zu erstellen:
Füge deiner Szene eine Entität mit dem Namen
AnimatingBlockSethinzu. Wie du deiner Szene Entitäten und Komponenten hinzufügst, findest du unter Arbeiten mit Entitäten und Komponenten.Füge eine weitere Entität mit dem Namen
AnimatingBlockzu deiner Szene als Child desAnimatingBlockSethinzu. Lege die Transformation dieser Entität auf die Transformation des Parent fest. Dies ist die Entität, die animiert wird.Füge eine
mesh_componentzu deinem AnimatingBlock hinzu und weise ihr den Würfel zu.Füge dem
AnimatingBlockeineanimate_to_targets_componentund einekeyframed_movement_componenthinzu. Dies ist die Verse-Komponente, di du zuvor definiert hast.Füge drei neue Entitäten mit den Namen
StartingTarget,Target2undTarget3zu der Szene hinzu und lege sie als Children desAnimatingBlockSetfest. Füge diemesh_componentzu jedem von ihnen hinzu und lege sie auf Kugel fest. Das erlaubt dir zu visualisieren, wohin sich deine Entität in der Welt bewegt.Du kannst diese Entitäten neu positionieren, um die Plattform in andere Bereiche zu bewegen, und du kannst ihre
mesh_componentdeaktivieren, sobald du deinen Block positioniert hast, um zu verhindern, dass die Kugel während des Gameplay sichtbar wird.Positioniere
StartingTargetan der gleichen Transformation wieAnimatingBlockundTarget2undTarget3an den Positionen, zu denen sich der Block bewegen soll. Versuche,Target2undTarget3unterschiedliche Skalierungen und Drehungen zu geben, damit du sehen kannst, wie sich der Block ändert, wenn er für jeden von ihnen animiert wird.Wähle die Entität
AnimatingBlockim Editor aus. Füge im Details-Panel drei Elemente zum ArraySegmentshinzu. LegeSegmentStartPositionauf jede Zielentität in der Reihenfolge fest, in der der Block sich zu ihnen bewegen soll. Du kannst auchPauseSeconds,AnimationDurationundEasingFunctionändern, um die Bewegung des Blocks anzupassen.Klicke abschließend mit der rechten Maustaste auf dein
AnimatingEntitySetim Outliner und wähle „Als Prefab speichern“. Benenne dieses Prefabanimating_entity_prefab.
Beispiel-Prefab mit dem Setup von vorhin. Da Target2 und Target3 unterschiedliche Skalierungen und Drehungen haben, skaliert und dreht sich der AnimatingBlock entsprechend, wenn er sich zu ihnen bewegt.
Bauen eines Jump‘n‘Run-Levels
Und das war‘s schon! Nachdem du nun die Grundlagenarbeit erledigt hast, ist es an der Zeit, mit dem Bau zu beginnen! Du verwendest die von dir erstellten Prefabs, um schnell ein Jump‘n‘Run-Level zu erstellen!
Versuche zu Beginn deines Levels, das animating_entity_set_prefab zu verwenden, um eine Brückenstruktur zu erstellen, die sich selbst aufbaut. Du kannst mesh_component jeder Entität mit deinen eigenen benutzerdefinierten Meshs überschreiben, um ihnen Stil hinzuzufügen. Verwende den OneShot-Animationsmodus, um sicherzustellen, dass die Blöcke an Ort und Stelle bleiben, wenn sie die Bewegung abgeschlossen haben.
Die Blöcke werden langsam animiert, um eine Brücke zu platzieren, die der Spieler überqueren kann.
Platziere als Nächstes einige der animating_entity_set_prefab, die du gebaut hast, um eine Reihe von Plattformen zu erstellen, über die die Spieler vorsichtig navigieren müssen. Versuche, AnimationDuration, PauseSeconds und EasingFunction in jedem Segment zu variieren, um jede Plattform einzigartig zu machen und die Spieler auf Trab zu halten. Im folgenden Setup muss der Spieler drei Plattformen überqueren, die jeweils unterschiedliche Animationsdauern und Pausenzeiten haben.
Sprünge werden viel intensiver, wenn sie über Lava führen.
Da alle deine Entitäten zur gleichen Zeit mit der Simulation starten, bewegen sich deine Plattformen auch zur gleichen Zeit. Denke daran, wenn du deine Plattformen platzierst, besonders dann, wenn du mehrere Plattformen hast, die sich in gleiche Richtung bewegen, da dies einige Sprünge unmöglich macht, es sei denn, du veränderst ihre AnimationDuration und PauseSeconds.
Was ist mit Plattformen, die in einer Schleife verschwinden? Erstelle mit disappearing_entity_prefab eine Sektion, in der Spieler über Plattformen springen müssen, die zu verschiedenen Zeiten verschwinden und wieder auftauchen. Variiere die Dauer dieser, um schwierige Situationen für deine Spieler zu schaffen.
Die Spieler müssen sehr auf das Timing jeder Entität achten, um diese Sektion zu überqueren.
Versuche schließlich, animating_entity_prefab als Hindernis zu verwenden, das die Spieler vermeiden müssen. Im folgenden Setup muss der Spieler eine Reihe von Plattformen auf der anderen Seite eines Teichs überqueren, während er von einem großen Block gejagt wird. Der Block hat unterschiedliche Animationsdauern und Pausenzeiten, um das Überqueren des Teichs hektisch, aber nicht unmöglich zu machen.
Es ist nicht leicht, sich am Teich zu konzentrieren, wenn du von einem großen Würfel verfolgt wirst.
Du bist am Zug
Und das war‘s schon! Durch den Abschluss dieser Anleitung hast du gelernt, wie du benutzerdefinierte Verse-Komponenten verwendest, um deinen eigenen Plattformer zu erstellen. Versuche mit dem, was du gelernt hast, Folgendes:
Kannst du mehrere Verse-Komponenten auf derselben Plattform verwenden, um interessante Szenarien zu erstellen? Wie wäre es mit einer Plattform, die sich bewegt und gleichzeitig verschwindet?
Überlege, welche anderen Komponenten du für einen Plattformer verwenden könntest. Wie wäre es mit einer Plattform, die die Lichtkomponente verwendet, um zu signalisieren, wenn du auf sie traten kannst, oder eine Partikel Systemkomponente, die dir mitteilt, wenn die Plattform dich verletzen kann?
Versuche, andere benutzerdefinierte Verse-Komponenten zu erstellen, um neue Typen von Hindernissen zu erzeugen. Was ist mit einer Entität, die du nur passieren kannst, wenn sie die richtige Farbe hat? Was ist mit einer zielsuchenden Entität, die erkennt, wo sich ein Spieler befindet, und ihm langsam folgt?
Vollständiger Code
Hier ist der vollständige Code, der in diesem Tutorial erstellt wurde:
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