> 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

Configure qualquer item para se comportar como um smart item.

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

Os smart items são apenas itens normais com um **Action** e/ou **Trigger** component. Pode adicionar estes components a qualquer item na sua Scene. Também pode importar os seus próprios modelos 3D personalizados e adicionar o mesmo a esses.

Para adicionar components a um item, clique no **ícone de mais** ao lado do nome do item e selecione, na lista pendente, o component a adicionar.

![O menu de adicionar component abre-se numa Entity, listando components agrupados em 3D Content e Interaction, incluindo Actions e Triggers.](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6a35142910f0343c27340673c61d75ed5f75f05a%2Fadd-component.png?alt=media\&token=a3fb4e60-b24d-4e2a-b9b8-45d7db23aee0)

Isto permite uma enorme quantidade de possibilidades criativas. Transforme uma vela numa alavanca que abre uma passagem secreta atrás de uma estante, reproduza sons misteriosos de dentro de um poço, transforme diamantes em itens colecionáveis que encolhem até 0 quando clicados. Há imensas formas imaginativas de combinar estes mecanismos!

## Interatividade

Pode fazer com que um item reaja a diferentes ações do jogador.

{% hint style="info" %}
**💡 Dica**: Quando um jogador interage com um item, deve mostrar algum tipo de feedback para tornar essa interação clara. Se o modelo não tiver animações, considere, pelo menos, reproduzir um som. Em alguns casos, pode funcionar fazer com que o item faça um ligeiro tween de escala e depois regresse à sua escala original, como forma de feedback.
{% endhint %}

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

* **Pointer events**: Quando o jogador clica ou prime uma tecla enquanto aponta o cursor para o item.
* **Eventos de botão globais** Quando o jogador prime uma tecla, onde quer que esteja na Scene.
* **Proximidade do jogador**: Quando o jogador entra na posição do item.

O **Trigger** component pode ser configurado para ter em conta qualquer um destes tipos de triggers. Sempre que um trigger acontece, pode chamar Actions a partir do seu próprio **Actions** component, ou a partir dos **Actions** components de outros items na Scene. Veja [Smart items - Advanced](/creator/content-creator-pt/scene-editor/interatividade/smart-items-advanced.md).

{% hint style="info" %}
**💡 Dica**: 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 sempre que o trigger acontece, apenas se as condições forem verdadeiras.

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

### Pointer events

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

* **On Click** reage sempre que o jogador clica no botão esquerdo do rato enquanto aponta para o item.
* **On Input Action** reage sempre que o jogador prime o Primary Button (E) enquanto aponta para o item.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-89527969929c803b930910be068d3fdc569a36d6%2Fon_click.png?alt=media\&token=8d37a0f4-9ec7-4bd6-8ced-ea2ffdc6c9e8)

**Colliders**

É importante que, para um item ser clicável, ele tenha um **Collider**. Caso contrário, os seus cliques vão passar diretamente através do modelo e tentar interagir com o que estiver atrás. Os modelos 3D nos Asset Packs predefinidos devem todos ter colliders, mas, se criar o seu próprio modelo ou o obtiver de outra fonte, pode descobrir que lhe falta um.

Se o seu modelo estiver sem colliders, qualquer uma das seguintes opções deve resolver o problema:

* Adicione um **Mesh Collider** component. Isto criará um collider com uma [forma primitiva](/creator/content-creator-pt/scenes-sdk7/fundamentos-de-conteudo-3d/shape-components.md#primitive-shapes) (cubo, plano, cilindro, esfera).
* Altere as propriedades da **secção Collisions** no **GLTF** component. A **camada Visible** 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 termine em `_collider`). Veja [colliders](/creator/content-creator-pt/modelacao-3d-e-animacoes/colliders.md).

{% hint style="info" %}
**💡 Dica**: Se usou o **Mesh Renderer** component para dar ao seu modelo uma forma primitiva, isso por si só não lhe dará um collider. Também tem de lhe atribuir um **Mesh Collider** .
{% endhint %}

**Personalizar eventos do ponteiro**

Pode substituir as definições predefinidas que são usadas quando um item tem um **On Click** ou um **On Input Action** Trigger Action.

* **Texto de hover**: Altere a dica que os jogadores veem ao lado do cursor quando passam o rato sobre o item. Isto pode ser muito útil para clarificar o que o seu item faz.
* **Distância máxima**: Até que distância o jogador pode estar ao interagir com o seu item.
* **Mostrar feedback**: Se não estiver selecionado, o item não tem dica de hover quando o jogador passa o cursor sobre ele.
* **Botão**: Se estiver a usar o **On Input Action** Trigger Action, pode reatribuir o **Primary (E)** predefinido para outra tecla. A dica de hover incluirá um ícone para clarificar que tecla usar. Pode usar **Secondary (F)**, ou **Actions 3 a 6** (teclas numéricas 1 a 4).

### Eventos de botão globais

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

* **On Global Click** reage sempre que o jogador clica no botão esquerdo do rato, em qualquer ponto da Scene.
* **On Global Primary** reage sempre que o jogador prime o Primary Button (E), em qualquer ponto da Scene.
* **On Global Secondary** reage sempre que o jogador prime o Secondary Button (F), em qualquer ponto da Scene.

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

### Posição do jogador

Adicione um **Trigger** component com **O jogador entra na área**, **O jogador sai da área** eventos de Trigger.

Isto reagirá quando o jogador entrar ou sair de uma área com o tamanho predefinido 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, uma vez que as dimensões deste item podem ser claramente visualizadas no Scene Editor.
{% endhint %}

## Veja também

* [Smart items - Basics](/creator/content-creator-pt/scene-editor/interatividade/smart-items.md)
* [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)
* [Combinar com código](/creator/content-creator-pt/scene-editor/expandir-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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
