Entities y Components

Entiende cómo funcionan los components de un ítem

Selecciona un elemento haciendo clic en él en el lienzo o en el entity tree. Después verás sus componentes mostrados en el properties panel, a la derecha de la pantalla. Diferentes elementos tienen diferentes componentes que muestran cada uno ajustes específicos.



La mayoría de los elementos no interactivos tienen los siguientes componentes:

  • Transform: Establece la posición, rotación y escala del elemento. Si el elemento es hijo de otro elemento en el Entity Tree, estos valores son relativos a los del padre.

  • GLTF: Qué modelo 3D cargar. Incluye la ruta local al archivo de este modelo 3D. También incluye algunas propiedades para configurar colliders en el modelo.

Los elementos de tu escena son todos Entities. Todo en una escena es una Entity, son los bloques de construcción básicos de las escenas. Los elementos son Entities que tienen al menos una posición y una forma visible.

Agregar componentes

Para agregar Components a cualquier Entity, haz clic en el + ícono en la parte superior de la pestaña de propiedades y selecciona el Component de la lista. Ver Haz inteligente cualquier item



Puedes eliminar cualquier Component de una Entity haciendo clic en el ícono de los tres puntos a su derecha y seleccionando Delete Component.

Crear una entity desde cero

Para crear una nueva Entity, haz clic derecho en la raíz Scene Entity en el Entity tree, o en cualquier otra Entity, y selecciona Add Child



Esto crea una Entity vacía con solo un Transform Component. La nueva entity es hija de la entity padre en la que hiciste clic. Luego puedes añadir cualquier otro Component que quieras para darle la forma que desees.

Componentes disponibles

Los siguientes Components pueden añadirse a cualquier Entity a través de la UI del Scene Editor:

  • Mesh Renderer: Le da a la Entity una forma visible basada en una forma primitiva (cubo, plano, cilindro, cono o esfera).

  • Mesh Collider: Le da a la Entity una geometría de collider invisible. Esto puede impedir que el jugador atraviese el elemento y/o puede hacerlo clicable. Ver collider.

  • Material: Define el color, la textura y otras propiedades de una Entity que tiene un Mesh Renderer Component. Ver materials.

    {% hint style="warning" %} 📔 Nota: El elemento Debe tener un Mesh Renderer Component. No afecta a los elementos con una GLTF visible shape. {% endhint %}

  • Visibility: Define si una Entity es invisible.

  • Light Source: Añade una luz a la Entity.

  • Swap Material: Cambia el material de una Entity que tiene un GLTF component. Si el modelo 3D tiene múltiples meshes, puedes cambiar el material de cada mesh individualmente.

  • Audio Source: Reproduce un sonido desde un archivo de sonido en la ubicación de la Entity. Ver Sounds.

  • Text Shape: Muestra texto en el espacio 3D. Ver Text.

  • Pointer Events: Marca una Entity como clicable, mostrando un hover-hint.

circle-exclamation
  • Multiplayer: Comparte cualquier cambio que suceda en la Entity para que todos los jugadores en la escena también lo vean. Puede configurarse para compartir cambios solo en ciertos components. Ver Serverless Multiplayer para más detalles.

circle-exclamation

Smart items

Smart items también pueden incluir componentes especiales que Controlan la interactividad de la Entity. Estos son típicamente:

  • Actions: Lista todas las posibles acciones que el elemento puede realizar.

  • Triggers: Determina cuándo se ejecutan las acciones del componente Actions.

  • States: Lleva el registro del estado actual del elemento. El state puede usarse para lógica condicional, para que solo se disparen ciertas acciones si el elemento está en cierto estado.

  • Counter: Lleva el registro de un contador. El contador puede usarse para lógica condicional, para que solo se disparen ciertas acciones si el valor del contador es igual/mayor/menor que un valor dado.

Ver Smart items avanzados para más detalles.

Acerca de entities y components

Todo en una escena es una Entity. Todos los elementos y smart items en la escena son Entities.

Todas las características de una Entity están determinadas por sus components. Estos definen qué es la Entity, dónde está, cómo suena y cómo se comporta. Por ejemplo, un Transform component almacena las coordenadas, rotación y escala de la Entity. Un MeshRenderer component le da a la Entity una forma visible (como un cubo o una esfera), y un Material component le da a la Entity un color o textura.

Los valores en los components pueden cambiar con el tiempo. En el Scene Editor configuras los valores iniciales para estos components. Pero una vez que tu escena está en ejecución, las acciones del jugador o el paso del tiempo pueden cambiar esos valores.

Por ejemplo, un Smart Item plataforma en movimiento tiene una posición inicial que configuras mediante su Transform component, pero después de que las acciones de este elemento lo hagan moverse, su Transform tendrá valores diferentes.

Ver Entities y components para una mirada en profundidad a este concepto y cómo los usan las escenas de Decentraland.

Última actualización