> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/scene-metadata.md).

# Metadados da Scene

Aprenda como configurar uma scene e ajustar seus metadados.

Uma scene é um projeto da Decentraland que é delimitado espacialmente e está mapeado para um ou vários parcels. Se uma scene for deployada no mapa da Decentraland Genesis City, os players podem vivenciá-la visitando as coordenadas da scene. Se uma scene for deployada para um [World](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing-options.md#decentraland-worlds), os players podem visitá-la via URL.

Veja [Arquivos em uma scene](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/scene-files.md) para uma lista dos arquivos usados em um projeto de scene.

## Metadata

Para editar o metadata de uma scene no [Scene Editor in Creator Hub](/creator/content-creator-pt/scene-editor/comece/about-editor.md), abra uma scene e clique no **ícone de lápis**.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-d2147688ebde75948ba26a9fbe1261f9abdc66c7%2Fpencil-icon.png?alt=media)

Isso abre o menu da scene, onde você pode configurar várias propriedades.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5a3754defec68c898717a9468d29cf7d4e1d973e%2Fmetadata-ui.png?alt=media)

Alternativamente, você pode editar diretamente o `scene.json` arquivo, onde todos esses valores estão armazenados.

{% hint style="warning" %}
**📔 Nota**: Não adicione campos personalizados ao `scene.json` arquivo que não sejam mencionados nesta página, pois isso pode causar problemas ao carregar sua scene.
{% endhint %}

## Título, descrição e imagem da scene

É muito importante dar à sua scene um título, uma descrição e uma imagem em miniatura para atrair players e ajudá-los a saber o que esperar.

Os players verão isso exibido em um modal quando selecionarem os parcels da sua scene no mapa. Eles também verão isso em uma tela de confirmação quando forem [teleportados](/creator/content-creator-pt/scenes-sdk7/interatividade/external-links.md) para lá por outra scene. Configurar dados atraentes aqui pode ajudar significativamente a aumentar o tráfego para sua scene.

Quando os players navegam pelo mundo e entram na sua scene, eles conseguem ler o título da scene abaixo do minimapa.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5b757762ae3f0480ff5f7d65a67e2d077be5847b%2Fscene-name.png?alt=media)

Adicione esses dados pelo menu da scene no Scene Editor.

Caso você queira que outros desenvolvedores possam entrar em contato com você, também pode adicionar informações de contato à sua scene.

{% hint style="info" %}
**📔 Nota**: Worlds mantêm seu próprio nome, descrição e miniatura, separados do metadata da scene. Se um World contiver uma única scene, o metadata do World é atualizado a partir do metadata da scene a cada publish. Se ele contiver múltiplas scenes, o metadata do World é independente e só pode ser editado na aba **Manage** do Creator Hub. Veja [metadata de World vs metadata de scene](/creator/content-creator-pt/scene-editor/publish/publish-scene.md#world-metadata-vs-scene-metadata).
{% endhint %}

### Miniatura da scene

A miniatura é definida no campo `navmapThumbnail` . Ela deve ser uma imagem *.png* ou *.jpg* com uma **16:9** proporção de aspecto. O tamanho recomendado é *1920x1080* pixels. Outros tamanhos também são suportados, desde que mantenham a mesma proporção 16:9; caso contrário, a imagem pode ser esticada.

Algumas partes da plataforma exibem uma versão quadrada reduzida da miniatura, recortada até o centro de *1080x1080* pixels. Mantenha tudo o que for essencial, como texto ou logos, dentro dessa área segura para que não seja cortado.

![Área segura da miniatura da scene: a imagem completa de 1920x1080, com o quadrado central de 1080x1080 marcado como a área segura e as faixas esquerda e direita marcadas como recortadas](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-3d512bbb08aca6a9630f7229176099dd565100b5%2Fscene-thumbnail-safe-area.png?alt=media)

A imagem em `navmapThumbnail` deve ser um caminho para um arquivo de imagem na pasta do projeto. Também pode ser um link URL para uma imagem hospedada em outro lugar.

{% hint style="warning" %}
**📔 Nota**: Se você hospedar uma imagem em outro lugar, certifique-se de que seja em um site que tenha políticas CORS permissivas para exibir conteúdo em outros sites.
{% endhint %}

## Categorias

Você pode adicionar categorias à sua scene para ajudar os players a explorar Decentraland. Elas são usadas no [Decentraland Places dApp](https://places.decentraland.org) para categorizar cada lugar e facilitar para os players encontrarem o que lhes interessa.

**Categorias** precisam ser escolhidas a partir de uma lista predefinida de opções:

* 🎨 Arte
* 🕹️ Jogo
* 🃏 Cassino
* 👥 Social
* 🎶 Música
* 👠 Moda
* 🪙 Cripto
* 📚 Educação
* 🛍️ Loja
* 🏢 Negócios
* 🏅 Esportes
* 🏃 Parkour

Uma scene pode pertencer a mais de uma categoria, com um máximo de 3 categorias listadas.

No `scene.json` as categorias são listadas no array `tags` .

Estas são as categorias predefinidas:

* `art`
* `game`
* `casino`
* `social`
* `music`
* `fashion`
* `crypto`
* `education`
* `shop`
* `business`
* `sports`
* `parkour`

Por exemplo, uma scene pode ser marcada como `game` e `casino` adicionando o seguinte ao `scene.json`

```json
  "tags": [
    "game",
    "casino",
  ],
```

Depois disso, a scene é listada no Places dApp sob as `game` e `casino` categorias.

## Classificação etária

O **Classificação etária** campo é usado para classificar o conteúdo da sua scene. Decentraland é uma plataforma 18+. A seguinte opção está disponível:

* **🟡 `A` para adultos (18+)**: Este é o requisito mínimo de idade conforme especificado nos [Termos de Uso](https://decentraland.org/terms). Escolha esta categoria se sua scene apresentar conteúdo apropriado para adultos, como linguagem moderada ou intensa, violência, conteúdo explícito, apostas ou substâncias como álcool, tabaco e drogas.

Ao editar a Classificação etária via o `scene.json`, a classificação é um **código de uma única letra**, escreva **A** para adultos. O `campo rating` fica na raiz da árvore JSON.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-641bfde710b047bcc83949bb7e54c794a59bc7f6%2Fcontent-moderation-flag-icon.png?alt=media)

```json
 "rating": "A"
```

### Conteúdo restrito

Existe uma terceira categoria para scenes: 🔴 `R` para Restrito. Esta classificação é aplicada manualmente pelos Moderadores de Conteúdo a scenes que violem a [Política de Conteúdo](https://decentraland.org/content). As violações podem incluir, mas não se limitam a:

* Conteúdo suspeito ou spam
* Conteúdo abusivo ou de ódio
* Conteúdo sexual ou degradante
* Abuso infantil
* Assédio ou bullying
* Promoção de terrorismo/violência
* Violação de IP/direitos autorais

Scenes com essa classificação não serão carregadas e ninguém conseguirá interagir com elas. Se sua scene se enquadrar nesta categoria, você deve revisá-la e atualizá-la para cumprir a [Política de Conteúdo](https://decentraland.org/content).

## Feature Toggles

Há certos recursos que podem ser desativados em scenes específicas para que os players não possam usá-los de forma abusiva. Configure isso na aba **Settings** das configurações da scene.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-256dd7099b9a9089211e7ce443211d5abfb61de5%2Fscene-restrictions.png?alt=media)

Atualmente, apenas o seguinte recurso é tratado dessa forma:

* **Voice Chat**: Refere-se a players usando seus microfones para conversar por voice chat com outros players próximos.
* **Desativar Portable Experiences**: Esta configuração definirá o comportamento de qualquer portable experience de um player enquanto estiver dentro da sua scene. Isso inclui não apenas [portable experiences](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/portable-experiences.md) mas também [smart wearables](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/smart-wearables.md). Com essa configuração, você pode escolher manter todos habilitados (padrão), desativá-los ou ocultar sua UI. Isso é útil para scenes em que portable experiences podem dar uma vantagem injusta a alguns players, por exemplo usando um jetpack em um desafio de parkour. Também é recomendado impedir isso em scenes onde acontecem transações em blockchain e onde uma portable experience maliciosa poderia potencialmente se passar pela UI da scene.

No `scene.json` arquivo, esses toggles são gerenciados em `featureToggles`. Os recursos correspondentes são habilitados por padrão, a menos que sejam especificados como *desativados* no `scene.json` arquivo.

```json
"featureToggles": {
    "voiceChat": "disabled",
    "portableExperiences": "enabled" | "disabled" | "hideUi"
},
```

Se uma `featureToggles` propriedade não existir no seu `scene.json` arquivo, crie-a na raiz da árvore JSON.

### Gorjeta

Você pode receber gorjetas de players que visitam sua scene. Para ativar gorjetas, vá para a **Detalhes** aba nas configurações da scene e forneça um endereço Ethereum em **Endereço da wallet do Creator**.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-7e5ad3784efc0fe3c5f96c88d866683e2177e274%2Fcreator-wallet-address.png?alt=media)

Você também pode fornecer o endereço para gorjetas da sua scene no `scene.json` arquivo, no campo `creator` .

```json
  "creator": "0x1234567890123456789012345678901234567890"
```

Quando um player visita sua scene, ele verá um ícone de cofrinho no canto superior esquerdo da tela. Clicar nele abre um modal onde ele pode enviar uma gorjeta para você. Esse menu também pode ser acessado abrindo as informações da sua scene no mapa.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-96c1bf20f0a166699479dd1ef946cf297904caf2%2FTipIcon.png?alt=media)

O modal de gorjeta permite que o player selecione a quantidade de MANA que deseja enviar. O player deve possuir MANA em sua wallet para enviar uma gorjeta. Se o endereço fornecido estiver vinculado a um Decentraland NAME, este modal mostrará o nome do proprietário da wallet além do endereço Ethereum.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-25d35de64b10216b0bcf6e2cc8061cf160941673%2Ftipping-modal.png?alt=media)

Você receberá uma notificação na aba de notificações da Decentraland sempre que um player enviar uma gorjeta para você.

## Local de spawn

O **Configurações de spawn** no **Settings** aba definem onde os players aparecem quando acessam sua scene diretamente, seja digitando as coordenadas diretamente no navegador ou teleportando.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-791de650bd7d09ceef08632a0191fbe6f1ac52fa%2Fspawn-point-ui.png?alt=media)

Sua scene pode ter objetos que bloqueiam o movimento dos players se eles surgirem em cima deles, como árvores ou escadas. Sua scene também pode ter terreno elevado. Para impedir que os players apareçam em locais onde não consigam se mover, você pode definir várias posições de spawn em locais específicos.

A posição consiste em coordenadas dentro da scene. Esses números se referem a uma posição dentro do parcel, semelhante ao que você usaria no código da scene em um componente Transform para [posicionar uma entity](/creator/content-creator-pt/scenes-sdk7/fundamentos-de-conteudo-3d/entity-positioning.md).

{% hint style="warning" %}
**📔 Nota**: Todos os spawn points devem estar dentro dos parcels que compõem a scene. Você não pode fazer um player aparecer fora do espaço desses parcels.
{% endhint %}

Marque a caixa **Random Offset** para deslocar aleatoriamente os players que aparecem ao redor do spawn point. Isso evita que todos os players apareçam sobrepostos uns aos outros quando surgem, o que fica especialmente ruim em scenes lotadas. O valor **Max Offset** é a maior distância possível a partir do spawn point original, nos eixos X e Z.

Defina o **Camera Target** para controlar a direção para a qual os players ficam virados quando entram na sua scene. Isso lhe dá mais controle sobre a primeira impressão deles e pode ajudar a direcioná-los para um sentido específico. Por padrão, isso aponta para `{x: 8, y:1, z:8}`, que é o centro da scene para scenes de um único parcel, ou o centro do parcel inferior esquerdo para scenes maiores.

Clique **Add Spawn Point** para listar quantos spawn points quiser. Os players aparecerão aleatoriamente em um deles.

### Spawn points em JSON

Os spawn points também podem ser configurados via o `scene.json` arquivo, no `spawnPoints` .

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
    }
  ],
```

Uma única scene pode ter vários spawn points. Isso é especialmente útil em scenes grandes. Para ter muitos spawn points, basta listá-los como um array.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
	},
	{
      "name": "spawn2",
      "position": {
        "x": 3,
        "y": 1,
        "z": 1
      }
    }
  ],
```

Quando houver vários spawn points, será selecionado o mais próximo das coordenadas indicadas pelo player.

Se um spawn point estiver marcado como `default`, ele sempre será usado, independentemente de ser o mais próximo. Se vários spawn points estiverem marcados como `default`, o mais próximo será selecionado.

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "default": true,
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      }
	},
	{
      "name": "not-used",
      "position": {
        "x": 3,
        "y": 1,
        "z": 1
      }
    }
  ],
```

**Regiões de spawn**

Você pode definir uma região inteira na scene para agir como um spawn point. Ao especificar um array de dois números para cada dimensão da posição, os players aparecerão em um local aleatório dentro desse intervalo. Isso ajuda a evitar que players que entram se sobreponham. Observe que as três dimensões devem usar o mesmo formato: todas com números únicos ou todas com arrays de dois números. Para manter uma dimensão fixa, use um array com o mesmo número duas vezes, como `"y": [1,1]`.

```json
  "spawnPoints": [
    {
      "name": "region",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [2,4]
      }
    }
  ],
```

No exemplo acima, os players podem aparecer em qualquer lugar dentro do quadrado cujos cantos estão em *1,1,2* e *5,1,4*.

Uma scene também pode ter várias regiões de spawn, assim como pode ter vários spawn points.

```json
  "spawnPoints": [
    {
      "name": "region1",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [2,4]
      }
    },
      {
      "name": "region2",
      "position": {
        "x": [1,5],
        "y": [1,1],
        "z": [6,8]
      }
    }
  ],
```

**Rotação**

Você também pode especificar a rotação dos players quando eles surgem, para que fiquem virados em uma direção específica.

Basta adicionar um campo `cameraTarget` aos dados do spawn point. O valor de `cameraTarget` deve fazer referência a um local no espaço, com *x*, *y* e *z* coordenadas relativas à scene, assim como a `position` .

```json
  "spawnPoints": [
    {
      "name": "spawn1",
      "position": {
        "x": 5,
        "y": 1,
        "z": 4
      },
      "cameraTarget": {
        "x": 10,
        "y": 1,
        "z": 4
      }
    }
  ],
```

Este exemplo faz um player surgir em *5, 1, 4* virado para o Leste em direção a *10, 1, 4*. Se a posição de spawn for um intervalo, a rotação do player sempre corresponderá ao alvo indicado. Se houver vários spawn points, cada um pode ter seu próprio alvo separado.

## Permissões necessárias

O `requiredPermissions` propriedade gerencia vários recursos controlados que poderiam ser usados de forma abusiva e prejudicar a experiência de um player.

{% hint style="warning" %}
**📔 Nota**: As permissões só são relevantes em [portable experiences](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/portable-experiences.md) e [smart wearables](/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/smart-wearables.md). Scenes normais (tanto em parcels quanto em Worlds) não são afetadas por essas permissões e podem usar livremente a funcionalidade correspondente.
{% endhint %}

Esses recursos são bloqueados para uso na scene, a menos que a permissão seja solicitada em `scene.json` arquivo.

```json
"requiredPermissions": [
    "ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE",
		"OPEN_EXTERNAL_LINK",
  ],
```

As seguintes permissões podem ser solicitadas:

* `ALLOW_TO_MOVE_PLAYER_INSIDE_SCENE`: Refere-se a [mover um Player](/creator/content-creator-pt/scenes-sdk7/interatividade/avatars/move-player.md)
* `ALLOW_TO_TRIGGER_AVATAR_EMOTE`: Refere-se a [Reproduzir emotes no avatar do player](/creator/content-creator-pt/scenes-sdk7/interatividade/avatars/avatar-animations.md)
* `ALLOW_MEDIA_HOSTNAMES`: *(legado)* Refere-se ao streaming de media (como [video](/creator/content-creator-pt/scenes-sdk7/media/video-playing.md) ou [audio](/creator/content-creator-pt/scenes-sdk7/media/audio-streaming.md)) de domínios externos.
* `USE_WEB3_API`: Refere-se a interagir com as wallets do browser do player, para realizar transações ou assinar mensagens.
* `USE_FETCH`: Refere-se a enviar solicitações HTTP para servidores de terceiros, usando `fetch` ou `signedFetch`
* `USE_WEBSOCKET`: Refere-se a abrir conexões websocket com servidores de terceiros
* `OPEN_EXTERNAL_LINK`: Refere-se a solicitar ao player que abra links para sites externos

Se uma `requiredPermissions` propriedade não existir no seu `scene.json` arquivo, crie-a na raiz da árvore JSON.

Ao usar `ALLOW_MEDIA_HOSTNAMES`, também inclua um campo `allowedMediaHostnames` na raiz, listando os domínios dos quais a scene tem permissão para fazer streaming de media:

```json
"requiredPermissions": [
    "ALLOW_MEDIA_HOSTNAMES"
  ],
"allowedMediaHostnames": [
    "somehost.com",
    "otherhost.xyz"
  ],
```

{% hint style="warning" %}
**📔 Nota**: `ALLOW_MEDIA_HOSTNAMES` e `allowedMediaHostnames` são configurações legadas; você não deveria precisar adicioná-las. Elas eram aplicadas apenas por versões mais antigas do web client; os clients atuais da Decentraland reproduzem media externos sem elas.
{% endhint %}

## Parcels da scene

Ao [fazer deploy de](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing.md) uma scene, o conteúdo é enviado para as coordenadas atribuídas na configuração da scene. Uma scene pode incluir um único parcel, ou uma lista de até dezenas deles.

Edite isso na segunda aba do menu da scene no Scene Editor.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-54a1901635efda3371172e647c03614733baca17%2Fscene-parcels-3x3.png?alt=media)

Use os dropdowns e clique em **Apply Layout** para alterar as dimensões da sua scene. Você também pode clicar em cada parcel individual para removê-lo do seu layout.

![](https://2402076176-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bbc2ecb567600843892a8c8873aaa70107e66839%2Fscene-parcels-toggled.png?alt=media)

A scene padrão tem suas coordenadas definidas como *0,0*. Você não precisa alterar isso enquanto desenvolve uma scene offline, a menos que precise ocupar vários parcels. Você precisará alterar isso antes de fazer deploy para coordenadas nas quais você tenha permissões de deploy.

Você também pode alterar as coordenadas da scene no `scene.json` arquivo:

```json
 "scene": {
    "parcels": [
      "54,-14"
    ],
    "base": "54,-14"
  }
```

O `base` campo define qual parcel considerar o parcel base. Se sua scene tiver um único parcel, o base deve ser esse parcel. Se sua scene tiver vários parcels, o base deve ser o parcel inferior esquerdo (sudoeste). Todas as posições de entity são medidas em relação ao canto sudoeste desse parcel.

Para exibir vários parcels no preview da scene, liste quantos parcels você pretende usar. Eles não precisam ser os parcels exatos para os quais você fará deploy, mas todos devem ser adjacentes e organizados nas mesmas posições relativas.

```json
 "scene": {
    "parcels": [
      "54,-14",  "55,-14"
    ],
    "base": "54,-14"
  }
```

{% hint style="warning" %}
**📔 Nota**: O maior tamanho de scene que você pode definir é de 300 x 300 parcels (90.000 parcels no total).
{% endhint %}

### Defina parcels via a linha de comando

Você pode definir os parcels na sua scene executando o `npx update-parcels` comando na pasta da sua scene. Isso é especialmente útil para scenes grandes, pois você não precisa listar cada parcel envolvido.

{% hint style="warning" %}
**📔 Nota**: `update-parcels` é uma ferramenta da comunidade de terceiros; ela não faz parte do SDK oficial da Decentraland e não é mantida pela Decentraland Foundation.
{% endhint %}

**Parcel único**

Passe um único argumento com as coords da scene. Essa coordenada também é definida como o parcel base.

`npx update-parcels <parcel>`

Por exemplo:

`npx update-parcels 15,-26`

**Múltiplos parcels**

Passe dois argumentos: o parcel do South-West e o parcel do North-East. O parcel do South-West também é definido como o parcel base.

`npx update-parcels <parcel> <parcel>`

{% hint style="info" %}
**💡 Dica**: O parcel do South-West é sempre aquele com os menores números em ambos os *X* e *Y* coordenadas.
{% endhint %}

Por exemplo:

`npx update-parcels 15,-26 17,-24`

Este comando gera uma scene 3x3, com seu parcel base em `15,-26`.

**Personalizar Parcel Base**

Passe três argumentos: o parcel do South-West, o parcel do North-East e o parcel a ser usado como parcel base.

`npx update-parcels <parcel> <parcel> <parcel>`

{% hint style="warning" %}
**📔 Nota**: O parcel base deve ser um dos parcels na scene.
{% endhint %}

**Scenes não quadradas**

Os comandos acima geram todas as scenes em formato retangular. As scenes do Decentraland podem ter formato em L ou outras configurações. Você pode gerar um quadrado maior com `npx update-parcels` e então remover manualmente os parcels excedentes do `scene.json` arquivo.

{% hint style="warning" %}
**📔 Nota**: O parcel base deve ser um dos parcels na scene.
{% endhint %}

## Hora do dia do Skybox

Você pode definir uma hora do dia fixa para sua scene. Todos os players verão a scene com essa hora do dia, e o skybox não seguirá o ciclo dia/noite.

Abra as configurações da scene e clique na **Settings** aba para encontrar a **Skybox** seção. Desmarque a **Auto** opção e defina a hora do dia que você deseja.

Você também pode definir a hora do dia do skybox no código da sua scene. Para isso, adicione a seguinte seção ao seu `scene.json` na raiz:

```json
 "skyboxConfig": {
    "fixedTime": 36000
  }
```

O número refere-se à quantidade de segundos desde o início do dia, variando de 0 (representando *00:00*) até 86400 (representando *24:00*). Qualquer número maior que 86400 também é interpretado como meia-noite.

Aqui estão mais alguns exemplos de valores válidos:

* 0 segundos => *00:00*
* 21600 segundos => *06:00*
* 43200 segundos => *12:00*
* 64800 segundos => *18:00*
* 86400 segundos => *24:00*

## Terreno da paisagem

Scenes publicadas em um [World do Decentraland](https://github.com/decentraland/docs/tree/main/creator/worlds/about.md) são cercadas por uma paisagem gerada automaticamente de campos, árvores e mar. Se essa paisagem não combinar com a estética da sua scene, por exemplo uma scene que flutua em águas abertas ou no espaço, você pode desativá-la. Para isso, adicione o seguinte campo ao seu `scene.json` na raiz:

```json
{
	"landscapeTerrain": false
}
```

Com `landscapeTerrain` definido como `false`, nada é renderizado além dos parcels da sua scene, e os players veem apenas o skybox ao redor da scene. Remover o terreno ao redor também libera recursos de renderização, o que pode ajudar sua scene a funcionar com mais fluidez.

Se o campo não for definido, o padrão é `true` e a paisagem é exibida normalmente.

{% hint style="warning" %}
**📔 Nota**: Este campo se aplica apenas a Worlds que contêm uma única scene. Ele é ignorado em Genesis City, onde os arredores são sempre determinados pelos parcels vizinhos. Você também pode usá-lo ao executar uma preview local da sua scene, para verificar como a scene fica sem a paisagem.
{% endhint %}

## Configuração do World

Ao publicar para um [World do Decentraland](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing-options.md#decentraland-worlds), você pode configurar várias definições específicas do World no seu `scene.json` file usando o `worldConfiguration` objeto.

### Configuração básica do World

Para publicar em um World, você deve especificar o domínio NAME ou ENS no seu `scene.json`:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth"
	}
}
```

O **name** especificado pode ser um Decentraland NAME ou um domínio ENS e deve pertencer à wallet que assina o deployment (ou a qualquer wallet que tenha recebido permissão por meio de Access Control Lists).

### Configuração do serviço de comunicação

O `fixedAdapter` a propriedade indica qual Communication Service deve ser usado pela scene. Por enquanto, apenas o `offline:offline` valor é permitido. Quando definido, a scene não terá nenhum Communication Service, e cada usuário que entrar nesse World estará sempre sozinho. Se não for definido, o content server dos Worlds gerará um valor adequado com base em sua configuração.

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"fixedAdapter": "offline:offline"
	}
}
```

{% hint style="warning" %}
**📔 Nota**: Definir `fixedAdapter` para `"offline:offline"` (ou ativar **Single Player** em World Settings pelo Creator Hub) desativa o live streaming. O recurso de streaming depende da camada de comunicação para entregar vídeo aos viewers. Se você precisar de live streaming no seu World, não use esta opção.
{% endhint %}

### Configuração da listagem em Places

Todos os Worlds são listados automaticamente na página Places, a menos que você opte por não participar. Se desejar impedir que seus Worlds sejam indexados em Places, você pode adicionar o seguinte:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"placesConfig": {
			"optOut": true
		}
	}
}
```

### Exemplo completo

Aqui está um exemplo completo com todas as opções de configuração do World:

```json
{
	"worldConfiguration": {
		"name": "my-name.dcl.eth",
		"fixedAdapter": "offline:offline",
		"placesConfig": {
			"optOut": true
		}
	}
}
```

Veja [Publicando para Worlds](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing.md#publishing-to-worlds) para mais informações sobre fazer deploy em Worlds.

## Obter metadata a partir do código da scene

[Referência da Scene API](https://js-sdk-toolchain.pages.dev/modules/js_runtime_apis.__system_Scene_)

Você pode precisar do código da sua scene para acessar campos dos metadata da scene, como os parcels aos quais a scene está implantada, ou as posições do spawn point. Isso é especialmente útil para scenes que devem ser replicadas, ou para código que deve ser reutilizado em outras scenes. Também é muito útil para libraries que precisam saber onde estão os limites da scene.

Para acessar esses dados, primeiro importe a `getSceneInformation` função:

```ts
import { getSceneInformation } from '~system/Runtime'
```

Depois você pode chamar a `getSceneInformation()` função, que retorna um objeto JSON que inclui a maior parte do conteúdo do arquivo scene.json. O exemplo abaixo mostra como acessar vários dos campos mais comuns da resposta dessa função:

```ts
import { getSceneInformation } from '~system/Runtime'

executeTask(async () => {
  const sceneInfo = await getSceneInformation({})

  if (!sceneInfo) return
  console.log("SCENE INFO: ", sceneInfo)
})
```

{% hint style="warning" %}
**📔 Nota**: `getSceneInformation()` precisa ser executado como uma [async function](/creator/content-creator-pt/scenes-sdk7/padroes-de-programacao/async-functions.md), já que a resposta pode demorar uma fração de segundo ou mais para retornar os dados. Não use a deprecated `getSceneInfo()` função.
{% endhint %}

O objeto retornado por `getSceneInformation()` inclui o seguinte:

* `baseUrl`: A URL base onde o conteúdo da scene está hospedado
* `content`: Um array com todos os arquivos da scene, incluindo seu hash, que pode ser usado junto com a baseUrl para recuperá-los.
* `metadataJson`: O conteúdo completo do scene.json da scene, como uma string. Você deve fazer parse disso para obter valores específicos.
* `urn`: O urn único para a scene como um todo.

O exemplo abaixo faz parse do conteúdo de `metadataJson` para obter valores das propriedades no arquivo scene.json

```ts
import { getSceneInformation } from '~system/Runtime'

executeTask(async () => {
	const sceneInfo = await getSceneInformation({})

	if (!sceneInfo) return

	const sceneJson = JSON.parse(sceneInfo.metadataJson)
	const spawnPoints = sceneJson.spawnPoints
	const parcels = sceneJson.scene.parcels
	console.log({ parcels, spawnPoints })
})
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/tipos-de-projetos/scene-metadata.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
