Arquivos de Cena

Arquivos padrão criados em uma nova cena.

Depois de criar uma nova cenaarrow-up-right, a pasta da cena terá uma série de arquivos com conteúdo padrão.

Arquivos padrão em uma cena

As cenas incluem os seguintes arquivos:

  • src/index.ts: O ponto de entrada da cena.

  • scene.json: O manifesto que contém metadados da cena.

  • package.json e package-lock.json: Especifica as versões de todas as dependências da cena.

  • tsconfig.json: Arquivo de configuração do TypeScript.

  • .dclignore: Lista os arquivos do seu projeto que não serão enviados quando você publicar sua cena.

  • main-composite: Arquivo gerado automaticamente incluindo tudo o que você adicionou e configurou visualmente no Scene Editor no Creator Hub. Não é destinado a ser legível por humanos.

index.ts

Este é o ponto de entrada para o código personalizado da sua cena. Você poderia colocar toda a lógica da sua cena neste arquivo, embora por clareza na maioria dos casos recomendemos espalhar seu código por vários outros .ts arquivos.

Se você depender apenas do Scene Editor e Smart Itemsarrow-up-right, você não precisará modificar este arquivo.

Se você pretende escrever código personalizado, muito provavelmente só precisará editar este e outros arquivos .ts para criar sua cena. Ele contém o código que gera os entities, componentsarrow-up-right e systemsarrow-up-right da sua cena.

Ao executar a cena, o conteúdo dos seus .ts arquivos é compilado em um único minificado .js arquivo, bin/scene.js.

circle-exclamation

scene.json

O scene.json file é um manifesto formatado em JSON para uma cena no mundo. Uma cena pode abranger um ou vários lotes LAND. O scene.json manifest descreve quais objetos existem na cena, uma lista de quaisquer assets necessários para renderizá-la, informações de contato do proprietário do lote e configurações de segurança.

A maioria dos campos no scene.json file pode ser editada diretamente na interface do Scene Editor. Veja Scene Settingsarrow-up-right.



Para mais informações veja metadados da cenaarrow-up-right.

Todos esses metadados são opcionais para pré-visualizar a cena localmente, mas parte deles é necessária para o deploy. Você pode alterar essas informações manualmente a qualquer momento.

package.json

Este arquivo fornece informações ao NPM que permitem identificar o projeto, assim como gerenciar as dependências do projeto. As cenas da Decentraland requerem um package principal:

  • @dcl/sdk: A dependência fundamental do Decentraland SDK, incluindo definições e tipos para o engine, componentes, systems, etc.

  • @dcl/js-runtime: Uma série de declarações de tipo que tornam a integração do @dcl/sdk mais suave.

Sua cena pode incluir qualquer número de outros pacotes, por exemplo para incluir librariesarrow-up-right que podem ajudar a tornar a escrita de código mais fácil, ou habilitar funcionalidades especiais.

package-lock.json

Este arquivo lista as versões de todas as outras dependências do projeto. Essas versões são travadas, o que significa que o compilador usará literalmente o mesmo release menor listado aqui.

Você pode alterar qualquer versão de pacote manualmente editando este arquivo.

tsconfig.json

Diretórios contendo um tsconfig.json file são diretórios raiz para projetos TypeScript. O tsconfig.json file especifica os arquivos raiz e as opções necessárias para compilar seu projeto de TypeScript para JavaScript.

Ao instalar quaisquer bibliotecas adicionais na sua cena, uma entrada deve ser adicionada automaticamente a este arquivo. Para instalar bibliotecas utilitárias da Decentraland, não deve ser necessário fazer alterações manuais neste arquivo.

Locais de arquivo recomendados

Tenha em mente que quando você publica sua cena na Decentraland, quaisquer assets ou libraries externas necessárias para usar sua cena devem estar empacotados dentro da pasta da cena ou disponíveis via um servidor remoto.

Tudo que for destinado a rodar no cliente do jogador deve estar localizado dentro da pasta da cena. Você não deve referenciar arquivos ou libraries que estejam instalados em outro lugar na sua máquina local, pois eles não estarão disponíveis para a cena publicada.

Sugerimos usar esses nomes de pasta de forma consistente para armazenar os diferentes tipos de assets que sua cena pode precisar:

  • Modelos 3D: assets/scene/models

  • Vídeos: assets/scene/videos

  • Arquivos de som: assets/scene/sounds

  • Arquivos de imagem para texturas (exceto para modelos glTF): assets/scene/materials

  • .ts definições para componentes /src/components

  • .ts definições para systems /src/systems

circle-exclamation
circle-exclamation

Ao importar quaisquer assets via o Scene Editor, eles são adicionados automaticamente dentro da pasta assets/scene . Quando usar quaisquer dos assets padrão nos Asset Packs do Scene Editor, seus arquivos são adicionados à pasta assets/builder .

O arquivo dclignore

Todas as cenas incluem um .dclignore file, este arquivo especifica quais arquivos na pasta da cena devem ser ignorados ao fazer o deploy de uma cena para a Decentraland.

Por exemplo, você pode querer manter os arquivos do Blender dos modelos 3D da sua cena dentro da pasta da cena, mas deseja impedir que esses arquivos sejam publicados na Decentraland. Nesse caso, você poderia adicionar *.blend para .dclignore para ignorar todos os arquivos com essa extensão.

O que ignorar
Exemplo
Descrição

Arquivos específicos

BACKUP.ts

Ignora um arquivo específico

Pastas

drafts/

Ignora todo o conteúdo de uma pasta e suas subpastas

Extensões

*.blend

Ignora todos os arquivos com uma determinada extensão

Seções de nome

test*

Ignora todos os arquivos com nomes que correspondam à consulta. Neste caso, que começam com test

Atualizado