Con Scene Graph, puedes hacer transiciones rápidas de los prototipos de caja gris y los entornos a experiencias jugables completas con tan solo unos pasos.
Scene Graph es un sistema nativo de Verse que aprovecha las características de este lenguaje de programación. Esto te ofrece una manera de añadir un mayor nivel de personalización a tus proyectos, gracias a objetos interactivos y a la medida, así como experiencias de jugabilidad.
Scene Graph mejora la estabilidad. Esto se debe a que Verse hace todo el trabajo pesado en segundo plano, con lo que se garantiza que las entidades funcionen como deberían. Además, Verse tiene un profundo nivel de acceso a todas las partes de las entidades y componentes de la escena, con lo que podrás añadir mayor variedad a la escena.
Cómo habilitar Scene Graph en tu proyecto
Para usar Scene Graph en tu proyecto:
En la barra de herramientas, elige Proyecto > Configuración del proyecto para abrir la ventana Configuración del proyecto.
En la ventana Configuración del proyecto, en Acceso beta, habilita Herramientas de Scene Graph. Scene Graph está habilitado de forma predeterminada en la versión Beta.
Para verificar que puedas ver las funciones de Scene Graph, en la barra de herramientas, selecciona Colocar actores y busca Entidades en el menú desplegable Colocar actores.
Objetos en el metaverso
El metaverso es una experiencia social de entretenimiento online, que se experimenta en tiempo real, en la que las personas juegan y se relacionan en un mundo 3D. Epic Games está diseñando el sistema de Scene Graph para UEFN con el fin de empoderarte para que puedas crear estas experiencias del metaverso.
En el sistema de Scene Graph, puedes instanciar y reutilizar objetos sin la clasificación de actores de Unreal Engine. Scene Graph se compone de bloques que utilizan datos y lógica para construir tu juego, así como para renderizar y simular objetos en cualquier entorno de juego.
Los actores y las entidades no son intercambiables, son sistemas distintos que funcionan de manera conjunta en la escena.
Con Scene Graph, puedes establecer un marco de simulación 3D en tiempo real donde todas las decisiones de diseño y los resultados sean visibles instantáneamente en el visor. Estos se pueden editar en el panel de detalles o en el editor de prefabricados.
Puedes importar los recursos que crees o compres de un proveedor, y utilizarlos con Scene Graph para crear objetos y prefabricados personalizados.
Cualquier cosa que crees en Scene Graph puede reutilizarse muchas veces para utilizar menos memoria. El sistema de construcción Scene Graph está diseñado para permitir la compartición compleja de contenido y de simulaciones, al mismo tiempo que se establecen limitaciones entre los contenidos.
Entidades y componentes
Las entidades y los componentes son los cimientos de Scene Graph. Su función es controlar la definición y el comportamiento de los objetos.
Las entidades son contenedores para componentes u otras entidades Una entidad vacía no tendrá ningún efecto o funcionalidad visible. Los componentes son los que proporcionan datos y comportamiento a una entidad. La combinación de componentes añadidos a una entidad define lo que esa entidad está haciendo en la escena.
Una entidad puede contener cualquier número de componentes diferentes. Sin embargo, solo se puede añadir un componente de un tipo de componente específico a una entidad a la vez. Por ejemplo, solo se puede usar un tipo de light_component en una entidad. Para usar múltiples componentes de un tipo común, puedes crear una nueva entidad para contener cada instancia del componente.
Algunos tipos de componentes se generan a partir de recursos creados en UEFN. Un componente generado por recursos es una clase de componente que se crea de forma automática a partir de un contenido preexistente en tu proyecto, como una malla, un sonido o un recurso de sistema de partículas. Es posible que estos recursos también expongan propiedades que puedas modificar en el componente que se generó.
Los componentes tienen propiedades editables. Estas propiedades pueden ser físicas, como una malla estática y un sistema de partículas, o lógicas como una etiqueta de juego o un código personalizado de Verse, que definen el movimiento de una plataforma. Por defecto, todas las entidades tienen un transform component para especificar dónde existe la entidad en el entorno.
Construir una entidad con Verse no crea un Transform Component automáticamente.
Con Scene Graph, puedes acomodar piezas y mecánicas de juego rápidamente mediante los datos físicos de las mallas, señales de sonido y mucho más.
Una entidad se convierte en la representación física de una malla estática cuando se añade un Mesh Component a la entidad y se selecciona una malla en la ranura de malla del componente. Esto significa que se pueden establecer edificios de prueba o piezas individuales rápidamente, para así usarlos de inmediato en tu escena.
Por ejemplo, en el siguiente video, una entidad se convierte en un clúster de árboles de hoja perenne.
Puedes convertir este clúster de árboles en un prefabricado por sí solo o combinarlo con entidades adicionales para crear un prefabricado de bosque.
Una entidad (la entidad de simulación) queda en la raíz del proyecto para representar la simulación. La escena se crea cuando las entidades se anidan bajo la entidad de simulación. Al añadir entidades al mapa, estás creando entidades derivadas de la entidad de simulación de forma automática.
La entidad superior de un prefabricado es la entidad raíz del prefabricado, con otras entidades y prefabricados anidados por debajo. Los prefabricados base conforman el aspecto y comportamiento de sus derivados para interactuar con otros objetos en la escena.
Haz clic en la imagen para ampliarla.
Entidad raíz prefabricada → WoodenHouse_Tiny_Prefab
Prefabricado derivado → WoodenHouse_RoofSmall_Prefab_C_1
Entidad derivada → Building_WIndowCircle_Bright2
Entidad derivada → Building_WIndowCircle_Bright4
Entidad derivada → Building_WIndowCircle_Dark2
Entidad derivada → Building_WIndowCircle_Dark4
Entidad derivada → WoodenHouse_Floor
Entidad derivada → WoodenHouse_RoofCap2
Entidad derivada → WoodenHouse_RoofCap3
Entidad derivada → WoodenHouse_RoofWindow2
Prefabricado derivado → WoodenHouse_SmallFloor_Prefab_C_1
Entidad derivada → WoodenHouse_Floor
Entidad derivada → WoodenHouse_Wall10
Entidad derivada → WoodenHouse_WallDoor_C4
Prefabricado derivado → WoodenHouse_Windows_Prefab_C_3
Entidad derivada → Building_WindowPlane_Bright3
Entidad derivada → Building_WindowPlane_Bright4
Entidad derivada → Building_WindowPlane_Dark3
Entidad derivada → Building_WindowPlane_Dark4
Entidad derivada → WoodenHouse_Windoows_10
Cada prefabricado derivado contiene componentes que determinan cómo lucirá el prefabricado y cómo se alinea con otros prefabricados en la escena. Puedes usar Verse para apuntar a prefabricados y entidades específicas para así intercambiar el prefabricado derivado por otro, o incluso para cambiar el color utilizado para las entidades Building_WindowPlane_Bright y Building_WindowPlane_Dark.
Hay diversos tipos de componentes que determinan cómo actúan una entidad por completo o una parte de ella. Para obtener más información sobre los distintos tipos de componentes disponibles en Scene Graph, consulta Componentes.
Para obtener más información sobre el uso de entidades y componentes, consulta Cómo trabajar con entidades y componentes.
Prefabricados
Scene Graph crea prefabricados al empaquetar entidades en una relación de antepasado y descendiente. Un antepasado es cualquier nivel de entidad por encima de otra entidad, como padre, abuelo, bisabuelo, etc. Un descendiente es un nivel de entidad por debajo del de derivado, subderivado, etc.
Todas las entidades seleccionadas, las jerarquías de entidades y sus componentes se añaden instantáneamente a este árbol de entidades en el prefabricado. Una vez que tengas un prefabricado, puedes personalizar todas las instancias de ese prefabricado en el editor de prefabricados.
Para crear una instancia de tu prefabricado, arrástralo para llevarlo del explorador de contenido al visor. También puedes anidar prefabricados dentro de una jerarquía de prefabricados. Puedes usar la jerarquía para aplicar los cambios realizados en todas las instancias y los prefabricados en la jerarquía.
A medida que actualices y mejores el prefabricado, irás ahorrando tiempo porque ya no tendrás que encontrar todas las instancias del objeto para actualizar cada una de manera individual.
Además, puedes crear una variedad de objetos con aspectos similares al seleccionar las subpiezas en la jerarquía y anular distintos valores de componentes. También puedes rotar los objetos y añadir nuevos valores de componentes a las distintas instancias de prefabricados a medida que edites en el editor de prefabricados.
El editor marca todos los cambios en el panel de detalles con un ícono de alternancia de anulación en los atributos de los componentes individuales. También marca los íconos de los distintos componentes en el botón de menú desplegable de la tarjeta de componentes.
Para volver al diseño original del prefabricado, haz clic en las anulaciones de los componentes individuales. El objeto vuelve al estado del prefabricado base de forma automática. También puedes hacer clic en el botón del menú desplegable de la tarjeta del componente y seleccionar Quitar anulación.
Para obtener más información sobre cómo modificar prefabricados, consulta Prefabricados e instancias de prefabricados.
En el video que aparece a continuación, se usa Scene Graph para crear dos prefabricados de habitaciones de castillo.
La habitación se duplica. Se cambia un elemento de la sala al seleccionar la malla del piso y reemplazar la original, lo que crea un prefabricado nuevo. Puedes seguir copiando y reemplazando partes para crear rápidamente un castillo pequeño e, incluso, una aldea. Esto funciona incluso con los componentes, de modo que puedes añadir distintos comportamientos a cada una de las habitaciones del castillo.
Editar prefabricados no afecta la estabilidad ni la memoria del objeto original ni de sus copias. Es decir, que podrás terminar tu diseño de nivel, el diseño abstracto y el arte para crear objetos personalizados para tu isla. Con el sistema de construcción Scene Graph, puedes reutilizar los prefabricados que crees en los proyectos para así crear tu propio universo de juego en Fortnite.
Verse en Scene Graph
Verse es el lenguaje de programación que utiliza Scene Graph para generar y quitar entidades del entorno y para crear componentes y comportamientos personalizados.
Con Verse, puedes crear una linterna de exteriores que se balancee para la casa del ejemplo anterior. Verse te da una manera de definir las propiedades para el balanceo, la rotación y la duración, para así determinar el movimiento de la linterna.
Los prefabricados que crees en el proyecto se exponen como clase a Verse en el archivo Assets.digest.verse de tu proyecto. Las entidades y los componentes definidos en tu prefabricado son accesibles en Verse mediante los llamados GetEntities() y GetComponents() en un prefabricado.
Para empezar a usar Verse en Scene Graph, consulta Cómo crear tu propio componente con Verse.
Experiencia práctica
La plantilla de muestra de Scene Graph te presenta los conceptos básicos sobre trabajar con las funciones de Scene Graph, además de que añade contexto a estos flujos de trabajo de construcción con el fin de ejemplificar el poder de crear tu proyecto mediante los prefabricados y Verse. En cada ejemplo, se muestra el poder de usar Scene Graph para iterar en un diseño y crear objetos de juego y jugabilidad interesantes y funcionales.
Abre Cómo crear un juego de plataformas con Scene Graph a fin de obtener más información sobre el uso de Scene Graph para crear juegos interesantes.
Para obtener tutoriales más detallados, revisa los tutoriales de Scene Graph disponibles.