# Smart Items - Básico

Algunos de los elementos del catálogo del Scene Editor son **Smart Items**. Los jugadores pueden interactuar con estos, tienen propiedades configurables y pueden activar acciones en otros smart items. Por ejemplo: puertas que se pueden abrir y cerrar, plataformas que suben y bajan, o botones y palancas que pueden activar otros elementos.

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

Puedes reconocer estos elementos en el explorador del asset pack porque tienen un ícono de rayo y un fondo de color diferente.

![](/files/e88cdc4d432dce8098ce512a8ab91abce3d67f20)

Puedes reconocer qué elementos de tu escena son smart porque tienen el ícono de rayo junto a ellos en el entity tree.

![](/files/0d11861e5aef5d40d64b36340f375a33cbed9221)

## Usar elementos

Para usar un smart item, arrástralo a la escena como cualquier otro elemento. Todos los elementos incluyen un comportamiento predeterminado; ejecuta una vista previa de la escena para probarlo.

Aquí hay algunos elementos comunes y sus comportamientos predeterminados:

* **Puertas**: Las puertas se abren o cierran cuando se hace clic en ellas. Puedes cambiar este comportamiento para que se abran con botones, trigger areas, etc.
* **Botones**: Cuando se hace clic en ellos, reproducen sonido y una animación como retroalimentación. Añade más acciones a sus trigger events para activar otros smart items.
* **Palancas**: Cuando se hace clic en ellas, cambian entre dos estados. Haz que cada posición de la palanca realice diferentes acciones en otros smart items.
* **Cofres**: Se comportan como puertas; por defecto se abren o cierran al hacer clic. Puedes colocar elementos más pequeños dentro de ellos.
* **Plataformas**: Se mueven entre dos posiciones. Usa sus acciones de tween para controlar hacia dónde se mueven, su velocidad, etc.
* **Área de trigger**: Un elemento invisible que puede activar otros smart items cuando el jugador entra en su área. Ver [Sobre trigger areas](#about-trigger-areas).
* **Video Player**: Una pantalla para mostrar videos o transmisiones en vivo. Ver [Reproducir Videos](#playing-videos).
* **Audio Stream**: Reproducir audio desde una transmisión en vivo. Ver [Reproducir Audio Streams](#playing-audio-streams)
* **NFT**: Mostrar una imagen de un NFT como retrato. Ver [Mostrar NFTs](#displaying-nfts)

Todos los smart items pueden configurarse para comportarse de formas personalizadas. Por ejemplo, qué tan lejos se mueve una plataforma o qué activa un botón.

## Configurar un elemento

Selecciona un elemento en el Scene Editor para ver todas sus propiedades a la derecha.

Algunos campos típicos que puedes encontrar en muchos elementos son:

* **Texto al pasar el cursor**: Qué texto se muestra en la UI como pista cuando el jugador pasa el cursor sobre el elemento. Por ejemplo, una puerta podría decir "Abrir"
* **Interacción**: ¿Con qué botón se activa el elemento? En un teclado típico:
  * **Primaria** es **E**
  * **Secundaria** es **F**
  * **Pointer** es **Botón izquierdo del mouse**
  * **Action3** es la tecla **1**
  * **Action4** es la tecla **2**
  * **Action5** es la tecla **3**
  * **Action6** es la tecla **4**
* **Al hacer clic**: Selecciona qué acción se realiza cuando se interactúa con el elemento, usando el botón del **Interacción** campo. Puedes activar tantas acciones como quieras; estas pueden ser acciones en ese mismo elemento o también en otros elementos.

Cada elemento tiene sus propias configuraciones específicas, que pueden variar de un elemento a otro.

Todos los elementos tienen un **Modo Avanzado** que te permite configurar casi cualquier cosa sobre ellos. Esto incluye cosas como qué sonidos se reproducen, o en qué dirección se mueve una plataforma. También puedes añadir acciones personalizadas que incluyan todo tipo de cosas, como teletransportar al jugador, reproducir animaciones del avatar, adjuntar un elemento a las manos del jugador, etc. También puedes añadir lógica condicional para activar algo solo en ciertos escenarios. Ver [Smart Items - Advanced](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md).

![](/files/cbf6fb1ff99f8225d0dbaea8a646fc9480cd4d10)

## Llamar una acción en otro elemento

Los smart items pueden activar acciones en otros smart items, de modo que ocurran cada vez que se active el elemento. Solo selecciona el elemento que quieres llamar, de una lista de todos los elementos de la escena, y luego selecciona una acción. Diferentes elementos exponen diferentes acciones.

Por ejemplo, aquí hay un botón que abre o cierra una puerta. Cada vez que se presiona el botón, la puerta se abrirá o se cerrará.

![](/files/17e634a2e7d95d8b343150d15b74f60c02e9b222)

Aquí hay una palanca que abre una puerta cuando se activa, y cierra esa puerta cuando se desactiva.

![](/files/eb55ab1e561be0d8ceb1bf6e866eb3c27a4b6214)

Puedes añadir tantas acciones diferentes de distintos elementos para que se disparen juntas como quieras. Solo haz clic en **+ Assign Action**.

Elimina acciones haciendo clic en los tres puntos junto a una acción y seleccionando *Remove action*.

También puedes encadenar acciones. Por ejemplo, si la puerta que se abre con la palanca incluye una acción en su propio **When Opened** campo, esta acción también se activará indirectamente mediante la palanca.

Si usas el [modo avanzado](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md) también puedes añadir lógica condicional a este tipo de acciones.

## Smart items especiales

Algunos smart items tienen características únicas que los hacen muy útiles para escenarios comunes:

### Áreas de trigger

Usa el smart item Trigger Area para activar una acción cuando el jugador entra en un área.

![](/files/a516d6f10b3ba1534b6120d9fb2098173fc04881)

Usa la **On Player Enters Area** y **On Player Leaves Area** tipos de trigger en el **Triggers** componentes. Las acciones de estos trigger events se activan cada vez que el jugador entra o sale del área.

![](/files/16554b16e607c820727f7c4937d6676dd4b62bba)

Consulta [Área de trigger](/creator/content-creator-es/scene-editor/interactividad/trigger-area.md) para más información.

### Paredes invisibles

Una colección de formas invisibles que pueden impedir que los jugadores pasen caminando o haciendo clic a través de un área.

Estas paredes invisibles pueden ser útiles al importar un modelo 3D que no tiene una mesh collider, o cuando quieres crear una pared que no sea visible para el jugador.

Consulta [Colliders](/creator/content-creator-es/scenes-sdk7/esenciales-de-contenido-3d/colliders.md) para más información.

### Área de clic

Un cubo invisible en el que los jugadores pueden hacer clic para activar acciones en cualquier otro smart item. Este elemento puede ser habilitado o deshabilitado por cualquier otro smart item; cuando está deshabilitado no se puede hacer clic en él. También puedes configurar el texto que los jugadores ven cuando apuntan con el cursor hacia él.

![](/files/6d2ad8d1e6c2e66fc2684bd86cc50c1ab9fa9793)

### Reproducir videos

Reproduce videos desde cualquiera de:

* **Archivos locales**
* **Stream desde una URL**
* **Transmitir en vivo desde** [**Decentraland Cast**](/creator/content-creator-es/scene-editor/operar-en-vivo/live-streaming.md#dcl-cast)
* **Transmitir en vivo desde** [**RTMP Software**](/creator/content-creator-es/scene-editor/operar-en-vivo/live-streaming.md#stream-method) **(OBS, XSplit, StreamYard, etc.)**

{% hint style="warning" %}
**📔 Nota**: Evita reproducir más de un video en un mismo momento en tu escena, porque puede afectar gravemente el rendimiento de los jugadores. Detén siempre los demás videos antes de reproducir un segundo video.
{% endhint %}

Consulta [Reproducir Videos](/creator/content-creator-es/scene-editor/interactividad/video-screen.md) para más información.

### Reproducir audio streams

Reproduce un audio stream desde una URL, usando el **Audio Stream** smart item.

{% hint style="info" %}
**📔 Nota**: No todos los servicios de streaming permiten reproducir su audio fuera de su sitio. Los siguientes son algunos ejemplos que funcionan en 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 %}

Puedes ajustar el volumen de tu stream. Ten en cuenta que el audio del stream no es posicional; se escucha con un volumen uniforme en toda tu escena.

### Mostrar NFTs

Para mostrar un NFT en un marco de imagen, usa el **NFT** smart item. Debes proporcionar los siguientes campos:

* Network

{% hint style="info" %}
**📔 Nota**: Actualmente **ethereum** es la única red compatible.
{% endhint %}

* NFT Collection Contract: El smart contract de la colección NFT.
* Token ID: El token ID de este NFT coleccionable en particular.

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

Puedes obtener esta información desde [OpenSea](https://opensea.io), revisando la **La pestaña** pestaña debajo de la imagen del NFT.

<img src="/files/f88ba56b827e4a65a652debe7def943afdb987dd" alt="Detalles de OpenSea" width="400">

{% hint style="info" %}
**📔 Nota**: También puedes obtener esta información desde la URL de opensea. Por ejemplo, si la URL del NFT es la siguiente:

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

Puedes completar los campos con lo siguiente:

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

También puedes configurar un color de fondo; esto es particularmente útil para NFTs con un fondo transparente.

También puedes elegir un **estilo de marco**, para enmarcar el NFT en una variedad de estilos diferentes, clásicos y modernos.

Consulta [Mostrar un NFT](/creator/content-creator-es/scene-editor/interactividad/smart-items.md) para más detalles.

### Barras de salud

![](/files/eb2d37c20588792deab80dc2106166cc5f79bbd5)

El **Barra de salud** smart item es un excelente bloque de construcción para varias mecánicas de juego. Puede usarse de distintas maneras:

* Anídalo debajo del **Player** para mostrar la salud del jugador sobre el avatar

  ![](/files/49f8ffada2d195cff9aea4a991fd79cbc9de280d)
* Anídalo debajo del **Camera** para mostrarlo fijo en la UI

  ![](/files/5d430193ac06c704a7380ca8c661dda031b87ed4)
* Anídalo debajo de literalmente cualquier elemento de la escena para llevar el control de la salud de ese elemento

  ![](/files/5bede84f35bb11f985f41246347996f167914a00)

Otros elementos pueden interactuar con la barra de salud para añadir o restar salud.

* Elementos como las **Púas** o **Robot Enemy** pueden reducir la salud

  ![](/files/aa51d18abcd7060901fccea45ef727f4fcd6d452)
* elementos como **Primeros auxilios** o el **Healing Pad** pueden restaurarla.

  ![](/files/32f750c96bbf53cde8509554011402ed01c3a52a)

Debes configurar la Health Bar para definir qué sucederá cuando la salud sea 0. Podrías reaparecer al jugador en la posición de un **Respawn Pad** smart item, reiniciar el contador de su puntuación, reaparecer a cualquier enemigo, mostrar un texto en la UI o lo que tenga sentido en la lógica de tu juego.

También puedes activar acciones cuando la salud sea menor que cierto valor; por ejemplo, reproducir una música especial o mostrar una pista en la UI cuando la salud sea menor que 3.

¡Las barras de salud pueden configurarse para afectar a cualquier cosa! Por ejemplo, añade una barra de salud anidada debajo del **Puerta de madera** smart item. Esta barra puede ver reducida su salud por el jugador usando el **Sword** smart item, pero también por una explosión del **Barrel** o el ataque del **Robot Enemy**. Para que esto funcione, configura la barra de salud para que realice una acción sobre su elemento padre cuando su valor sea 0.

![](/files/24bf93f0afb7e418bb4a051106855f9b880d6601)

Las armas como el **Sword** pueden ser recogidas por el jugador y luego usadas para causar daño a cualquier otro elemento con una barra de salud que esté cerca del jugador al realizar la acción.

## Multiplayer

Casi todos los smart items tienen comportamiento multijugador, de modo que todos los jugadores de la escena comparten la misma experiencia a medida que los elementos cambian de estado. Si el jugador A abre una puerta, el jugador B también ve esa puerta abierta. Si luego el jugador C entra en la escena mientras los otros jugadores todavía están allí, ella también verá la puerta ya abierta.

Sin embargo, si no hay jugadores cerca de la escena, entonces la escena vuelve a su estado predeterminado. Así que, si todos los jugadores se van y luego el jugador A regresa, encontrará la puerta cerrada (si ese era el estado predeterminado de la puerta).

Asegúrate de diseñar tu escena para que las acciones de un jugador no saboteen la escena para otros que lleguen después. Por ejemplo, si la escena es un juego de acertijos, puedes usar una *delay* acción en un smart item *tools* para que todos los elementos de la escena se reinicien a su estado inicial unos segundos después de resolver el acertijo.

También puedes deshabilitar el comportamiento multijugador de un elemento; ver [Smart Items - Advanced](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md).

## Solución de problemas

* *Un elemento en mi escena debería ser clicable, pero no se puede hacer clic*.

Asegúrate de que no esté obstruido por otra cosa. No puedes hacer clic a través de otros elementos. Algunos elementos tienen un *malla de collider* que tiene una geometría simplificada que podría estar obstruyendo tu elemento, aunque su forma visible no parezca hacerlo. Intenta mover el elemento para ver qué sucede.

## Ver también

* [Smart items - Advanced](/creator/content-creator-es/scene-editor/interactividad/smart-items-advanced.md)
* [Estados y condiciones](/creator/content-creator-es/scene-editor/interactividad/states-and-conditions.md)
* [Hacer cualquier item smart](/creator/content-creator-es/scene-editor/interactividad/make-any-item-smart.md)
* [Combinar con código](/creator/content-creator-es/scene-editor/extender-con-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-es/scene-editor/interactividad/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.
