> 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-es/scene-editor/interactividad/make-any-item-smart.md).

# Haz smart cualquier item

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

Los smart items son simplemente items normales con un **Action** y/o **Trigger** component. Puedes añadir estos componentes a cualquier item en tu escena. También puedes importar tus propios modelos 3D personalizados y añadirles lo mismo.

Para añadir componentes a un item, haz clic en el **Plus Icon** junto al nombre del item y selecciona qué componente añadir de la lista desplegable.

![](/files/e5a434a629dfa50bb1da7f2a58d249099e9c23a2)

Esto permite una enorme cantidad de posibilidades creativas. Convierte una vela en una palanca que abre un pasaje secreto detrás de una estantería, reproduce sonidos misteriosos desde dentro de un pozo, convierte diamantes en items coleccionables que se reducen a 0 cuando se hace clic en ellos. ¡Hay muchísimas maneras imaginativas de combinar estas mecánicas!

## Interactividad

Puedes hacer que un item reaccione a diferentes acciones del jugador.

{% hint style="info" %}
**💡 Consejo**: Cuando un jugador interactúa con un item, debes mostrar algún tipo de feedback para que esa interacción quede clara. Si el modelo no tiene animaciones, al menos considera reproducir un sonido. En algunos casos podría funcionar hacer que el item haga un ligero tween en la escala y luego vuelva a su escala original, como forma de feedback.
{% endhint %}

Agrega un **Trigger** component, para detectar diferentes acciones del jugador:

* **Eventos del puntero**: Cuando el jugador hace clic o pulsa una tecla mientras apunta con su cursor al item.
* **Eventos globales de botón** Cuando el jugador pulsa una tecla, esté donde esté en la escena.
* **Proximidad del jugador**: Cuando el jugador entra en la posición del item.

El **Trigger** component puede configurarse para tener en cuenta cualquiera de estos tipos de triggers. Cada vez que ocurre un trigger, puede llamar a Actions desde su propio **Actions** component, o desde los **Actions** components de otros items en la escena. Ver [Smart items - Advanced](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md).

{% hint style="info" %}
**💡 Consejo**: También puedes combinar estos triggers con [lógica condicional](/creator/content-creator-es/scene-editor/interactividad/states-and-conditions.md), para que las actions no se llamen cada vez que ocurra el trigger, solo si las condiciones son verdaderas.

Por ejemplo, podrías añadir un **Pointer Events** trigger a una puerta, de modo que se abra al hacer clic, pero incluir lógica condicional para que solo se abra si está desbloqueada.
{% endhint %}

### Eventos del puntero

Agrega un **Trigger** component con **On Click** ni **On Input Action** eventos Trigger.

* **On Click** reacciona cada vez que el jugador hace clic con el botón izquierdo del mouse mientras apunta al item.
* **On Input Action** reacciona cada vez que el jugador pulsa el Botón Primario (E) mientras apunta al item.

![](/files/2ff8afcc714d713dc136339f41641d4c8e7f99e5)

**Colliders**

Es importante que, para que un item sea clicable, debe tener un **Collider**. De lo contrario, tus clics atravesarán directamente el modelo e intentarán interactuar con lo que haya detrás. Los modelos 3D de los Asset Packs predeterminados deberían tener colliders, pero si creas tu propio modelo o lo obtienes de otro lugar, puede que le falte uno.

Si a tu modelo le faltan colliders, cualquiera de las siguientes opciones debería solucionarlo:

* Agrega un **Mesh Collider** component. Esto creará un collider con una [forma primitiva](/creator/content-creator-es/escenas-sdk7/conceptos-basicos-de-contenido-3d/shape-components.md#primitive-shapes) forma primitiva (cubo, plano, cilindro, esfera).
* Cambia las propiedades de la **Collisions** sección del **GLTF** component. El **Visible layer** debe asignarse a **Puntero**.
* Edita el modelo 3D en Blender para incluir una geometría de collider invisible (cualquier malla con un nombre que termine en `_collider`). Ver [colliders](/creator/content-creator-es/modelado-3d-y-animaciones/colliders.md).

{% hint style="info" %}
**💡 Consejo**: Si usaste el **Mesh Renderer** component para darle a tu modelo una forma primitiva, eso por sí solo no le dará un collider. También debes asignarle un **Mesh Collider** component.
{% endhint %}

**Personaliza los eventos del puntero**

Puedes sobrescribir la configuración predeterminada que se usa cuando un item tiene un **On Click** o un **On Input Action** Trigger Action.

* **Texto al pasar el cursor**: Cambia la pista que ven los jugadores junto al cursor al pasar sobre el item. Esto puede ser muy útil para aclarar qué hace tu item.
* **Distancia máxima**: A qué distancia puede estar el jugador al interactuar con tu item.
* **Mostrar feedback**: Si está desmarcado, el item no tendrá pista al pasar el cursor sobre él.
* **Botón**: Si usas el **On Input Action** Trigger Action, puedes reasignar el valor predeterminado **Primary (E)** a otra tecla. La pista al pasar el cursor incluirá un icono para aclarar qué tecla usar. Puedes usar **Secondary (F)**, o **Actions 3 a 6** (las teclas numéricas 1 a 4).

### Eventos globales de botón

Agrega un **Trigger** component con **Al hacer clic globalmente**, **Al pulsar Primary globalmente** ni **Al pulsar Secondary globalmente** eventos Trigger.

* **Al hacer clic globalmente** reacciona cada vez que el jugador hace clic con el botón izquierdo del mouse, en cualquier parte de la escena.
* **Al pulsar Primary globalmente** reacciona cada vez que el jugador pulsa el Botón Primario (E), en cualquier parte de la escena.
* **Al pulsar Secondary globalmente** reacciona cada vez que el jugador pulsa el Botón Secundario (F), en cualquier parte de la escena.

{% hint style="info" %}
**💡 Consejo**: A menudo tiene sentido combinar esto con [States and conditions](/creator/content-creator-es/scene-editor/interactividad/states-and-conditions.md), para que los items solo reaccionen al evento del botón si el jugador está en la habitación, o se cumple alguna otra condición.
{% endhint %}

### Posición del jugador

Agrega un **Trigger** component con **Player Enters Area**, **Player Leaves Area** eventos Trigger.

Esto reaccionará cuando el jugador entre o salga de un área de tamaño predeterminado 1x1x1, posicionada en el centro del item.

{% hint style="info" %}
**💡 Consejo**: A menudo es mejor usar el [**Trigger Area**](/creator/content-creator-es/scene-editor/interactividad/smart-items.md#trigger-areas) smart item en su lugar, ya que las dimensiones de este item pueden visualizarse claramente en el Scene Editor.
{% endhint %}

## Ver también

* [Smart items - Basics](/creator/content-creator-es/scene-editor/interactividad/smart-items.md)
* [Smart items - Advanced](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md)
* [States and conditions](/creator/content-creator-es/scene-editor/interactividad/states-and-conditions.md)
* [Combinar con código](/creator/content-creator-es/scene-editor/extender-con-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-es/scene-editor/interactividad/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.
