Scenes
As cenas são os entities que produzem comportamento em diferentes partes do Decentraland. Elas podem abranger múltiplos lotes de terra, e jogadores que os percorrem 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, 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. Esta é a forma como os World Explorers decidem se devem ativar o comportamento de uma cena à medida que o jogador navega pelo mundo.
Um pointers array típico se parece com isto:
{
"pointers": [
"-113,-134",
"-113,-133",
"-113,-132",
],
// ... outras propriedades da entity
}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 scene localizadas no metadata campo de nível superior.
owner
Informações sobre o mantenedor da cena.
main
O nome do arquivo interno deste arquivo JavaScript principal da cena.
tags
Um array de rótulos string descritivos desta cena.
display
Informações sobre a cena para os Explorers mostrarem aos jogadores (veja abaixo).
scene
As parcelas em que esta cena está ativa, e sua localização central (veja abaixo).
contact
Nome e endereço de email para contatar os criadores ou mantenedores da cena (veja abaixo).
spawnPoints
Localizações e ângulos de câmera para jogadores que entram nesta cena (veja abaixo).
requiredPermissions
Permissões recomendadas para os Explorers solicitarem aos jogadores (veja abaixo).
featureToggles
Configurações para feature flags
Lembre-se de que entities e seus metadata podem ter campos personalizados. Você pode encontrar algumas propriedades que não estão listadas aqui.
Display
Em metadata.display, você encontrará propriedades que são úteis para informar os jogadores sobre a cena antes de eles entrarem nela.
title
O nome de exibição desta cena.
description
Uma descrição estendida desta cena.
favicon
Depreciado O nome do arquivo interno para um ícone, exibido quando esta cena está ativa.
navmapThumbnail
O nome do arquivo interno para a miniatura desta cena no mapa mundial.
Um exemplo:
Scene
O metadata.scene propriedade é um objeto que descreve a posição desta cena no mapa mundial.
parcels
Um array de pointers de parcelas que executam esta cena.
base
O pointer da parcela para o ponto de origem desta cena.
Na prática, parece assim:
O base 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 email para contato.
Em JSON:
Enquanto o name campo é preenchido em toda cena, você verá que na prática o email campo frequentemente é uma string vazia. Esta é uma escolha de privacidade feita pelo criador da cena.
Spawn Points
O metadata.spawnPoints campo define um array de pontos e direções de câmera determinando onde os jogadores que entram na cena devem aparecer, e para onde devem olhar inicialmente. Deve haver pelo menos um ponto de spawn definido.
Cada item no array possui um número de propriedades:
name
Um rótulo para identificar este ponto de spawn.
position
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 ponto de spawn é usado, a menos que especificado o contrário.
Por exemplo:
📔 Note: A Spawn Area e o Camera Target podem ser configurados usando o Creator Hub. Para mais informações, vá para o Spawn Area docs.
Required Permissions
Em metadata.requiredPermissions você encontrará um array de strings bem conhecidas declarando quais permissões devem ser solicitadas ao jogador antes que o World Explorer permita certas ações. Isso cabe ao Explorer; outros clientes construídos para diferentes propósitos podem escolher ignorar isto.
Este é o conjunto atual de permissões suportadas:
USE_FETCH
Permitir que a cena realize 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 uma 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 campo permite que uma cena indique se certas funcionalidades do World Explorer devem ser habilitadas ou desabilitadas.
O campo contém um objeto da forma { [featureName]: 'enabled' | 'disabled' }, como este:
Atualmente, voiceChat é a única feature flag comumente suportada.
Atualizado