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.
📔 Nota: El Pointer Events Component solo proporciona retroalimentación. Para realizar acciones cuando se interactúa con una Entity, ver Haz inteligente cualquier item
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.
📔 Nota: Existen otros components en el SDK que actualmente solo son utilizables mediante código. También puedes crear tus propios Custom components mediante código; estos no tendrán una representación en la UI, pero pueden añadirse y editarse por código.
Ver Combine con code para ver cómo editar el código de tu escena.
También ten en cuenta que una Entity solo puede contener uno de cada Component. No es posible asignar una segunda instancia de un Component que ya exista en la entity. Por ejemplo, no puedes añadir dos Actions components a la misma Entity.
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