Entities and Components
Entenda como os components de um item funcionam
Selecione um item clicando nele no canvas ou na Entity tree. Em seguida, você verá seus Components exibidos no Properties panel, à direita da tela. Itens diferentes têm Components diferentes, e cada um exibe configurações específicas.

A maioria dos itens não interativos tem os seguintes Components:
Transform: Define a posição, rotação e escala do item. Se o item for filho de outro item no Entity Tree, esses valores são relativos aos do parent.
GLTF: Qual modelo 3D carregar. Inclui o caminho local para o arquivo desse modelo 3D. Também inclui algumas propriedades para configurar colliders no model.
Os items na sua scene são todos Entities. Tudo em uma scene é uma Entity; elas são os blocos de construção básicos das scenes. Items são Entities que têm pelo menos uma posição e uma forma visível.
Adicionar components
Para adicionar Components a qualquer Entity, clique no + sinal no topo da aba de properties e selecione o Component na lista. Veja Tornar qualquer item smart

Você pode excluir qualquer Component de uma Entity clicando no ícone de três pontos à direita dele e selecionando Delete Component.
Criar uma Entity do zero
Para criar uma nova Entity, clique com o botão direito na raiz Scene Entity na Entity tree, ou em qualquer outra Entity, e selecione Add Child

Isso cria uma Entity vazia com apenas um Transform Component. A nova Entity é filha da Entity pai em que você clicou. Depois, você pode adicionar quaisquer outros Components que quiser para moldá-la em qualquer coisa que desejar.
Components disponíveis
Os seguintes Components podem ser adicionados a qualquer Entity pela UI do Scene Editor:
Mesh Renderer: Dá à Entity uma forma visível com base em uma forma primitiva (cubo, plano, cilindro ou esfera).
Mesh Collider: Dá à Entity uma geometria de collider invisível. Isso pode bloquear o player de atravessar o item e/ou torná-lo clicável. Veja collider.
Material: Define a cor, textura e outras propriedades de uma Entity que tem um Mesh Renderer Component. Veja materials.
**📔 Nota**: o item deve ter um Component **Mesh Renderer**. Isso não afeta itens com uma forma visível **GLTF**.
Visibility: Define se uma Entity é invisível.
Light Source: Adiciona uma luz à Entity.
Swap Material: Troca o material de uma Entity que tem um GLTF component. Se o modelo 3D tiver vários meshes, você pode trocar o material de cada mesh individualmente.
Audio Source: Toca um som de um arquivo de som na localização da Entity. Veja Sounds.
Text Shape: Exibe texto no espaço 3D. Veja Text.
Pointer Events: Marca uma Entity como clicável, exibindo uma dica de hover.
📔 Observação: A Pointer Events Component fornece apenas feedback. Para executar ações quando uma Entity for interagida, veja Tornar qualquer item smart
Multiplayer: Compartilha quaisquer alterações que aconteçam com a Entity para que todos os players na scene também as vejam. Pode ser configurado para compartilhar alterações apenas em certos components. Veja Serverless Multiplayer para mais detalhes.
Animator: Controla a reprodução de animações em uma Entity com um GLTF 3D model. Veja animações do 3D model.
Tween: Faz a Entity mover-se, girar ou escalar gradualmente ao longo de um período de tempo. Veja Move entities.
Billboard: Faz a Entity girar sempre para encarar o player. Veja Encare o usuário.
Avatar Attach: Prende a Entity ao avatar do player, para que ela o acompanhe. Veja Prender uma entity a um avatar.
Video Player: Reproduz um vídeo dentro da scene, que pode ser exibido na Entity por meio de sua Material. Veja Reprodução de vídeo.
NFT Shape: Exibe a imagem de um NFT dentro de uma moldura. Veja Exibir um NFT.
Particle System: Emite partículas a partir da localização da Entity, para efeitos como fumaça, fogo ou brilhos. Veja sistemas de partículas.
Virtual Camera: Define um ângulo de câmera personalizado para o qual a scene pode alternar a visão do player. Veja Camera.
Script: Anexa um módulo de código personalizado à Entity, com parâmetros que você pode configurar pela UI. Veja Componente Script.
📔 Observação: Outros components existem no SDK que atualmente só podem ser usados via code. Você também pode criar seus próprios components personalizados via code; eles não terão representação na UI, mas podem ser adicionados e editados via code.
Veja Combinar com código para saber como editar o código da sua scene.
Observe também que uma Entity só pode conter um de cada Component. Não é possível atribuir uma segunda instância de um Component que já existe na entity. Por exemplo, você não pode adicionar dois Actions components à mesma Entity.
Smart items
Smart items também podem incluir components especiais que controlam a interatividade da Entity. Normalmente, esses são:
Actions: Lista todas as ações possíveis que o item pode realizar.
Triggers: Determina quando as ações do componente Actions são executadas.
States: Mantém o controle do estado atual do item. O state pode ser usado para lógica condicional, para acionar certas ações apenas se o item estiver em determinado state.
Counter: Mantém o controle de um counter. O counter pode ser usado para lógica condicional, para acionar certas ações apenas se o valor do counter for igual/maior/menor que um valor dado.
Veja Smart items avançados para mais detalhes.
Sobre Entities e components
Tudo em uma scene é uma Entity. Todos os items e smart items na scene são Entities.
Todas as características de uma Entity são determinadas por seus components. Eles definem o que a Entity é, onde ela está, como soa e como se comporta. Por exemplo, um Transform component armazena as coordenadas, rotação e escala da Entity. Um MeshRenderer component dá à Entity uma forma visível (como um cubo ou uma esfera), e um Material component dá à Entity uma cor ou textura.
Os valores nos components podem mudar ao longo do tempo. No Scene Editor, você configura os valores iniciais desses components. Mas, depois que sua scene está em execução, as ações do player ou a passagem do tempo podem alterar esses valores.
Por exemplo, um Smart Item de plataforma móvel tem uma posição inicial que você define por meio de seu Transform component, mas depois que as ações desse item fazem com que ele se mova, seu Transform terá valores diferentes.
Veja Entities e components para uma análise aprofundada desse conceito e de como eles são usados pelas scenes do Decentraland.
Atualizado