Ahora que has creado Entidades que se mueven de un Dispara aquí a otro, es hora de construir un Prefabricado que puedas usar para definir rápidamente tu propio nivel.
Cómo crear el prefabricado
Para empezar, tendrás que definir el conjunto de entidades que componen tu entidad en movimiento. Cada conjunto tendrá múltiples entidades. La primera entidad representará la plataforma en sí, mientras que otras entidades representarán los destinos a los que se moverá la plataforma. Sigue estos pasos para crear tu prefabricado de plataforma de reajuste:
Añade una entidad a tu escena llamada
AnimatingBlockSet. Para saber cómo añadir entidades y componentes a tu escena, consulta Cómo trabajar con entidades y componentes.Agrega otra entidad llamada
AnimatingBlocka tu escena como elemento secundario deAnimatingBlockSet. Definir la transformar de esta Entidad a la transformar de la Entidad base. Esta es la entidad que se animará.Agrega un
mesh_componenta tu AnimatingBlock y asígnale el cubo.Añade un
animate_to_targets_componenty unkeyframed_movement_componentalAnimatingBlock.Este es el componente de Verse que definiste anteriormente.Agrega tres nuevas entidades a la escena denominadas
StartingTarget,Target2yTarget3, y establécelas como elementos secundarios delAnimatingBlockSet. Añade elmesh_componenta cada uno de ellos y configúralo como esfera. Esto te permitirá visualizar hacia dónde se mueve tu entidad en el entorno.Puedes reposicionar estas entidades para mover la plataforma a diferentes áreas, y puedes desactivar su
mesh_componentuna vez que hayas posicionado tu bloque para evitar que la esfera aparezca durante el juego.Posiciona
StartingTargeten la misma transformación queAnimatingBlock, yTarget2yTarget3en los lugares donde deseas que se mueva el bloque. Intenta dar aTarget2yTarget3escalas y rotaciones diferentes para que puedas ver cómo cambia el bloque a medida que se anima a cada uno de ellos.Selecciona la entidad
AnimatingBlocken el editor. En el panel de detalles, añade tres elementos a la matriz desegmentos. DefineSegmentStartPositionpara cada Entidad de destino en el orden en el que deseas que el bloque se desplace hacia ellas. También puedes cambiarPauseSeconds,AnimationDurationyEasingFunctionpara personalizar el movimiento del bloque.Por último, haz clic con el botón derecho en tu
AnimatingEntitySeten el esquematizador y selecciona Guardar como prefabricado. Nombra este prefabricadoanimating_entity_prefab.
Prefabricado de ejemplo con la configuración anterior. Dado que Target2 y Target3 tienen escalas y rotaciones diferentes, el AnimatingBlock escalará y rotará de manera adecuada a medida que se desplace hacia ellos.
Cómo crear un nivel de plataformas
¡Y eso es todo! Ahora que ya conoces todas las bases, es hora de construir. ¡Usarás los prefabricados que creaste para construir rápidamente un nivel de plataformas!
Al comienzo de tu nivel, intenta usar animating_entity_set_prefab para crear una estructura de puente que se construya a sí misma. Puedes anular mesh_component en cada entidad con tus propias mallas personalizadas para añadir algo de estilo. Utiliza el modo de animación de una toma para asegurarte de que los bloques permanezcan en su lugar cuando terminen de moverse.
Los bloques se animan lentamente para construir un puente que el jugador debe cruzar.
Luego, coloca algunos de los animating_entity_set_prefab que creaste para armar una serie de plataformas por las que los jugadores deban desplazarse con cuidado. Intenta variar AnimationDuration, PauseSeconds y EasingFunction en cada segmento para que cada plataforma sea única y mantener a los jugadores alerta. En la siguiente configuración, el jugador tiene que cruzar tres plataformas, cada una con diferentes duraciones de animación y tiempos de pausa.
Los saltos se vuelven mucho más intensos cuando se realizan sobre lava.
Como todas tus entidades empezarán a simularse más o menos al mismo tiempo, tus plataformas también empezarán a moverse todas al mismo tiempo. Ten esto en cuenta cuando coloques tus plataformas, especialmente si tienes varias plataformas moviéndose en la misma dirección, ya que esto podría hacer imposibles algunos saltos a menos que varíes su AnimationDuration y PauseSeconds.
¿Y las plataformas que desaparecen en un bucle? Con la desaparición de_entity_prefab, crea una sección donde los jugadores tengan que saltar sobre plataformas que desaparecen y reaparecen en diferentes momentos. Varíe la duración de estos para crear situaciones difíciles para tus jugadores.
Los jugadores deben prestar mucha atención al momento en que cada entidad cruza esta sección.
Por último, intenta usar animating_entity_prefab como un obstáculo que los jugadores deben evitar. En la siguiente configuración, el jugador tiene que cruzar una serie de plataformas a través de un estanque mientras es perseguido por un bloque gigante. El bloque tiene diferentes duraciones de animación y tiempos de pausa para que cruzar el charco sea ajetreado, pero no imposible.
No es fácil relajarse junto al estanque cuando te persigue un cubo gigante.
Por tu cuenta
¡Y eso es todo! Al completar esta guía habrás aprendido a utilizar componentes personalizados de Verse para crear tu propio juego de plataformas. Con lo que aprendiste, intenta hacer lo siguiente:
¿Puedes usar varios componentes de Verse en la misma plataforma para crear escenarios interesantes? ¿Qué tal una plataforma que se mueve y desaparece al mismo tiempo?
Piensa qué otros tipos de componentes podrías usar para un juego de plataformas. ¿Qué te parece una plataforma que use el componente de luz para indicarte cuándo puedes pisarla o un componente de sistema de partículas que te indique si la plataforma podría dañarte?
Intenta crear otros componentes personalizados de Verse para crear nuevos tipos de obstáculos. ¿Qué pasa con una entidad que solo puedes atravesar cuando es del color correcto? ¿Qué pasa con una entidad rastreadora que detecta dónde está un jugador y lo sigue lentamente?
Código completo
Este es el código completo creado en este tutorial:
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