Cenas
As cenas são as entities que produzem comportamento em diferentes partes da Decentraland. Elas podem abranger múltiplos lotes de terra, e jogadores que as atravessam em um World Explorer executarão código especial fornecido pela cena.
Você pode encontrar um exemplo completo da vida real em o manifesto desta cena no servidor de conteúdo da Foundation.
Pointers
As cenas têm um ou mais pointers na forma de strings de coordenadas de parcela, tais como "0,0". Cada parcela executando a cena será listada no pointers array do manifesto da entity, e todos esses pointers serão resolvidos pelo servidor de conteúdo para essa cena.
Em outras palavras, você pode escolher as coordenadas x/y de uma parcela e localizar a cena que está sendo executada consultando o servidor de conteúdo pelo "<x>,<y>" pointer. É assim que os World Explorers decidem se habilitam o comportamento de uma cena enquanto o jogador navega pelo mundo.
Um típico pointers array se parece com isto:
{
"pointers": [
"-113,-134",
"-113,-133",
"-113,-132",
],
// ... other entity properties
}Esses dados também estão disponíveis em metadata.scene.parcels campo detalhado abaixo, caso você queira salvar apenas o objeto específico da cena no manifesto.
Campos de Metadata
Existem várias propriedades especiais para entities do tipo cena localizadas no metadata campo de nível superior.
owner
Informações sobre o mantenedor da cena.
main
O nome de arquivo interno para o arquivo JavaScript principal desta cena.
tags
Um array de rótulos string descritivos desta cena.
display
Informações sobre a cena para os Explorers mostrarem aos jogadores (ver abaixo).
cena
As parcelas em que esta cena está ativa, e sua localização central (ver abaixo).
contact
Nome e endereço de e-mail para contatar os criadores ou mantenedores da cena (ver abaixo).
spawnPoints
Localizações e ângulos de câmera para jogadores que entram nesta cena (ver abaixo).
requiredPermissions
Permissões recomendadas para os Explorers solicitarem aos jogadores (ver abaixo).
featureToggles
Configurações para feature flags
Lembre-se de que entities e suas metadata podem ter campos personalizados. Você pode encontrar algumas propriedades por aí que não estão listadas aqui.
Display
Em metadata.display, você encontrará propriedades úteis para informar os jogadores sobre a cena antes de entrarem nela.
title
O nome de exibição desta cena.
description
Uma descrição estendida desta cena.
favicon
Obsoleto O nome de arquivo interno para um ícone, exibido quando esta cena está ativa.
navmapThumbnail
O nome de arquivo interno para a miniatura desta cena no mapa do mundo.
Um exemplo:
Scene
O metadata.scene a propriedade é um objeto que descreve a posição desta cena no mapa mundial.
parcels
Um array de pointers de parcela que executam esta cena.
base
O pointer da parcela para o ponto de origem desta cena.
Na prática, fica assim:
O base o campo é sempre incluído no parcels array.
Contact
O metadata.contact objeto contém as informações de contato do proprietário ou mantenedor da cena.
name
Um nome para este contato.
email
(Opcional) Um endereço de e-mail para contato.
Em JSON:
Enquanto o name campo é preenchido em toda cena, você verá que na prática o email campo costuma ser uma string vazia. Esta é uma escolha de privacidade feita pelo criador da cena.
Spawn Points
O metadata.spawnPoints o campo define um array de pontos e direções de câmera que determinam onde os jogadores que entram na cena devem aparecer, e para onde devem inicialmente olhar. Deve haver pelo menos um spawn point definido.
Cada item no array tem várias propriedades:
name
Um rótulo para identificar este spawn point.
Enviado pelo cliente em intervalos regulares (tipicamente uma vez por segundo), para atualizar o Archipelago sobre sua posição e/ou solicitar uma atribuição de ilha.
A posição inicial em um { x, y, z } objeto com coordenadas float.
cameraTarget
A direção inicial da câmera em um { x, y, z } objeto com coordenadas float.
default
Se este spawn point é usado, a menos que especificado de outra forma.
Por exemplo:
Permissões Requeridas
Em metadata.requiredPermissions você encontrará um array de strings conhecidas declarando quais permissões devem ser pedidas ao jogador antes que o World Explorer permita certas ações. Isso cabe ao Explorer; outros clients construídos para diferentes propósitos podem escolher ignorar isso.
Este é o conjunto atual de permissões suportadas:
USE_FETCH
Permitir que a cena faça requisições HTTP externas.
USE_WEBSOCKET
Permitir que a cena use a API WebSocket para estabelecer conexões externas.
OPEN_EXTERNAL_LINK
Permitir que a cena abra um URL (em uma aba do navegador ou web view).
USE_WEB3_API
Permitir que a cena se comunique com uma wallet.
ALLOW_TO_TRIGGER_AVATAR_EMOTE
Permitir que a cena anime o avatar do jogador com um emote.
ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE
Permitir que a cena altere a posição do jogador.
Feature Toggles
O metadata.featureToggles o campo permite que uma cena indique se certas funcionalidades do World Explorer devem ser ativadas ou desativadas.
O campo contém um objeto da forma { [featureName]: 'enabled' | 'disabled' }, como este:
Atualmente, voiceChat é a única feature flag com suporte comum.
Atualizado