> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-pt/scene-editor/interatividade/make-any-item-smart.md).

# Torne qualquer item smart

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

Smart items são apenas itens normais com um **Action** e/ou **Trigger** component. Você pode adicionar estes components a qualquer item na sua Scene. Você também pode importar seus próprios modelos 3D personalizados e adicionar o mesmo a eles.

Para adicionar components a um item, clique no **Ícone de mais** ao lado do nome do item, e selecione qual component adicionar na lista suspensa.

![](/files/c07055b5d0f49ff93d567390dde9a43be353f582)

Isso permite uma enorme quantidade de possibilidades criativas. Transforme uma vela em uma alavanca que abre uma passagem secreta atrás de uma estante de livros, reproduza sons misteriosos de dentro de um poço, transforme diamantes em itens coletáveis que encolhem até 0 quando clicados. Há toneladas de maneiras imaginativas de combinar estas mecânicas!

## Interatividade

Você pode fazer um item reagir a diferentes ações do jogador.

{% hint style="info" %}
**💡 Dica**: Quando um jogador interage com um item, você deve mostrar algum tipo de feedback para deixar essa interação clara. Se o model não tiver nenhuma animação, considere ao menos reproduzir um som. Em alguns casos, pode funcionar fazer o item realizar um pequeno tween de escala e depois voltar à sua escala original, como forma de feedback.
{% endhint %}

Adicione um **Trigger** component, para detectar diferentes ações do jogador:

* **Eventos de ponteiro**: Quando o jogador clica ou pressiona uma tecla enquanto aponta o cursor para o item.
* **Eventos globais de botão** Quando o jogador pressiona uma tecla, onde quer que esteja na Scene.
* **Proximidade do jogador**: Quando o jogador caminha até a posição do item.

O **Trigger** component pode ser configurado para reconhecer qualquer um destes tipos de triggers. Sempre que um trigger acontece, ele pode chamar Actions do seu próprio **Actions** component, ou do **Actions** components de outros itens na Scene. Veja [Smart Items - Avançado](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md).

{% hint style="info" %}
**💡 Dica**: Você também pode combinar estes triggers com [lógica condicional](/creator/content-creator-pt/scene-editor/interatividade/states-and-conditions.md), para que as actions não sejam chamadas toda vez que o trigger acontece, apenas se as conditions forem verdadeiras.

Por exemplo, você poderia adicionar um **Pointer Events** trigger a uma porta, para que ela abra quando clicada, mas inclua lógica condicional para que ela só abra se estiver destrancada.
{% endhint %}

### Eventos de ponteiro

Adicione um **Trigger** component com **On Click** ou **On Input Action** Eventos de Trigger.

* **On Click** reage toda vez que o jogador clica com o botão esquerdo do mouse enquanto aponta para o item.
* **On Input Action** reage toda vez que o jogador pressiona o Primary Button (E) enquanto aponta para o item.

![](/files/42fa8bf6904babc6e79e962d85dead347adea316)

**Colliders**

É importante que, para um item ser clicável, ele precise ter um **Collider**. Caso contrário, seus cliques passarão direto pelo model e tentarão interagir com o que estiver atrás. Os modelos 3D nos Asset Packs padrão devem todos ter colliders, mas se você criar seu próprio model ou obtiver um de outro lugar, poderá descobrir que ele está sem um.

Se o seu model estiver sem colliders, qualquer uma das opções a seguir deve corrigir isso:

* Adicione um **Mesh Collider** component. Isso criará um collider com um [formato primitivo](/creator/content-creator-pt/cenas-sdk7/nocoes-essenciais-de-conteudo-3d/shape-components.md#primitive-shapes) (cubo, plano, cilindro, esfera).
* Altere as propriedades do **Collisions** section no **GLTF** component. O **Visible layer** deve ser atribuída a **Pointer**.
* Edite o modelo 3D no Blender para incluir uma geometria collider invisível (qualquer mesh com um nome que termina em `_collider`). Veja [colliders](/creator/content-creator-pt/modelagem-3d-e-animacoes/colliders.md).

{% hint style="info" %}
**💡 Dica**: Se você usou o **Mesh Renderer** component para dar ao seu model uma forma primitiva, isso sozinho não lhe dará um collider. Você também deve atribuir a ele um **Mesh Collider** component.
{% endhint %}

**Personalizar eventos de ponteiro**

Você pode substituir as configurações padrão usadas quando um item tem um **On Click** ou um **On Input Action** Trigger Action.

* **Texto ao passar o cursor**: Altere a dica que os jogadores veem ao lado do cursor ao passar o mouse sobre o item. Isso pode ser muito útil para esclarecer o que seu item faz.
* **Distância máxima**: A que distância o jogador pode estar ao interagir com o seu item.
* **Mostrar feedback**: Se desmarcado, o item não terá dica ao passar o mouse quando o jogador passar o cursor sobre ele.
* **Botão**: Se estiver usando o **On Input Action** Trigger Action, você pode reatribuir o padrão **Primary (E)** para outra tecla. A dica ao passar o mouse incluirá um ícone para esclarecer qual tecla usar. Você pode usar **Secondary (F)**, ou **Actions 3 a 6** (teclas numéricas 1 a 4).

### Eventos globais de botão

Adicione um **Trigger** component com **On Global Click**, **On Global Primary** ou **On Global Secondary** Eventos de Trigger.

* **On Global Click** reage toda vez que o jogador clica com o botão esquerdo do mouse, em qualquer lugar na Scene.
* **On Global Primary** reage toda vez que o jogador pressiona o Primary Button (E), em qualquer lugar na Scene.
* **On Global Secondary** reage toda vez que o jogador pressiona o Secondary Button (F), em qualquer lugar na Scene.

{% hint style="info" %}
**💡 Dica**: Muitas vezes faz sentido combinar isso com [Estados e condições](/creator/content-creator-pt/scene-editor/interatividade/states-and-conditions.md), para que os itens só reajam ao evento do botão se o jogador estiver na sala, ou alguma outra condição.
{% endhint %}

### Posição do jogador

Adicione um **Trigger** component com **Player Enters Area**, **Player Leaves Area** Eventos de Trigger.

Isso reagirá quando o jogador entrar ou sair de uma área com tamanho padrão de 1x1x1, posicionada no centro do item.

{% hint style="info" %}
**💡 Dica**: Muitas vezes é melhor usar o [**Trigger Area**](/creator/content-creator-pt/scene-editor/interatividade/smart-items.md#trigger-areas) smart item em vez disso, já que as dimensões deste item podem ser visualizadas claramente no Scene Editor.
{% endhint %}

## Veja também

* [Smart items - Noções básicas](/creator/content-creator-pt/scene-editor/interatividade/smart-items.md)
* [Smart Items - Avançado](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md)
* [Estados e condições](/creator/content-creator-pt/scene-editor/interatividade/states-and-conditions.md)
* [Combinar com código](/creator/content-creator-pt/scene-editor/estenda-com-codigo/overview.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scene-editor/interatividade/make-any-item-smart.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
