# Smart Items - Básico

Alguns dos itens no catálogo do Scene Editor são **Smart Items**. Os players podem interagir com estes, eles têm propriedades configuráveis e podem desencadear actions noutros smart items. Por exemplo: portas que podem ser abertas e fechadas, plataformas que sobem e descem, ou botões e alavancas que podem ativar outros items.

{% embed url="<https://www.youtube.com/watch?v=z7HF4GR01hE>" %}

Pode reconhecer estes items no explorador de asset packs porque têm um ícone de raio e um fundo de cor diferente.

![](/files/14677133200a0eb3162651bf30be7390243e5dad)

Pode reconhecer quais items na sua scene são smart porque têm o ícone de raio ao lado deles na entity tree.

![](/files/24b4b6035f6f18a1783216254c7a07d00d75906d)

## Usar items

Para usar um smart item, arraste-o para a scene como qualquer outro item. Todos os items incluem um comportamento predefinido; execute uma preview da scene para o experimentar.

Aqui estão alguns items comuns e os seus comportamentos predefinidos:

* **Portas**: As portas são abertas ou fechadas quando clicadas. Pode alterar este comportamento para que sejam abertas por botões, trigger areas, etc.
* **Botões**: Quando clicados, reproduzem som e uma animação como feedback. Adicione mais actions aos seus trigger events para ativar outros smart items.
* **Alavancas**: Quando clicadas, alternam entre dois states. Faça com que cada posição da alavanca execute different actions noutros smart items.
* **Baús**: Comportam-se como portas; por predefinição, são abertos ou fechados ao clicar. Pode colocar items mais pequenos dentro deles.
* **Plataformas**: Movem-se entre duas posições. Use as suas tween actions para controlar para onde se movem, a sua velocidade, etc.
* **Área de trigger**: Um item invisível que pode desencadear outros smart items quando o player entra na sua área. Veja [Sobre trigger areas](#about-trigger-areas).
* **Video Player**: Um ecrã para mostrar videos ou live streams. Veja [Reproduzir Videos](#playing-videos).
* **Audio Stream**: Reproduza áudio a partir de um live stream. Veja [Reproduzir Audio Streams](#playing-audio-streams)
* **NFT**: Exiba uma imagem de um NFT como um retrato. Veja [Exibir NFTs](#displaying-nfts)

Todos os smart items podem ser configurados para se comportarem de formas personalizadas. Por exemplo, quão longe uma plataforma se move, ou o que um botão ativa.

## Configurar um item

Selecione um item no Scene Editor para ver todas as suas properties à direita.

Alguns campos típicos que pode encontrar em muitos items são:

* **Hover text**: Que texto é exibido na UI como dica quando o player passa o cursor sobre o item. Por exemplo, uma porta pode dizer "Abrir"
* **Interaction**: Com que botão o item é ativado? Num teclado típico:
  * **Primary** é **E**
  * **Secondary** é **F**
  * **Pointer** é **Botão esquerdo do rato**
  * **Action3** é a tecla **1**
  * **Action4** é a tecla **2**
  * **Action5** é a tecla **3**
  * **Action6** é a tecla **4**
* **Quando clicado**: Selecione que action é executada quando o item é interagido, usando o botão do campo **Interaction** . Pode ativar quantas actions quiser; estas podem ser actions nesse mesmo item ou também noutros items.

Cada item tem as suas próprias settings específicas, que podem variar de um item para outro.

Todos os items têm um **Advanced Mode** que lhe permite configurar quase tudo sobre eles. Isto inclui coisas como que sons são reproduzidos, ou em que direção uma plataforma se move. Também pode adicionar custom actions que incluem todo o tipo de coisas, como teleportar o player, reproduzir animações de avatar, anexar um item às mãos do player, etc. Também pode adicionar lógica condicional, para ativar algo apenas em certos cenários. Veja [Smart Items - Advanced](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md).

![](/files/a0296541dd7246eb81d218e061b9966cc962c39a)

## Chamar uma action noutro item

Os smart items podem desencadear actions noutros smart items, de modo a acontecerem sempre que o item é ativado. Basta selecionar o item que pretende chamar, a partir de uma lista de todos os items na scene, e depois selecionar uma action. Diferentes items expõem different actions.

Por exemplo, aqui está um botão que abre ou fecha uma porta. Sempre que o botão é premido, a porta abrirá ou fechará.

![](/files/d7e8916aa548994b3e412edba7e795fd097c6a24)

Aqui está uma alavanca que abre uma porta quando é ativada e fecha essa porta quando é desativada.

![](/files/5d7fe434c961cf833c36e1346b9b5f1c95c52e8c)

Pode adicionar quantas actions diferentes de items diferentes quiser para serem desencadeadas em conjunto. Basta clicar **+ Assign Action**.

Remova actions clicando nos três pontos ao lado de uma action e selecionando *Remove action*.

Também pode encadear actions. Por exemplo, se a porta que é aberta pela alavanca incluir uma action no seu próprio campo **When Opened** , esta action também será desencadeada indiretamente pela alavanca.

Se usar o [Advanced mode](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md) também pode adicionar lógica condicional a estes tipos de actions.

## Smart items especiais

Alguns smart items têm características únicas que os tornam muito úteis para cenários comuns:

### Trigger areas

Use o smart item Trigger Area para desencadear uma action quando o player entra numa área.

![](/files/a2ff529eecd21fd82cddab5d97cf06fb821a7e5b)

Use a **On Player Enters Area** e **On Player Leaves Area** tipos de trigger no **Triggers** components. As actions nestes trigger events são ativadas sempre que o player entra ou sai da área.

![](/files/56f0950b3484d52aac3d19344c2042a3a312bb8f)

Veja [Área de trigger](/creator/content-creator-pt/scene-editor/interatividade/trigger-area.md) para mais informações.

### Paredes invisíveis

Uma coleção de formas invisíveis que podem impedir os players de atravessar ou clicar através de uma área.

Estas paredes invisíveis podem ser úteis ao importar um modelo 3D que não tenha uma collider mesh, ou quando quiser criar uma parede que não seja visível para o player.

Veja [Colliders](/creator/content-creator-pt/scenes-sdk7/essenciais-de-conteudo-3d/colliders.md) para mais informações.

### Área de clique

Um cubo invisível que pode ser clicado pelos players para desencadear actions em qualquer outro smart item. Este item pode ser ativado ou desativado por qualquer outro smart item; quando desativado, não poderá ser clicado. Também pode definir o texto que os players veem quando apontam o cursor para ele.

![](/files/53d9d4fc914e8a79654459a0d31bbfc2a96e3058)

### Reproduzir videos

Reproduza videos a partir de:

* **Ficheiros locais**
* **Stream a partir de uma URL**
* **Stream em direto a partir de** [**Decentraland Cast**](/creator/content-creator-pt/scene-editor/operar-em-direto/live-streaming.md#dcl-cast)
* **Stream em direto a partir de** [**RTMP Software**](/creator/content-creator-pt/scene-editor/operar-em-direto/live-streaming.md#stream-method) **(OBS, XSplit, StreamYard, etc.)**

{% hint style="warning" %}
**📔 Nota**: Evite reproduzir mais do que um video em qualquer momento na sua scene, porque isso pode afetar severamente o desempenho para os players. Pare sempre os outros videos antes de reproduzir um segundo video.
{% endhint %}

Veja [Reproduzir Videos](/creator/content-creator-pt/scene-editor/interatividade/video-screen.md) para mais informações.

### Reproduzir audio streams

Reproduza um audio stream a partir de uma URL, usando o **Audio Stream** smart item.

{% hint style="info" %}
**📔 Nota**: Nem todos os serviços de streaming permitem que reproduza o respetivo áudio fora do respetivo site. Os seguintes são alguns exemplos que funcionam em Decentraland:

```ts
GRAFFITI = 'https://n07.radiojar.com/2qm1fc5kb.m4a?1617129761=&rj-tok=AAABeIR7VqwAilDFeUM39SDjmw&rj-ttl=5'
SIGNS = 'https://edge.singsingmusic.net/MC2.mp3'
DELTA = 'https://cdn.instream.audio/:9069/stream?_=171cd6c2b6e'
JAZZ = 'https://live.vegascity.fm/radio/8010/the_flamingos.mp3'
```

{% endhint %}

Pode ajustar o volume do seu stream. Note que o áudio do stream não é posicional; é ouvido com um volume uniforme em toda a sua scene.

### Exibir NFTs

Para exibir um NFT numa picture frame, use o **NFT** smart item. Tem de fornecer os seguintes fields:

* Network

{% hint style="info" %}
**📔 Nota**: Atualmente **ethereum** é a única network suportada.
{% endhint %}

* NFT Collection Contract: O smart contract da coleção de NFT.
* Token ID: O ID do token deste NFT colecionável específico.

<img src="/files/b58ee156c19c83b0a7f3465d1377ebd15dbf9d75" alt="NFT shape" width="400">

Pode obter esta informação em [OpenSea](https://opensea.io), verificando o **Separador** tab sob a imagem do NFT.

<img src="/files/6a3026ff05b9305c1ddfe902e2909392859fcc35" alt="OpenSea details" width="400">

{% hint style="info" %}
**📔 Nota**: Também pode obter esta informação a partir do URL da OpenSea. Por exemplo, se o URL do NFT for o seguinte:

> `https://opensea.io/assets/ethereum/0x32b7495895264ac9d0b12d32afd435453458b1c6/1956`

Pode preencher os fields com o seguinte:

* Network: ethereum
* Contract: 0x32b7495895264ac9d0b12d32afd435453458b1c6
* Token: 1956
  {% endhint %}

Também pode configurar uma cor de fundo; isto é particularmente útil para NFTs com fundo transparente.

Também pode escolher um **Frame style**, para enquadrar o NFT numa variedade de estilos diferentes, clássicos e modernos.

Veja [Exibir um NFT](/creator/content-creator-pt/scene-editor/interatividade/smart-items.md) para mais detalhes.

### Barras de vida

![](/files/7e2fe48ba229631007a9f1e4cdc03dcb2d3f2ace)

O **Health Bar** smart item é um excelente bloco de construção para vários game mechanics. Pode ser usado de várias formas:

* Anexe-o sob o **Player** para exibir a vida do player acima do avatar

  ![](/files/e907eaf1deb2599360b819f4b54a855882131e88)
* Anexe-o sob o **Camera** para exibi-lo fixo na UI

  ![](/files/78334b889d923fd3c63ece719ce1560416644532)
* Anexe-o sob literalmente qualquer item na scene para acompanhar a vida desse item

  ![](/files/c5b351b51b0da6472a273df6fc9c1b49bf183efc)

Outros items podem interagir com a barra de vida para lhe adicionar ou subtrair vida.

* Items como os **Spikes** ou **Robot Enemy** podem reduzir a vida

  ![](/files/212fc1ba3e8c30f08e0763973d528a7f94e14125)
* items como **First Aid** ou o **Healing Pad** podem restaurá-la.

  ![](/files/6fd6a581f6bdaa0a186c8d07e3fe9544644338ed)

Tem de configurar a Health Bar para definir o que acontecerá quando a vida for igual a 0. Pode reaparcer o player na posição de um smart item **Respawn Pad** , reiniciar o contador da sua pontuação, reaparcer quaisquer inimigos, exibir um texto de UI, ou o que fizer sentido na sua lógica de jogo.

Também pode desencadear actions quando a vida for inferior a um certo valor; por exemplo, reproduzir uma música especial ou mostrar uma dica de UI quando a vida for inferior a 3.

As barras de vida podem ser configuradas para afetar qualquer coisa! Por exemplo, adicione uma barra de vida aninhada sob o **Wooden Door** smart item. Esta barra pode ter a sua vida reduzida pelo player usando o **Sword** smart item, mas também por uma explosão do **Barrel** ou pelo ataque do **Robot Enemy**. Para isto funcionar, configure a barra de vida para executar uma action no seu item pai quando o seu valor for 0.

![](/files/58bb7a6aea1fedad679add1fdc2fcb51016024c9)

Armas como a **Sword** podem ser apanhadas pelo player e depois usadas para causar dano em qualquer outro item com uma barra de vida que esteja perto do player ao executar a action.

## Multiplayer

Quase todos os smart items têm comportamento multiplayer, de modo a que todos os players na scene partilhem a mesma experiência à medida que os items mudam de state. Se o player A abrir uma porta, o player B também vê essa porta aberta. Se o player C entrar depois na scene enquanto os outros players ainda lá estiverem, também verá a porta já aberta.

No entanto, se não houver players perto da scene, então a scene é restaurada ao seu state predefinido. Assim, se todos os players saírem, mas depois o player A voltar, encontrará a porta fechada (se esse era o state predefinido da porta).

Certifique-se de que concebe a sua scene de forma a que as actions de um player não sabotem a scene para outros que venham mais tarde. Por exemplo, se a scene for um jogo de puzzle, pode usar um *atraso* action num smart item de *ferramentas* para fazer com que todos os items na scene reiniciem para o seu state inicial alguns segundos depois de o puzzle ser resolvido.

Também pode desativar o comportamento multiplayer de um item, veja [Smart Items - Advanced](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md).

## Resolução de problemas

* *Um item na minha scene deveria ser clicável, mas não pode ser clicado*.

Certifique-se de que não está a ser obstruído por outra coisa. Não pode clicar através de outros items. Alguns items têm um *mesh de collider* que tem uma geometria simplificada que pode estar a obstruir o seu item, mesmo que a sua forma visível não pareça fazê-lo. Tente mover o item para ver o que acontece.

## Veja também

* [Smart Items - Advanced](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md)
* [States and conditions](/creator/content-creator-pt/scene-editor/interatividade/states-and-conditions.md)
* [Tornando qualquer item smart](/creator/content-creator-pt/scene-editor/interatividade/make-any-item-smart.md)
* [Combine com código](/creator/content-creator-pt/scene-editor/expandir-com-codigo/overview.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scene-editor/interatividade/smart-items.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
