Escenas
Scenes son las entities que producen comportamiento en diferentes partes de Decentraland. Pueden abarcar múltiples parcelas de tierra, y los jugadores que caminen a través de ellas en un World Explorer ejecutarán código especial proporcionado por la scene.
Puedes encontrar un ejemplo completo de la vida real en el manifest de esta scene en el content server de la Foundation.
Punteros
Las Scenes tienen uno o más pointers asociados en forma de cadenas de coordenadas de parcelas, como "0,0". Cada parcela que ejecute la scene aparecerá en el pointers array del manifest de la entity, y todos esos pointers serán resueltos por el content server hacia esa scene.
En otras palabras, puedes elegir las coordenadas x/y de una parcela y localizar la scene que está ejecutándose 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 scene mientras el jugador navega por el mundo.
Un pointers array típico se ve así:
{
"pointers": [
"-113,-134",
"-113,-133",
"-113,-132",
],
// ... otras propiedades de la entity
}Estos datos también están disponibles en el campo metadata.scene.parcels detallado a continuación, por si quieres guardar solo el objeto específico de la scene en el manifest.
Campos de metadata
Hay varias propiedades especiales para entities de tipo escena ubicadas en el campo de nivel superior metadata .
owner
Información sobre el mantenedor de la scene.
main
El nombre interno de archivo del archivo JavaScript principal de esta scene.
tags
Un array de etiquetas de texto descriptivas de esta scene.
display
Información sobre la scene para que los Explorers se la muestren a los jugadores (ver abajo).
escena
Las parcelas en las que esta scene está activa, y su ubicación central (ver abajo).
contact
Nombre y dirección de email para contactar a los creadores o mantenedores de la scene (ver abajo).
spawnPoints
Ubicaciones y ángulos de cámara para los jugadores que entran en esta scene (ver abajo).
requiredPermissions
Permisos recomendados para que los Explorers los soliciten a los jugadores (ver abajo).
featureToggles
Configuración para feature flags
Visualización
En metadata.display, encontrarás propiedades que son útiles para informar a los jugadores sobre la scene antes de que entren en ella.
title
El nombre visible de esta scene.
description
Una descripción ampliada de esta scene.
favicon
Deprecated El nombre interno de archivo a un icono, que se muestra cuando esta scene está activa.
navmapThumbnail
El nombre interno de archivo a la miniatura de esta scene para el world map.
Un ejemplo:
Scene
El metadata.scene property es un objeto que describe la posición de esta scene en el world map.
parcels
Un array de pointers de parcela que ejecutan esta scene.
base
El pointer de parcela para el punto de origen de esta scene.
En la práctica, se ve así:
El base campo siempre se incluye en el parcels array.
Contacto
El metadata.contact object contiene la información de contacto del owner o mantenedor de la scene.
name
Un nombre para este contacto.
email
(Opcional) Una dirección de email para contactar.
En JSON:
Aunque el name campo se completa en cada scene, verás que en la práctica real el email campo suele ser una cadena vacía. Esta es una decisión de privacidad tomada por el creador de la scene.
Spawn Points
El metadata.spawnPoints field define un array de puntos y direcciones de cámara que determinan dónde deben aparecer los jugadores al entrar en la scene, y hacia dónde deben mirar inicialmente. Debe haber al menos un spawn point definido.
Cada elemento del array tiene una serie de propiedades:
name
Una etiqueta para identificar este spawn point.
position
La posición inicial en un { x, y, z } object con coordenadas float.
cameraTarget
La dirección inicial de la cámara en un { x, y, z } object con coordenadas float.
default
Si este spawn point se usa a menos que se especifique otra cosa.
Por ejemplo:
Permisos Requeridos
En metadata.requiredPermissions encontrarás un array de cadenas conocidas que declaran qué permisos deberían pedirse al jugador antes de que el World Explorer permita ciertas acciones. Esto depende del Explorer; otros clients creados para diferentes propósitos pueden elegir ignorarlo.
Este es el conjunto actual de permisos compatibles:
USE_FETCH
Permite que la scene realice solicitudes HTTP externas.
USE_WEBSOCKET
Permite que la scene use la WebSocket API para establecer conexiones externas.
OPEN_EXTERNAL_LINK
Permite que la scene abra una URL (en una pestaña del navegador o web view).
USE_WEB3_API
Permite que la scene se comunique con una Wallet.
ALLOW_TO_TRIGGER_AVATAR_EMOTE
Permite que la scene anime el avatar del jugador con un emote.
ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE
Permite que la scene cambie la posición del jugador.
Feature Toggles
El metadata.featureToggles field permite que una scene indique si ciertas features del World Explorer deben estar habilitadas o deshabilitadas.
El field contiene un object con la forma { [featureName]: 'enabled' | 'disabled' }, como este:
Actualmente, voiceChat es el único feature flag ampliamente compatible.
Última actualización