Scenes

Las escenas son los entitiesarrow-up-right que producen comportamiento en diferentes partes de Decentraland. Pueden abarcar múltiples parcelas de LAND, y los jugadores que las atraviesen en un World Explorer ejecutarán código especial proporcionado por la escena.

Puedes encontrar un ejemplo completo de la vida real en este manifiesto de la escenaarrow-up-right en el servidor de contenido de la Foundation.

Punteros

Las escenas tienen uno o más pointersarrow-up-right en forma de cadenas de coordenadas de parcela, como "0,0". Cada parcela que ejecuta la escena estará listada en la pointers arrayarrow-up-right del manifiesto de la entity, y todos esos pointers serán resueltos por el content server a esa escena.

En otras palabras, puedes elegir las coordenadas x/y de una parcela y localizar la escena que se está ejecutando consultando al content server por el "<x>,<y>" pointer. Esta es la forma en que los World Explorers deciden si habilitar el comportamiento de una escena mientras el jugador navega por el mundo.

Un típico pointers array se ve así:

{
  "pointers": [
    "-113,-134",
    "-113,-133",
    "-113,-132",
  ],
  // ... otras propiedades de la entity
}

Estos datos también están disponibles en el metadata.scene.parcels campo detallado más abajo, en caso de que quieras guardar solo el objeto específico de la escena en el manifiesto.

Campos de Metadata

Hay varias propiedades especiales para entitiesarrow-up-right de tipo scene ubicadas en el metadata campo de nivel superior.

Campo
Valor

owner

Información sobre el mantenedor de la escena.

main

El nombre de archivo internoarrow-up-right de este archivo JavaScript principal de la escena.

tags

Un array de etiquetas en forma de cadenas que describen esta escena.

display

Información sobre la escena que los Explorers mostrarán a los jugadores (ver más abajo).

scene

Las parcelas en las que esta escena está activa y su ubicación central (ver más abajo).

contact

Nombre y dirección de correo electrónico para contactar a los creadores o mantenedores de la escena (ver más abajo).

spawnPoints

Ubicaciones y ángulos de cámara para los jugadores que entran en esta escena (ver más abajo).

requiredPermissions

Permisos recomendados que los Explorers deben solicitar a los jugadores (ver más abajo).

featureToggles

Configuraciones para feature flags

circle-info

Recuerda que las entities y su metadata pueden tener campos personalizados. Puedes encontrar algunas propiedades que no están listadas aquí.

Display

En metadata.display, encontrarás propiedades que son útiles para informar a los jugadores sobre la escena antes de que entren.

Campo
Valor

title

El nombre para mostrar de esta escena.

description

Una descripción extendida de esta escena.

favicon

Obsoleto El nombre de archivo internoarrow-up-right a un icono, mostrado cuando esta escena está activa.

navmapThumbnail

El nombre de archivo internoarrow-up-right a la miniatura de esta escena para el mapa mundial.

Un ejemplo:

Scene

El metadata.scene la propiedad es un objeto que describe la posición de esta escena en el mapa mundial.

Campo
Valor

parcels

Un array de pointers de parcelas que ejecutan esta escena.

base

El pointer de la parcela para el punto de origen de esta escena.

En la práctica, se ve así:

El base el campo siempre se incluye en la parcels array.

Contact

El metadata.contact el objeto contiene la información de contacto del owner o mantenedor de la escena.

Campo
Valor

name

Un nombre para este contacto.

email

(Opcional) Una dirección de correo electrónico para contactar.

En JSON:

Mientras que el name campo se rellena en cada escena, encontrarás que en la práctica el email campo suele ser una cadena vacía. Esta es una elección de privacidad hecha por el creador de la escena.

Spawn Points

El metadata.spawnPoints el campo define un array de puntos y direcciones de cámara que determinan dónde deben aparecer los jugadores que entran en la escena y hacia dónde deben mirar inicialmente. Debe haber al menos un spawn point definido.

Cada elemento en el array tiene varias propiedades:

Campo
Valor

name

Una etiqueta para identificar este spawn point.

position

La posición inicial en un { x, y, z } objeto con coordenadas float.

cameraTarget

La dirección inicial de la cámara en un { x, y, z } objeto con coordenadas float.

default

Si este spawn point se usa a menos que se especifique lo contrario.

Por ejemplo:

circle-info

📔 Nota: El Spawn Area y Camera Target se pueden configurar usando el Creator Hub. Para más información, ve a la Spawn Areaarrow-up-right docs.

Required Permissions

En metadata.requiredPermissions encontrarás un array de cadenas conocidas que declaran qué permisos deben solicitarse al jugador antes de que el World Explorer permita ciertas acciones. Esto recae en el Explorer; otros clientes construidos para diferentes propósitos pueden elegir ignorarlo.

Este es el conjunto actual de permisos soportados:

Permission
Purpose

USE_FETCH

Permitir que la escena realice solicitudes HTTP externas.

USE_WEBSOCKET

Permitir que la escena use la API de WebSocket para establecer conexiones externas.

OPEN_EXTERNAL_LINK

Permitir que la escena abra una URL (en una pestaña del navegador o vista web).

USE_WEB3_API

Permitir que la escena se comunique con una wallet.

ALLOW_TO_TRIGGER_AVATAR_EMOTE

Permitir que la escena anime el avatar del jugador con un emote.

ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE

Permitir que la escena cambie la posición del jugador.

Feature Toggles

El metadata.featureToggles el campo permite que una escena indique si ciertas features del World Explorer deben estar habilitadas o deshabilitadas.

El campo contiene un objeto de la forma { [featureName]: 'enabled' | 'disabled' }, como este:

Actualmente, voiceChat es la única feature flag comúnmente soportada.

Última actualización