> 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 cena

Saiba como configurar uma cena e os respetivos metadados.

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

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

## Metadados

Para editar os metadados de uma scene no [Scene Editor no Creator Hub](/creator/content-creator-pt/scene-editor/primeiros-passos/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\&token=21677d31-8915-4809-a60a-6674c7497d98)

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\&token=bab8a071-2670-4426-a54b-3c828aacb380)

Como alternativa, você pode editar diretamente o `scene.json` arquivo, onde todos esses valores são armazenados.

{% hint style="warning" %}
**📔 Observação**: 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 de miniatura para atrair jogadores e ajudá-los a saber o que esperar.

Os jogadores 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 estiverem sendo [teletransportados](/creator/content-creator-pt/scenes-sdk7/interatividade/external-links.md) para lá por outra scene. Configurar dados atraentes aqui pode ajudar significativamente a atrair tráfego para sua scene.

Quando os jogadores 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\&token=8f433eb7-6323-49ba-bacd-2a776cab947b)

Adicione esses dados pelo menu da scene no Scene Editor.

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

{% hint style="info" %}
**📔 Observação**: Os Worlds mantêm seu próprio nome, descrição e miniatura, separados dos metadados da scene. Se um World contiver uma única scene, os metadados do World são atualizados a partir dos metadados da scene em cada publicação. Se contiver várias scenes, os metadados do World são independentes e só podem ser editados no **Gerenciar** aba do Creator Hub. Veja [Metadados do World vs metadados da cena](/creator/content-creator-pt/scene-editor/publicar/publish-scene.md#world-metadata-vs-scene-metadata).
{% endhint %}

### Miniatura da cena

A miniatura é definida no `navmapThumbnail` campo. Ela deve ser uma *.png* ou *.jpg* imagem com uma **16:9** proporção de aspecto. *1920x1080* pixels é o tamanho ideal a ser buscado. Outros tamanhos funcionam desde que mantenham as mesmas proporções 16:9.

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

{% hint style="warning" %}
**📔 Observação**: O Creator Hub recusa imagens que não sejam 16:9. Se você definir `navmapThumbnail` manualmente para uma imagem com outro formato, ela pode ser esticada ou recortada de forma imprevisível pelos clients que a exibem. Veja [Miniatura da cena](/creator/content-creator-pt/scene-editor/configurar/scene-settings.md#scene-thumbnail).
{% endhint %}

![Área segura da miniatura da cena: a imagem completa 1920x1080, com o quadrado central 1080x1080 marcado como á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\&token=0bf6d6ff-956e-4894-b621-19f8287c200c)

A imagem em `navmapThumbnail` deve ser um path 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" %}
**📔 Observação**: Se você hospedar uma imagem em outro lugar, certifique-se de que seja em um site com políticas CORS permissivas para exibir conteúdo em outros sites.
{% endhint %}

## Categorias

Você pode adicionar categorias à sua scene para ajudar os jogadores a explorar a Decentraland. Elas são usadas no [Decentraland Places dApp](https://places.decentraland.org) para categorizar cada lugar e facilitar para os jogadores 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 no máximo 3 categorias listadas.

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

Estas são as categorias predefinidas:

* `arte`
* `jogo`
* `cassino`
* `social`
* `música`
* `moda`
* `cripto`
* `educação`
* `loja`
* `negócios`
* `esportes`
* `parkour`

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

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

Depois disso, a scene é listada no Places dApp nas `jogo` e `cassino` categorias.

## Classificação etária

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

* **🟡 `Um` para Adultos (18+)**: Este é o requisito mínimo de idade, conforme especificado nos [Termos de Uso](https://decentraland.org/terms). Escolha esta categoria se a sua scene apresentar conteúdo apropriado para adultos, como linguagem moderada ou intensa, violência, conteúdo explícito, jogos de azar 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 **Um** para adultos. O `campo de classificação` campo vai 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\&token=8ed8919f-e077-45d4-9687-f0181e7c7835)

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

### Conteúdo Restrito

Há uma terceira categoria para scenes: 🔴 `R` para Restricted. Esta classificação é aplicada manualmente pelos Moderadores de Conteúdo às scenes que violam os [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 esta classificação não serão carregadas e ninguém poderá interagir com elas. Se sua scene se enquadrar nessa categoria, você deve revisá-la e atualizá-la para estar em conformidade com os [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 jogadores não possam usá-los de forma abusiva. Configure-os na **Configurações** aba 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\&token=21fd4ec0-561d-4be3-9c40-6ab7d73128d8)

Atualmente, apenas o seguinte recurso é tratado dessa forma:

* **Voice Chat**: Refere-se a jogadores usando seus microfones para conversar por voice chat com outros jogadores próximos.
* **Desativar Portable Experiences**: Esta configuração definirá o comportamento de qualquer portable experience de um jogador enquanto ele 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 esta configuração, você pode escolher manter todos habilitados (padrão), desativá-los ou ocultar sua UI. Isso é útil para scenes em que portable experiences possam dar uma vantagem injusta a alguns jogadores, por exemplo usando um jetpack em um desafio de parkour. Também é recomendado impedir isso em scenes em que ocorrem transações de blockchain e onde uma portable experience maliciosa poderia potencialmente se passar pela UI da scene.

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

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

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

### Gorjetas

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

![](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\&token=2680fa93-72b5-45d3-a1c6-9df5f6517d97)

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

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

Quando um jogador visita sua cena, ele verá um ícone de cofrinho no canto superior esquerdo da tela. Clicar nele abre um modal onde ele pode enviar uma gorjeta. Este menu também pode ser acessado abrindo as informações da sua cena 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\&token=7cb3c8a4-c8a6-42d9-9d79-8cdc02486f2c)

O modal de gorjeta permite que o jogador selecione a quantidade de MANA que deseja enviar. O jogador deve possuir MANA na sua wallet para enviar uma gorjeta. Se o endereço que você forneceu estiver vinculado a um NAME do Decentraland, este modal mostrará o nome do proprietário da wallet ao lado 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\&token=e52b3950-3993-477a-baa2-606dd4297b69)

Você receberá uma notificação na aba de notificações do Decentraland sempre que um jogador lhe enviar uma gorjeta.

## Local de spawn

O **Configurações de spawn** no **Configurações** aba define onde os jogadores aparecem quando acessam sua scene diretamente, seja digitando diretamente as coordenadas 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\&token=b9c29088-79f3-4dd8-bdb5-196dc5f02763)

Sua scene pode ter objetos que bloqueiam a movimentação dos jogadores se eles spawnarem em cima deles, como árvores ou escadas. Sua scene também pode ter terreno elevado. Para evitar que os jogadores spawnem em locais onde não conseguem se mover, você pode definir múltiplas 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" %}
**📔 Observação**: Todos os spawn points devem estar dentro dos parcels que compõem a scene. Você não pode fazer spawn de um jogador fora do espaço desses parcels.
{% endhint %}

Confira a **Deslocamento aleatório** caixa para deslocar aleatoriamente os jogadores que aparecem ao redor do ponto de spawn. Isso evita que todos os jogadores apareçam sobrepostos quando fazem spawn, o que fica especialmente ruim em scenes lotadas. O **Deslocamento máximo** valor é a distância máxima possível a partir do ponto de spawn original, nos eixos X e Z.

Defina os parâmetros **Camera Target** para controlar a direção para a qual os jogadores ficam voltados quando entram na sua scene. Isso lhe dá melhor controle sobre a primeira impressão deles e pode ajudar a orientá-los para uma direção específica. 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 em **Adicionar ponto de spawn** para listar quantos pontos de spawn você quiser. Os jogadores aparecerão aleatoriamente em um deles.

### Pontos de spawn em JSON

Os pontos de spawn também podem ser configurados via o `scene.json` arquivo, na `spawnPoints` .

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

Uma única scene pode ter vários pontos de spawn. Isso é especialmente útil em scenes grandes. Para ter muitos pontos de spawn, 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 pontos de spawn, é selecionado o mais próximo das coordenadas indicadas pelo jogador.

Se um ponto de spawn for marcado como `default`, ele sempre será usado, independentemente de ser o mais próximo. Se vários pontos de spawn forem 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 ponto de spawn. Ao especificar um array de dois números para cada dimensão da posição, os jogadores aparecerão em um local aleatório dentro desse intervalo. Isso ajuda a evitar que os jogadores que entram fiquem sobrepostos. Observe que as três dimensões devem usar o mesmo formato: ou todas números únicos, ou todos 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 jogadores podem aparecer em qualquer ponto 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 pontos de spawn.

```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 jogadores quando eles spawnarem, para que fiquem voltados para uma direção específica.

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

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

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

## Permissões necessárias

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

{% hint style="warning" %}
**📔 Observação**: 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 ficam bloqueados para uso na scene, a menos que a permissão seja solicitada no `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/avatares/move-player.md)
* `ALLOW_TO_TRIGGER_AVATAR_EMOTE`: Refere-se a [Tocar emotes no avatar do jogador](/creator/content-creator-pt/scenes-sdk7/interatividade/avatares/avatar-animations.md)
* `ALLOW_MEDIA_HOSTNAMES`: *(legacy)* Refere-se ao streaming de mídia (como [vídeo](/creator/content-creator-pt/scenes-sdk7/media/video-playing.md) ou [o áudio](/creator/content-creator-pt/scenes-sdk7/media/audio-streaming.md)) de domínios externos.
* `USE_WEB3_API`: Refere-se à interação com as wallets do navegador do jogador, para fazer transações ou assinar mensagens.
* `USE_FETCH`: Refere-se ao envio de solicitações HTTP para servidores de terceiros, usando `fetch` ou `signedFetch`
* `USE_WEBSOCKET`: Refere-se à abertura de conexões websocket com servidores de terceiros
* `OPEN_EXTERNAL_LINK`: Refere-se a solicitar que o jogador abra links para sites externos

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

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

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

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

## Parcels da scene

Quando [fazendo deploy](/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 isto no segundo separador 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\&token=e7133392-8474-4127-b075-5a3f4e7a4e8d)

Use os dropdowns e clique em **Apply Layout** para alterar as dimensões da sua scene. Também pode clicar em cada parcel individual para a desativar 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\&token=aa4c4612-48ac-458d-afec-453d5168d1e8)

A scene padrão tem suas coordenadas definidas como *0,0*. Você não precisa alterar isso ao desenvolver 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 `atributo base` campo define qual parcel considerar como o parcel base. Se sua scene tiver um único parcel, a base deve ser esse parcel. Se sua scene tiver vários parcels, a base deve ser o parcel inferior esquerdo (South-West). Todas as posições de Entity são medidas em relação ao canto sudoeste desse parcel.

Para exibir vários parcels na pré-visualização 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" %}
**📔 Observação**: O maior tamanho de scene que você pode definir é de 300 x 300 parcels (90.000 parcels no total).
{% endhint %}

### Definir parcels via 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" %}
**📔 Observação**: `update-parcels` é uma ferramenta comunitária de terceiros, 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 coordenadas da scene. Esta coordenada também é definida como o parcel base.

`npx update-parcels <parcel>`

Por exemplo:

`npx update-parcels 15,-26`

**Vários parcels**

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

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

{% hint style="info" %}
**💡 Dica**: O parcel 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: os parcels South-West e North-East, e o parcel a ser usado como parcel base.

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

{% hint style="warning" %}
**📔 Observação**: O parcel base deve ser um dos parcels da scene.
{% endhint %}

**Scenes não quadradas**

Os comandos acima geram scenes em formato retangular. As scenes da 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" %}
**📔 Observação**: O parcel base deve ser um dos parcels da scene.
{% endhint %}

## Hora do dia do skybox

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

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

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 se refere à 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 de paisagem

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

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

Com `landscapeTerrain` definido para `false`, nada é renderizado além dos parcels da sua scene, e os jogadores veem apenas o skybox ao redor da scene. Remover o terreno ao redor também libera recursos de rendering, o que pode ajudar sua scene a rodar de forma mais suave.

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

{% hint style="warning" %}
**📔 Observação**: 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 pré-visualização local da sua scene, para verificar como a scene fica sem a paisagem.
{% endhint %}

## Configuração do World

Ao publicar em um [Decentraland World](/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` arquivo usando o `worldConfiguration` objeto.

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

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

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

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

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

O `fixedAdapter` 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 apropriado com base em como ele está configurado.

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

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

### Configuração da listagem no Places

Todos os Worlds são listados automaticamente na página Places, a menos que você opte por não participar. Se quiser desativar a indexação dos seus Worlds no 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 em Worlds](/creator/content-creator-pt/scenes-sdk7/publicacao/publishing.md#publishing-to-worlds) para mais informações sobre fazer deploy em Worlds.

## Obter metadados 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 metadados da scene, como os parcels para os quais a scene é implantada, ou as posições dos pontos de spawn. 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 o `getSceneInformation` função:

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

Então 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 desta 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" %}
**📔 Observação**: `getSceneInformation()` precisa ser executado como uma [função async](/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 obsoleta `getSceneInfo()` função.
{% endhint %}

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

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

O exemplo abaixo faz o 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
