Cenas

As cenas são as entitiesarrow-up-right 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 cenaarrow-up-right no servidor de conteúdo da Foundation.

Pointers

As cenas têm um ou mais pointersarrow-up-right na forma de strings de coordenadas de parcela, tais como "0,0". Cada parcela executando a cena será listada no pointers arrayarrow-up-right 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 entitiesarrow-up-right do tipo cena localizadas no metadata campo de nível superior.

Campo
Valor

owner

Informações sobre o mantenedor da cena.

main

O nome de arquivo internoarrow-up-right 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

circle-info

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.

Campo
Valor

title

O nome de exibição desta cena.

description

Uma descrição estendida desta cena.

favicon

Obsoleto O nome de arquivo internoarrow-up-right para um ícone, exibido quando esta cena está ativa.

navmapThumbnail

O nome de arquivo internoarrow-up-right 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.

Campo
Valor

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.

Campo
Valor

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:

Campo
Valor

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:

Permission
Propósito

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