Escenas
Las escenas son las entidades que producen comportamiento en diferentes partes de Decentraland. Pueden abarcar múltiples parcelas de tierra, y los jugadores que las recorran en un World Explorer ejecutarán código especial provisto por la escena.
Puedes encontrar un ejemplo completo de la vida real en el manifiesto de esta escena en el servidor de contenido de Foundation.
Punteros
Las escenas tienen uno o más pointers en forma de cadenas de coordenadas de parcela, como "0,0". Cada parcela que ejecute la escena estará listada en la pointers matriz del manifiesto de la entidad, y todos esos punteros serán resueltos por el servidor de contenido hacia esa escena.
En otras palabras, puedes elegir las coordenadas x/y de una parcela y localizar la escena que se está ejecutando consultando al servidor de contenido por el "<x>,<y>" puntero. Esta es la forma en que los World Explorers deciden si habilitar el comportamiento de una escena mientras el jugador navega por el mundo.
Una típica pointers matriz se ve así:
{
"pointers": [
"-113,-134",
"-113,-133",
"-113,-132",
],
// ... otras propiedades de la entidad
}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 entidades de tipo escena ubicadas en el metadata campo de nivel superior.
owner
Información sobre el mantenedor de la escena.
main
El nombre de archivo interno a este archivo JavaScript principal de la escena.
tags
Un arreglo de etiquetas de texto descriptivas de esta escena.
display
Información sobre la escena para que los Explorers la muestren a los jugadores (ver más abajo).
escena
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 jugadores que ingresan a esta escena (ver más abajo).
requiredPermissions
Permisos recomendados para que los Explorers soliciten a los jugadores (ver más abajo).
featureToggles
Configuraciones para los flags de funciones
Recuerda que las entidades y sus metadatos pueden tener campos personalizados. Puedes encontrar algunas propiedades por ahí 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 en ella.
title
El nombre para mostrar de esta escena.
description
Una descripción extendida de esta escena.
favicon
Obsoleto El nombre de archivo interno a un icono, mostrado cuando esta escena está activa.
navmapThumbnail
El nombre de archivo interno 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.
parcels
Un arreglo de punteros de parcela que ejecutan esta escena.
base
El puntero de 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 matriz.
Contact
El metadata.contact el objeto contiene la información de contacto del propietario o mantenedor de la escena.
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 completa 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 arreglo de puntos y direcciones de cámara que determinan dónde deben aparecer los jugadores que ingresan a la escena y hacia dónde deben mirar inicialmente. Debe haber al menos un punto de aparición definido.
Cada elemento en la matriz tiene varias propiedades:
name
Una etiqueta para identificar este punto de aparición.
Enviado por el cliente a intervalos regulares (típicamente una vez por segundo), para actualizar a Archipelago sobre su posición y/o solicitar una asignación de isla.
La posición inicial en un { x, y, z } objeto con coordenadas en coma flotante.
cameraTarget
La dirección inicial de la cámara en un { x, y, z } objeto con coordenadas en coma flotante.
default
Si este punto de aparición se usa a menos que se especifique lo contrario.
Por ejemplo:
Permisos Requeridos
En metadata.requiredPermissions encontrarás un arreglo de cadenas bien conocidas que declaran qué permisos deben solicitarse al jugador antes de que el World Explorer permita ciertas acciones. Esto corresponde al Explorer; otros clientes construidos para diferentes propósitos pueden elegir ignorarlo.
Este es el conjunto actual de permisos soportados:
USE_FETCH
Permitir que la escena realice solicitudes HTTP externas.
USE_WEBSOCKET
Permitir que la escena use la API 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 funciones del World Explorer deben habilitarse o deshabilitarse.
El campo contiene un objeto de la forma { [featureName]: 'enabled' | 'disabled' }, como este:
Actualmente, voiceChat es la única bandera de función comúnmente soportada.
Última actualización