For the complete documentation index, see llms.txt. This page is also available as Markdown.

Smart Items - Avanzado

Usa smart items en tu escena para añadir interactividad.

La mayoría de los smart items tienen un módulo básico donde puedes configurar solo los ajustes más comunes de forma sencilla, pero puedes desplazarte hacia abajo más allá del Avanzado marcador para personalizar casi cualquier cosa sobre cómo se comporta el item.

El siguiente item tiene un componente Transform y un módulo básico que expone solo los campos básicos para configurar un botón. Pero si te desplazas hacia abajo más allá del Avanzado marcador, encontrarás todos los ajustes disponibles.



📔 Nota: La mayoría de los ajustes del módulo básico también están disponibles en los componentes más abajo. Los cambios realizados en el módulo básico se reflejan en los componentes más abajo y viceversa, excepto en algunos casos en los que los ajustes básicos son una abstracción de múltiples ajustes más abajo. En esos casos, cambiar los ajustes avanzados a valores que no son compatibles con el módulo básico hará que el campo del módulo básico se marque como undefined.

Configuración avanzada

Las propiedades se agrupan en components. Diferentes smart items pueden tener components diferentes, dependiendo de su funcionalidad.

El comportamiento de la mayoría de los items está controlado por:

  • Actions: El componente Actions define cosas que el item puede hacer. Por ejemplo, reproducir un sonido, reproducir una animación, moverse hacia arriba o volverse invisible.

  • Triggers: El componente Triggers asigna qué eventos hacen que esas acciones sucedan. Por ejemplo, cuando el player hace click en el item, cuando el player entra en un área o cuando la scene se carga por primera vez.

Por ejemplo, en un smart item de puerta, el Actions component incluye las acciones "Open" y "Close". El Triggers component en ese item incluye un On Click trigger que activa la acción "Open" cuando el jugador hace click en la puerta.

Los triggers de un smart item pueden activar acciones en cualquier smart item de la scene, no solo en ese mismo smart item. Por ejemplo, un smart item de botón puede tener un Triggers component que activa la acción "move up" definida en el Actions component de una plataforma flotante.

Los triggers también pueden ocurrir condicionalmente. Por ejemplo, los smart items de puerta incluyen dos On Click triggers en su componente Triggers: uno abre la puerta si estaba cerrada, el otro la cierra si estaba abierta. Para más detalles ver Estados y lógica condicional.

Interacciones entre items

Para hacer que los items interactúen entre sí:

  • Un item necesita tener al menos una acción definida en un Actions component.

  • El otro item necesita un trigger en el Triggers component que apunte a esa acción.

Por ejemplo, para hacer que un botón abra una puerta:

  1. Añade cualquier smart item de botón, abre su Triggers component. Tiene un evento trigger predeterminado que reproduce un sonido y una animación para el botón en sí.

  2. Haz click en el + signo junto a Assigned Actions, para añadir una tercera acción en ese mismo evento trigger.

  3. Selecciona el smart item de la puerta en el primer desplegable.

  4. En el segundo desplegable, selecciona la acción "Open".



💡 Consejo: Puedes crear en su lugar un nuevo evento Trigger que solo gestione la acción de la puerta. Ambos eventos trigger se llaman cada vez que se hace click en el botón.



Cualquier item puede activar cualquier acción de cualquier otro item, siempre que la acción esté definida. Consulta Triggers para ver más formas en que se puede activar una acción.

Puedes usar estados y lógica condicional para activar una acción solo si se cumple una condición. La condición puede incluso comprobar el estado de un tercer smart item. Por ejemplo, un botón solo abre la puerta si el smart item personalizado "power generator" tiene su estado establecido en "On".

Actions

El Actions El componente Actions enumera las acciones que el item puede realizar. Cada smart item incluye un conjunto de acciones predefinidas. Puedes personalizar acciones existentes o añadir nuevas. Los siguientes tipos de acciones están disponibles:

  • Play Animation: Reproduce una animación en el modelo 3D del item. Consulta Acerca de la reproducción de animaciones

  • Stop Animation: Detiene todas las animaciones que se estén reproduciendo mediante el modelo 3D del item.

  • Play Sound: Reproduce un sonido desde un archivo, en la ubicación del item. Consulta Acerca de la reproducción de sonidos

  • Stop Sound: Detiene todos los sonidos que se estén reproduciendo desde el item.

  • Start Tween: Realiza un cambio gradual de posición, rotación o escala durante un período determinado. Consulta Mover, rotar o escalar.

  • Set Visibility: Hace que el item sea visible o invisible.

  • Attach To Player: Establece el item como hijo del avatar del player. Por ejemplo, para llevarlo en la mano o sobre la cabeza.

  • Detach From Player: Desacopla el item del avatar del player.

  • Open Link: Abre un enlace a un sitio web externo en una pestaña del navegador. Se les pregunta a los jugadores si confían en el dominio antes de abrirlo.

📔 Nota: Esta acción solo puede ocurrir como resultado de hacer click en un item. No se puede activar al entrar en un Trigger Area.

  • Move Player: Cambia la posición del player a un conjunto de coordenadas locales dentro de la scene. Solo es posible mover al player dentro de la misma scene.

  • Teleport Player: Teletransporta a un player a otra ubicación en Decentraland. Usa el Teleport Mode desplegable para enviarlo A coordenadas de otra scene en Genesis City, o A World, indicando el nombre de un World. Los players aparecerán en el punto de aparición de la scene de destino.

  • Play Emote: Hace que el avatar del player realice una de las animaciones predeterminadas del avatar (por ejemplo: saludar o aplaudir).

  • Play Custom Emote: Hace que el avatar del player realice una animación personalizada, desde un archivo subido a la scene.

  • Show Text: Muestra texto en la UI de la pantalla, para ocultarlo después de unos segundos. Ideal para hints, líneas de diálogo, notificaciones, etc.

  • Hide Text: Oculta cualquier texto de UI que pueda estar mostrado actualmente.

  • Start Delay: Retrasa otra acción del mismo item tantos segundos como necesites.

  • Stop Delay: Cancela cualquier acción retrasada en el item.

  • Start Loop: Reproduce recurrentemente una acción del mismo item a un intervalo determinado.

  • Stop Loop: Cancela cualquier acción en bucle del item.

  • Play Video: Reproduce un video como material en una forma primitiva.

  • Stop Video: Detiene cualquier video que se esté reproduciendo actualmente.

  • Play Audio Stream: Reproduce un stream de audio.

  • Stop Audio Stream: Detiene cualquier stream de audio que se esté reproduciendo actualmente.

  • Clone: Duplica un item en la posición designada.

  • Spawn Entity: Crea una nueva copia de un item en la scene, en una posición relativa al item que realiza la acción. El item que se va a generar no necesita estar colocado en la scene. Consulta Acerca de la generación de entidades.

  • Remove: Elimina un item de la scene.

  • Show Image: Muestra una imagen en la UI, potencialmente durante un tiempo limitado. También puede incluir leyenda.

  • Hide Image: Oculta cualquier imagen que se esté mostrando actualmente en la UI mediante la acción Show Image.

  • Damage: Reduce la salud de cualquier barra de salud que esté cerca. El Layer propiedad puede determinar si solo actúa sobre las barras de salud del player o sobre otros items.

  • Move player here: Cambia la posición del player a la de este item.

  • Place on Player: Cambia la posición del item a la del player.

  • Rotate as Player: Cambia la rotación del item a la del player.

  • Place on Camera: Cambia la posición del item a la de la cámara.

  • Rotate as Camera: Cambia la rotación del item a la de la cámara.

  • Set Position: Cambia la posición del item a una específica. Puede ser absoluta o relativa a su posición actual.

  • Set Rotation: Cambia la rotación del item a una específica. Puede ser absoluta o relativa a su rotación actual.

  • Set Scale: Cambia la escala del item a una específica. Puede ser absoluta o relativa a su escala actual.

  • Follow Player: Empieza a moverse y a girar en dirección a la posición del player. Ignora cualquier obstáculo en el camino. Puedes establecer la velocidad y hacer que solo se mueva en ciertos ejes. Min Distance determina qué tan cerca llegará al player.

  • Stop Following Player: Detiene la acción Follow Player.

  • Random Action: Una de las acciones enumeradas aquí se reproducirá al azar con la misma probabilidad cada vez que se llame a la acción aleatoria. Puedes listar cualquiera de las acciones que pertenecen al item.

  • Batch Actions: Todas las acciones enumeradas aquí se reproducirán simultáneamente cada vez que se llame a la acción por lotes. Puedes listar cualquiera de las acciones que pertenecen al item.

  • Heal Player: Restaura la salud de la barra de salud del player.

  • Player Face Item: Hace que el avatar del player gire para mirar al item.

  • Freeze Player: Impide que el player se mueva, salte o realice emotes.

  • Unfreeze Player: Restaura la capacidad del player de moverse después de una acción Freeze Player.

  • Lights On: Enciende la Light Source del item Light Source component.

  • Lights Off: Apaga la Light Source del item Light Source component.

  • Lights Modify: Cambia propiedades del Light Source componente del item, como su color o intensidad.

  • Select Camera: Cambia la vista del player a una Virtual Camera, ya sea en este item o en otra entity.

  • Change Text: Cambia el texto de un item con un componente Text Shape component. También puede cambiar el tamaño de la fuente y el color.

  • Stop Tween: Detiene cualquier movimiento tween que esté en curso en el item.

  • Slide Texture: Desliza continuamente la Texture en el Material del item en una dirección dada, para efectos como agua que fluye o cintas transportadoras.

  • Change Collisions: Habilita o deshabilita los colliders del item, tanto para física como para eventos de puntero.

  • Change Skybox: Cambia el skybox de la scene a una hora fija del día, expresada en segundos desde la medianoche.

  • Reset Skybox: Restablece el skybox de la scene a sus ajustes predeterminados.

  • Log to Console: Imprime un mensaje en la Console, útil para depurar mientras desarrollas la scene.

  • Delete: Elimina el item y todos sus hijos de la scene.

Consulta estados y lógica condicional para aprender sobre otras acciones relacionadas con condiciones lógicas, como Set State y las acciones de contador.

El Actions component define posibles acciones, pero estas no hacen nada en la scene a menos que se activen. Las acciones se activan mediante un trigger, ya sea del mismo smart item o de otro diferente.

Para añadir una nueva acción a un item, haz click en el Add New Action botón en la parte inferior del componente Action. Luego dale un nombre a la acción, selecciona un tipo y completa cualquier campo adicional específico de ese tipo de acción.



Triggers

El Triggers component define eventos trigger, estos activan acciones cuando ocurre un cierto evento. Existen los siguientes tipos de eventos trigger:

  • On Click: Cuando el player hace click en el item. Consulta Acerca de los triggers de click

  • On Input Action: Cuando el player pulsa un botón de input mientras apunta al item.

  • On Global Click: Cuando el player hace click en el puntero en cualquier parte, sin necesidad de apuntar al item.

  • On Global Primary: Cuando el player pulsa el botón Primary (E) en cualquier parte.

  • On Global Secondary: Cuando el player pulsa el botón Secondary (F) en cualquier parte.

  • Player Enters Area: Cuando el player entra en un área. Consulta Trigger Area

  • Player Leaves Area: Cuando el player sale de un área. Consulta Trigger Area

  • On Spawn: Cuando la scene empieza, o el item se genera en la scene. Consulta Trigger on spawn

  • On Delay: Cuando una Start Delay action en el item termina su cuenta atrás.

  • On Loop: En cada iteración de una Start Loop action en el item.

  • On Clone: Cuando el item se clona mediante una Clone action, la nueva copia activa este trigger.

  • On Click Image: Cuando el player hace click en una imagen mostrada por una Show Image action.

  • On Damage: Cuando el item recibe daño de una Damage action.

  • On Heal Player: Cuando el player es curado por una Heal Player action.

  • On Tick: En cada tick de la scene, una vez por frame. Úsalo con cautela, ya que las acciones activadas por él se ejecutan con mucha frecuencia.

Consulta estados y lógica condicional para aprender sobre otros triggers relacionados con condiciones lógicas, como On State Change, On Counter Change y On Tween End.

Para añadir un nuevo trigger, haz click en el Add New Trigger Event en la parte inferior del componente Trigger. Luego selecciona el tipo de trigger, la entity que deseas activar y una acción de esa entity.



📔 Nota: Una acción debe estar definida en el Actions component de la entity antes de poder activarla. Los triggers solo pueden afectar a entities que tengan un componente Actions.

Acerca de la reproducción de animaciones

Usa una acción de tipo Play Animation para ejecutar una animación en el modelo 3D del smart item. La animación ya debe existir como parte del archivo del modelo 3D. El Select Animation desplegable muestra una lista de todas las animaciones disponibles en el modelo 3D.

El Play Mode campo te permite seleccionar si una animación debe reproducirse solo una vez o si debe seguir en bucle.



Una vez creada la acción, puedes activarla mediante el Triggers component de ese mismo item o de cualquier otro item.

Usa el Stop Animation action para detener todas las animaciones del item, tanto las que están en bucle como las que no.

💡 Consejo: Para comprobar fácilmente el contenido de un modelo 3D, ver qué animaciones incluye y cómo se ven, una buena herramienta es Babylon Sandbox. Solo arrastra el archivo del modelo 3D a la ventana. Debería aparecer en la parte inferior un desplegable con una lista de sus animaciones.

Para aprender más sobre animaciones y cómo puedes crear las tuyas propias como parte de un modelo 3D, consulta Animaciones.

Acerca de la reproducción de sonidos

Usa una acción de tipo Play Sound para reproducir un archivo de sonido. Puedes reproducir cualquier archivo de sonido siempre que esté importado en el proyecto de la scene. El sonido se escucha de forma posicional, desde la ubicación del item, lo que significa que suena más fuerte si el player está más cerca.

💡 Consejo: En lugar de escribir la ruta al archivo de sonido, puedes arrastrarlo al Path campo desde el menú de navegación de archivos en la parte inferior del Scene Editor.

Usa el Play Mode campo para elegir si se reproduce el sonido una vez o si se repite en bucle continuamente.



Una vez creada la acción, puedes activarla mediante el Triggers component de ese mismo item o de cualquier otro item.

Usa el Stop Sound action para detener todos los sonidos del item, tanto los que están en bucle como los que no. Esto también detiene los sonidos del AudioSource component.

Para hacer que un item reproduzca siempre un sonido en bucle, por ejemplo para ambiente o música, es más fácil usar el AudioSource component, en lugar de usar Actions y Triggers. Este componente solo requiere que proporciones una ruta a un archivo y marques las casillas Start Playing y Loop.



📔 Nota: Un smart item solo puede reproducir un sonido a la vez. Llamar a un segundo sonido interrumpirá cualquier otro sonido que se esté oyendo actualmente. Esto también aplica a los sonidos del AudioSource component. Si necesitas que dos sonidos suenen a la vez, considera añadir una entity invisible en la misma ubicación para contener un Play Sound action.

Consulta sonidos para obtener más información sobre cómo reproducir sonidos en Decentraland.

Mover, rotar o escalar

Usa una Start Tween acción para cambiar la posición, escala, o rotación, del item durante un período de tiempo. Todas las Start Tween acciones comienzan desde el estado original del item y cambian a un estado final durante un período de tiempo.

Los tweens en posición pueden ser relativos o absolutos. Un tween absoluto en posición mueve el item a una posición fija en relación con la scene. El item se moverá desde donde esté hasta esa posición. Si ya está allí, no parecerá moverse. Un tween relativo en posición mueve el item una cierta distancia desde donde está ahora, por ejemplo un tween a una posición relativa de 1, 0, 0 mueve el item 1 metro hacia adelante, en la dirección en la que está mirando actualmente. Si ejecutas la acción tween una segunda vez, el item se moverá otro metro hacia adelante.

Los tweens en rotación también pueden ser relativos o absolutos. Una rotación relativa se añade a la rotación actual del item. Un tween absoluto en rotación hará que el item mire en una dirección específica, relativa a la scene.

Usa el Duración campo para definir cuánto debe durar todo el movimiento, en segundos. Ten en cuenta que el control deslizante llega hasta 100 segundos, pero también puedes escribir manualmente un número mayor si lo necesitas.



Una vez creada la acción, puedes activarla mediante el Triggers component de ese mismo item o de cualquier otro item.

Los tweens pueden seguir diferentes tipos de curva que afectan la tasa de cambio con el tiempo. Una curva lineal (predeterminada) significa que la velocidad del cambio es constante de principio a fin. Hay muchas opciones para elegir, que dibujan curvas de distintas formas dependiendo de si el inicio y/o el final empiezan despacio, y cuánto. Una easeinexpo curva comienza despacio y termina rápido, aumentando la velocidad exponencialmente; por el contrario, una easeoutexpo curva comienza rápido y termina despacio.



💡 Consejo: Experimenta con diferentes curvas de movimiento. Las diferencias suelen ser sutiles, pero interpretamos inconscientemente información a partir de cómo se mueven las cosas, como el peso, la fricción o incluso la personalidad.

Usa On Tween End eventos trigger en el Triggers component para activar una acción después de que un tween haya terminado. Usa estados y lógica condicional para describir una ruta en bucle para una plataforma flotante, de modo que se mueva constantemente entre dos ubicaciones.

Cuando un item realiza un tween, esto afecta a todo el item. Por ejemplo, si cambia la escala, cambia la escala de su modelo 3D visible y también la geometría invisible del collider, el tamaño del texto, etc. Si el item tiene hijos (anidados en el entity tree de la izquierda), estas entities hijas también se ven afectadas por el tween.

📔 Nota: Cada entity solo puede realizar un tween a la vez. Por ejemplo, no puedes hacer que un item se mueva lateralmente y también rote al mismo tiempo. Como solución alternativa, puedes usar entities con parent. Por ejemplo, puedes tener una entity padre invisible que se mueva lateralmente, con un hijo visible que rote.

Acerca de la generación de entidades

Usa una Spawn Entity acción para crear una nueva copia de un item en la escena mientras se está ejecutando. A diferencia de la Clone acción, el item que generas no necesita colocarse primero en la escena.

Hacer que un item se pueda generar

Antes de que un item pueda generarse, debe estar disponible en los archivos de tu proyecto. Para agregar un item sin colocarlo en la escena:

  1. En el Assets panel, busca el item en el catálogo o en tus Custom Items.

  2. Haz clic derecho en el item y selecciona Add to filesystem.

Esto copia el item a tu proyecto para que pueda generarse más adelante. No añade nada visible a la escena. Luego, el item aparece en el Source desplegable de cualquier Spawn Entity action.

Configura la acción

Una Spawn Entity acción tiene dos campos:

  • Source: El item a generar. Elige entre los items añadidos a los archivos de tu proyecto.

  • Posición: Las coordenadas X, Y y Z donde aparece la nueva copia, con respecto al item que realiza la acción.

Si el item que generas es a su vez un smart item, cada copia generada mantiene sus propias acciones y triggers funcionando de forma independiente.

💡 Consejo: Para generar items desde código en su lugar, consulta Composites. Los items añadidos a los archivos de tu proyecto se almacenan como composites, el mismo formato que usa la función spawn del SDK.

Acerca de los triggers de click

Para activar una acción haciendo clic en un item, crea un On Click trigger. La acción se activará cada vez que el jugador haga clic en la Entity.



Consulta Hacer que cualquier item sea smart para más detalles.

📔 Nota: Cuando uses modelos 3D personalizados, el modelo debe tener una geometría collider invisible para que se pueda hacer clic en él. Consulta colliders.

Como alternativa, puedes configurar el GLTF componente del item, de modo que su Visible Layer de colisión se establezca en Pointer.

Otra alternativa es añadir un Click Area smart item, para dibujar un cubo que se superponga al item en el que quieres hacer clic. El smart item Click Area es un item invisible.

Trigger on spawn

Los triggers de tipo On Spawn activan una acción cuando la escena se carga. En lugar de esperar a que el jugador interactúe con un item, la acción se ejecuta de inmediato.

Por ejemplo, úsalo para hacer que una plataforma se mueva continuamente. Usa un On Spawn trigger para activar una acción Tween. Luego usa On State Change triggers para mantenerla moviéndose entre dos o más posiciones.



Multiplayer

Todos los smart items son multiplayer por defecto. Consulta Smart Items - Conceptos básicos para más detalles.

Puedes cambiar o ajustar este comportamiento multiplayer para sincronizar solo ciertos componentes del item.

En el componente del item, Multiplayer marca las casillas de los componentes que quieres compartir.

Por ejemplo, una puerta comparte su Animator para que todos vean las animaciones de apertura, su AudioSource para que todos oigan su sonido, y su State para que todos sepan si está actualmente abierta o cerrada. La puerta no comparte su Visibility componente, porque la puerta suele estar siempre visible. Si incluyes acciones para activar y desactivar su visibilidad, quizá quieras marcar también este componente para que los cambios se sincronicen entre todos los jugadores.

Items invisibles

Algunos items no están pensados para que el jugador los vea, pero sí son visibles mientras editas tu escena para que sea más fácil gestionarlos. Este es el caso de items como Ambience, Trigger Area, Click Area, etc.

En el modo avanzado, estos items tienen un Visibility componente configurado como invisible. Este componente no afecta a la visibilidad de los items en el Scene Editor, pero cualquier item configurado como invisible no lo ven los jugadores al ejecutar una preview.

Ver también

Última actualización