Smart Wearables

Crea wearables con capacidades interactivas

Los wearables inteligentes son un tipo de escena global. Como portable experiences, son jugabilidad que los jugadores llevan consigo mientras se mueven por el metaverso. Por ejemplo, mientras se ejecuta una escena global, un jugador podría tomar una bola de nieve del suelo en Genesis Plaza, alejarse a otra escena y lanzar la bola de nieve a otro jugador que también esté jugando el mismo juego.

Los wearables inteligentes son experiencias portátiles que se activan cuando el jugador se pone cierto artículo de ropa. Los wearables inteligentes pueden otorgar a los jugadores nuevas habilidades, como un propulsor que les permite volar, o añadir una nueva capa de contenido encima del resto del mundo, como colocar monedas aleatoriamente para ser recogidas en toda Genesis City.

circle-exclamation

Empezando

Usando la CLI

  1. Abre una línea de comandos en una nueva carpeta y ejecuta

npx @dcl/sdk-commands init --project smart-wearable

Este comando crea los archivos y la estructura básicos para un nuevo smart wearable.

Los archivos en la plantilla

La carpeta de un proyecto de Smart Wearable completamente nuevo es muy similar a la de una Decentraland scene, pero notarás las siguientes diferencias:

  • wearable.json incluye todos los metadatos para la experiencia portátil

  • Hay un modelo 3D de marcador de posición (glasses.glb) y una miniatura (glasses.png) para un par de gafas oscuras. Debes reemplazarlos por el wearable real que estás creando

  • scene.json es mucho más corta, no incluye propiedades que son irrelevantes para un wearable, como parcels o spawn points

Acerca de wearable.json

El valor predeterminado wearable.json archivo se ve así:

Los siguientes campos son obligatorios en wearable.json:

  • id: Id único del smart wearable.

  • name: El nombre del wearable que los usuarios verán en el marketplace

  • descripción: La descripción del wearable que los usuarios verán en el marketplace. Asegúrate de indicar qué puede hacer el smart wearable, ya que los usuarios del marketplace no tendrán forma de previsualizar su funcionalidad antes de comprarlo.

  • rarity: La rareza y suministro del token. Los valores posibles son:

    • unique (1 copy)

    • mythic (10 copies)

    • exotic (50 copies)

    • legendary (100 copies)

    • epic (1000 copies)

    • uncommon (10.000 copies)

    • common (100.000 copies)

circle-exclamation

Los siguientes campos también pueden incluirse opcionalmente. Estos ajustes también se pueden configurar desde la UI del Builder, una vez que subas el smart wearable.

  • datos: Incluye lo siguiente

    • replaces: Lista de categorías de otros wearables que deben ser desequipados al equipar este wearable, además del comportamiento por defecto de esta categoría. Por ejemplo: al ponerse una capa top-body, también ocultar feet.

    • hides: Lista de categorías de otros wearables que deben ser ocultadas (pero no desequipadas) al equipar este wearable, además del comportamiento por defecto de esta categoría.

    • etiquetas: Etiquetas usadas para hacer que el wearable sea searchable en el marketplace.

    • representations:

      • bodyShapes: La lista de representaciones de avatar que pueden usar este wearable. Todos los smart wearables deben estar disponibles para ambas body shapes, male y female.

      • mainFile: El archivo principal con el modelo 3D del wearable.

      • contents: La lista completa de archivos usados para renderizar el modelo 3D del wearable. Por ejemplo, el modelo 3D podría incluir texturas como archivos separados.

      • overrideHides: Cualquier excepción del comportamiento por defecto de hide de esta categoría de wearable.

      • overrideReplaces: Cualquier excepción del comportamiento por defecto de replace de esta categoría de wearable.

    • category: Qué categoría de wearable usar. Los valores posibles son:

      • 'eyebrows'

      • 'eyes'

      • 'facial_hair'

      • 'hair'

      • 'mouth'

      • 'upper_body'

      • 'lower_body'

      • 'feet'

      • 'earring'

      • 'eyewear'

      • 'hat'

      • 'helmet'

      • 'mask'

      • 'tiara'

      • 'top_head'

      • 'skin'

      • 'hands_wear'

  • menuBarIcon: Imagen para usar en el menú “experiences” para representar esta experiencia portátil. Esta imagen debe estar en el nivel raíz de tu carpeta. El tamaño de imagen recomendado es 256x256.

  • model: El modelo 3D a usar para el wearable. Este archivo debe estar en el nivel raíz de tu carpeta.

  • bodyShape: El tipo de cuerpo de avatar con el que este wearable es compatible. Valores posibles:

    • male

    • female

    • both

  • collectionAddress: La dirección de ethereum de la colección publicada de wearables. Esta dirección se asigna una vez publicada, puede quedar en blanco.

La miniatura

Debes incluir una imagen llamada thumbnail.png en el nivel raíz de tu carpeta. Esta imagen se mostrará tanto en la mochila como en el marketplace, para representar tu wearable en 2D. El tamaño de imagen recomendado requerido es 256x256.

Elige una imagen que establezca las expectativas del jugador y represente correctamente tu creación.

La Previsualización

Ejecutar una previsualización de una experiencia portátil es igual que ejecutar la de una escena, simplemente haz clic Run Scene en la pestaña Decentraland, o ejecuta npm run start en la línea de comandos. Si el wearable.json archivo está configurado correctamente y el proyecto es reconocido como un smart wearable, notarás que todos los visibles a tu alrededor son los parcels vacíos predeterminados. En este modo de previsualización, no estás restringido a ningún conjunto de parcels, puedes añadir modelos 3D o sonidos en cualquier lugar del mundo.

Para probar cómo se comporta el smart wearable en el contexto de una escena, también puedes ejecutar una previsualización de tu wearable al mismo tiempo que ejecutas una previsualización de una o varias escenas usando un Workspace. Por ejemplo, puedes ejecutar tu smart wearable junto con la Genesis Plazaarrow-up-right scene

para probar cómo se comporta en una escena concurrida, dentro de un ascensor, etc.

  • Consejos

  • Al posicionar una entidad, ten en cuenta que las posiciones son globales, relativas a las coordenadas 0,0 de Genesis Plaza.

    • Ver Obtener todos los jugadores Para reaccionar ante jugadores cercanos:

    • para saber cómo obtener datos de otros jugadores en los alrededores.

    • Ten en cuenta que la carga del smart wearable, las escenas circundantes y otros jugadores puede ocurrir en órdenes diferentes dependiendo de la situación. Si el jugador entra en Decentraland con el smart wearable ya puesto, es probable que la escena global de tu wearable se cargue antes que otros jugadores. Por otro lado, si el jugador primero carga en una escena y luego se pone el wearable, es probable que otros jugadores ya estén cargados para cuando la escena del wearable empiece a ejecutarse.

  • Para experiencias multijugador, espera hasta que el jugador esté conectado a una island dentro de su realm. Obtén los datos del realm y revisa el campo 'room'. Si el campo 'room' es null, el jugador aún no está conectado a una island y otros jugadores no se habrán cargado aún. Puedes comprobar esto periódicamente cada 1 segundo hasta que el campo 'room' esté presente, y solo entonces inicializar tu lógica.

    • Para interactuar con escenas circundantes: No puedes enviar directamente instrucciones a escenas cercanas u otras experiencias portátiles, el messageBus

    • está actualmente sandboxed para cada experiencia portátil/escena.

    • Puedes usar un servidor intermedio para enviar información entre la experiencia portátil y una escena.

  • Si haces un raycast, puedes detectar impactos contra los colliders de entidades de las escenas circundantes. Esto puede decirte la ubicación exacta del impacto, la dirección de la normal e incluso el nombre de la entidad y el nombre del mesh del modelo 3D. Esto solo funciona al golpear entidades en escenas escritas con SDK7. Matar una experiencia portátil: Ejecuta el kill()

Publish

método para autodestruir una experiencia portátil.

  1. Para publicar tu smart wearable: wearable.json Asegúrate de que la información en id sea precisa. Si usaste otro proyecto como punto de partida, asegúrate de que el

  2. Ejecuta sea un identificador único, no usado por otros wearables. npm run pack en la carpeta de tu proyecto. Esto genera un smart-wearable.zip

circle-exclamation
  1. indicará el tamaño del proyecto exportado sin comprimir, debe ser inferior a 3MB. Si es mayor que eso, no será aceptado por el builder.

  2. Abre el Builder, abre la pestaña Collections, haz clic en + para subir un nuevo wearable. en la carpeta de tu proyecto. Esto genera un Arrastra tu

archivo comprimido al Builder, verifica que toda la información sea precisa.

  1. Nota: Si tu wearable contiene diferentes representaciones de modelo, necesitas hacer una solución alternativa:male y femaleEn tu proyecto, crea una nueva carpeta para cada representación (

  2. ), y coloca el modelo 3D de cada representación en su carpeta correspondiente. wearable.json Actualiza tu

  3. Ejecuta sea un identificador único, no usado por otros wearables. "contents": ["female/glasses.glb"],

  4. para generar un nuevo archivo smart-wearable.zip.

  1. Arrastra el nuevo archivo smart-wearable.zip al Builder.

  2. Abre el editor de wearables y asegúrate de que las categorías “hide” y “remove” estén correctamente configuradas para desactivar otras categorías de wearables cuando este wearable esté activado.

  3. Crea una nueva colección con este y quizás otros wearables.

  4. Haz clic en el icono de tres puntos junto a “Mint Items” y selecciona “See in world”. Esto abrirá una pestaña con el Explorer en Sepolia, donde puedes probar todos los wearables de tu colección en Decentraland y ver cómo se comportan en un escenario más real, por ejemplo corriendo por Genesis Plaza.

En este punto, tu wearable está listo para ser publicado.

Acciones restringidas

Ver Para prevenir abusos, ciertas características no están permitidas en experiencias portátiles por defecto y requieren añadir una bandera de permiso. para más detalles.

Limitaciones

Permisos requeridos sea un identificador único, no usado por otros wearables.IMPORTANTE: Todo el smart wearable debe caber dentro de 3MB. Esto incluye el modelo 3D, la miniatura, el código, las librerías, archivos de sonido, modelos 3D adicionales, imágenes de UI, etc. Este límite es para la carpeta sin comprimir. El builder no te permitirá subir wearables más grandes que esto. Para comprobar el tamaño de tu experiencia portátil, ejecuta en la carpeta de tu proyecto. Esto genera un , el tamaño del proyecto se especifica en el texto de salida del comando. También puedes verificar esto descomprimiendo el archivo generado

y comprobando el tamaño de la carpeta. Los wearables inteligentes solo ejecutan la experiencia portátil para el jugador que lleva puesto el wearable. Otros jugadores no ven los efectos. Por ejemplo, si la experiencia portátil renderiza una mascota que sigue al jugador, otros jugadores alrededor no verán a esa mascota. Sin embargo, otros jugadores verán avatares realizar animaciones que se ejecuten como parte de la escena del wearable, incluso custom avatar animations

subidas como parte de los archivos del smart wearable.

Los wearables inteligentes solo funcionan cuando los jugadores los llevan puestos. Por esta razón, los jugadores solo pueden tener un número limitado de smart wearables activados, y dependiendo de la parte del cuerpo que ocupen, algunos serán incompatibles con otros. Por ejemplo, no puedes tener dos hats al mismo tiempo, o un helmet y hair al mismo tiempo.

Si un wearable está “hidden” pero no “removed” por otros wearables que se lleven puestos, entonces el smart wearable aún puede estar activado, incluso si el wearable correspondiente no es visible.

Ejemplos: Smart wearable samplearrow-up-right)

Última actualización