# Depurar na pré-visualização

Executar uma pré-visualização fornece algumas informações e ferramentas úteis de depuração para ajudar a entender como a scene é renderizada.

Se a scene não puder ser compilada, você verá apenas o ground vazio, sem nada renderizado nele. Se isso acontecer, há vários lugares onde você pode procurar mensagens de erro para ajudar a entender o que correu mal:

1. Verifique o seu editor de código para se certificar de que ele não assinalou erros de sintaxe ou de lógica.
2. Verifique a console na janela de preview para quaisquer mensagens de erro. Abra a console clicando no ![](/files/8f0813ad7abf6ffa88746313ff666efe1ff95ca5) ícone no canto superior direito.
3. Se executou a scene usando o Creator Hub, verifique a janela com a saída da console da scene. Se executou a scene usando a CLI, verifique a saída da linha de comandos onde executou `npm run start`

{% hint style="info" %}
**💡 Dica**: Antes de publicar a sua scene no ambiente de produção, publique-a no ambiente de teste para experimentá-la num contexto muito mais próximo da produção. Veja [Fluxo de trabalho de desenvolvimento](/creator/content-creator-pt/scenes-sdk7/comecar/dev-workflow.md#deploy-to-the-test-environment)
{% endhint %}

## Usar a console

Abra a console clicando no ![](/files/8f0813ad7abf6ffa88746313ff666efe1ff95ca5) ícone no canto superior direito.

Também pode alterná-la pressionando a tecla backtick no seu teclado: **`**. Esta tecla fica à esquerda da tecla 1 na maioria dos teclados em inglês. Ou, em alternativa, pressione Shift + **\`** para abrir uma vista mais ampla da console, caso precise de ver mais texto.

Enviar mensagens para a console (usando `console.log()`). Depois, pode ver estas mensagens à medida que são geradas, abrindo a console da scene.

A console também mostra mensagens de erro, estas aparecem a vermelho.

## O painel de debug

Abra a console de debug clicando no ![](/files/01fb1f49321d14ef91f8a6aa8e5896e2cd48320a) ícone no canto superior direito.

Isto abre um painel no canto inferior direito com informações sobre o renderer engine, e é atualizado em tempo real à medida que as coisas mudam.

![](/files/b83a1d52375618f9ff035b6e9eea5eb7972e89fa)

### Scene atual

A **SCENE ATUAL** tab inclui informações sobre a scene em que está atualmente. Isto inclui:

* O número de parcels na scene
* A altura máxima em que lhe é permitido construir (que é proporcional ao número de parcels na scene)

Também pode verificar a opção **Show Scene Bounds** para ver paredes vermelhas à volta da scene, que assinalam os limites da scene.

### Memória

A **MEMÓRIA** secção apresenta a memória usada pelo Decentraland. Tente sempre manter este valor abaixo dos **Limites do orçamento de memória**. Se este valor crescer demasiado, corre o risco de bloquear a app para os jogadores que visitam a sua scene. Tenha em atenção que, em produção, a scene pode ser carregada juntamente com outras scenes e jogadores nas redondezas, o que pode contribuir para aumentar o consumo de memória acima do que vê no preview.

### Desempenho

A **DESEMPENHO** tab inclui vários campos relacionados com *FPS* (Frames Per Second). Este valor tende a ser mais baixo à medida que a scene se torna mais complexa; certifique-se de que mantém sempre este valor acima de 25 FPS, para garantir uma boa experiência para os seus jogadores. O FPS irá variar consoante a máquina em que estiver a executar isto.

O valor mais importante aqui é o **FPS médio**, que faz a média dos FPS dos últimos 1000 frames.

![](/files/f8035d2ce38052cd172f80cebe321a326e753d5a)

{% hint style="warning" %}
**📔 Nota**: O FPS do renderer não é o mesmo que as atualizações da scene do game loop por segundo. A lógica da scene é limitada a 30 FPS, o FPS do renderer pode ir até 60 ou mais.
{% endhint %}

Hiccups referem-se a pausas momentâneas na taxa de frames, que podem ter pouco impacto no valor geral de FPS, mas podem ser muito percetíveis para o jogador. Normalmente, isto pode acontecer quando assets pesados são carregados ou em situações semelhantes.

### Pedidos Web

A **PEDIDOS WEB** secção permite abrir a aba Network do Chrome Devtools, que mostra o número de pedidos web feitos pela scene e o respetivo conteúdo. Isto é útil para saber se a scene está a fazer pedidos em excesso para servers, o que pode afetar o desempenho da scene.

Se a sua scene interagir com um server de terceiros, muitas vezes é útil ver que dados entram e saem. Clique **Open Chrome Devtools** para abrir uma nova janela do Chrome com a aba Network aberta.

{% hint style="warning" %}
**📔 Nota**: Para usar esta funcionalidade, tem primeiro de instalar o [Creator Hub](/creator/content-creator-pt/scene-editor/comecar/editor-installation.md), uma vez que as dependências necessárias vêm incluídas nessa instalação.

Não precisa de ter o Creator Hub aberto nem de executar o preview da sua scene através do Creator Hub para usar esta funcionalidade; também pode ser usada se estiver a usar a CLI para executar o preview da sua scene.
{% endhint %}

Como alternativa, existem várias ferramentas gratuitas que pode executar na sua máquina e que reportam todos os dados que entram e saem da aplicação Decentraland. Por exemplo [Charles](https://www.charlesproxy.com/) ou [Wireshark](https://www.wireshark.org/).

## Recarregamento rápido

Sempre que faz alterações à scene, o preview recarrega e atualiza automaticamente, pelo que não precisa de abrir e fechar a janela de preview.

Se precisar de recarregar a scene em que está, clique no **Reload Scene** botão no canto superior esquerdo da janela de preview.

![](/files/d6b0f95781bdc1d64ae0dfb063462c062158587f)

Também pode recarregar a scene escrevendo o seguinte no chat e pressionando enter:

`/reload`

## Reportar um bug

Se encontrar um problema que não é com a sua scene, mas sim com o Decentraland SDK em geral, consulte [Reportar um bug](/creator/content-creator-pt/scenes-sdk7/depuracao/report-bug.md).

## Versões das dependências

Certifique-se de que usa sempre as versões mais recentes de todas as dependências na sua scene, uma vez que quaisquer problemas que esteja a experimentar podem já estar corrigidos em versões mais recentes. O Creator Hub notificá-lo-á quando houver atualizações para instalar na sua scene do Decentraland.

![](/files/633bb0b2c1f8c1744dc90f59af6fdfe58f7796d9)

Também pode atualizar manualmente as dependências através da linha de comandos. Executar uma scene do Decentraland localmente depende de duas libraries principais: `@dcl/sdk` e `@dcl/js-runtime`, que é instalado em cada pasta de projeto. Certifique-se de que ambos estão atualizados. Pode executar os seguintes comandos para atualizar manualmente estas duas libraries para a versão estável mais recente:

```
npm i @dcl/js-runtime@latest
npm i @dcl/sdk@latest
```

Se a sua scene usar smart items, também pode estar a usar a library `@dcl/asset-packs` que pode atualizar através de:

```
npm i @dcl/asset-packs@latest
```

Se estiver a usar alguma das [bibliotecas utils](https://studios.decentraland.org/resources?sdk_version=SDK7\&resource_type=Library) certifique-se também de que estão atualizadas, pois versões mais antigas destas libraries podem não ser compatíveis com versões mais recentes de `@dcl/sdk`.

## Condições de iluminação

A hora do dia no mundo tem um grande impacto na aparência dos modelos 3d. A cor da light source muda subtilmente, tendo um tom azulado à noite e um tom avermelhado durante o nascer e o pôr do sol. A direção da luz também se move pelo céu, lançando sombras em diferentes direções.

Verifique se a sua scene fica bem em todas as horas do dia, alterando o relógio do jogo para diferentes valores. Clique no **skybox time** ícone no painel esquerdo do ecrã para definir qualquer hora que preferir. Se este slider estiver a cinzento, certifique-se de que a opção **Auto** está desativada.

<figure><img src="https://github.com/decentraland/docs-creator/blob/main/images/media/daylight-settings.png" alt="Dynamic skybox" width="300"><figcaption><p>Instruções no mundo</p></figcaption></figure>

Os materiais do seu modelo 3d podem não ter o mesmo aspeto que tinham na ferramenta de modelação com a qual o criou. Isto é esperado, uma vez que todos os 3d rendering engines têm diferenças subtis na forma como lidam com a luz e os materials.

Também pode configurar a sua scene para que a hora do dia seja fixa e a iluminação não mude. Veja [Skybox control](/creator/content-creator-pt/scenes-sdk7/interatividade/skybox-control.md) para mais detalhes.

## Testes multijogador

Se iniciar um preview de uma scene e o abrir em duas (ou mais) janelas Explorer diferentes, cada janela aberta será interpretada como um jogador separado, e um mock communications server manterá estes jogadores sincronizados.

Interaja com a scene numa janela e depois mude para a outra para ver que os efeitos dessa interação também são visíveis lá.

Usando o Creator Hub, clique no botão Preview uma segunda vez, e isso abre uma segunda janela do Decentraland Explorer. Tem de se conectar em ambas as janelas com endereços diferentes. As mesmas sessions permanecerão abertas à medida que a scene recarrega. Pode ser necessário terminar sessão e iniciar sessão novamente na segunda janela para selecionar uma conta diferente.

![](/files/465409d90d75e560b57bd495eeb6cde4213f8cf1)

Ambos os jogadores verão um ao outro e podem interagir entre si. Se a scene tiver alguma lógica multijogador, ela funcionará como esperado e será sincronizada entre os dois jogadores.

Como alternativa, pode abrir uma segunda janela do Decentraland Explorer escrevendo o seguinte num URL do browser:

> `decentraland://realm=http://127.0.0.1:8000&local-scene=true&debug=true&multi-instance=true`

## Usar a Ethereum test network

Ao testar a sua scene, para evitar transferir MANA real ou outras moedas, pode usar a Ethereum Sepolia test network e transferir MANA de teste falso em vez disso.

Para usar a test network, tem de definir a extensão Chrome do Metamask para usar a *Sepolia test network* em vez da *Main network*. Também tem de possuir MANA na blockchain Sepolia, que pode obter gratuitamente da Decentraland.

{% hint style="info" %}
**💡 Dica**: Para executar a transação de transferência de Sepolia MANA para a sua wallet, terá de pagar uma gas fee em Sepolia Ether.
{% endhint %}

Quaisquer transações que aceite enquanto visualiza a scene neste modo ocorrerão apenas na test network e não afetarão o saldo de MANA na sua wallet real.

Para fazer o preview da sua scene usando a test network, cole o seguinte URL numa aba do browser. Isto abrirá a scene no cliente desktop do Decentraland:

> decentraland://realm=<http://127.0.0.1:8000\\&local-scene=true\\&debug=true\\&dclenv=zone\\&position=0,0>

{% hint style="info" %}
**💡 Dica**: Altere o parâmetro position para as coordenadas da sua scene, para carregar diretamente na sua scene.. Quaisquer transações que aceite enquanto visualiza a scene neste modo ocorrerão apenas na test network e não afetarão o saldo de MANA na sua wallet real.
{% endhint %}

Se precisar de testar transações na Polygon Testnet e precisar de ter MANA nessa testnet, terá de trocar MANA para essa network depois de o adquirir em Sepolia. Para fazer a bridge de Sepolia MANA para a Polygon Testnet, visite a página da sua conta Decentraland em Sepolia e clique em ‘swap’ no lado Ethereum MANA.


---

# Agent Instructions: 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:

```
GET https://docs.decentraland.org/creator/content-creator-pt/scenes-sdk7/depuracao/debug-in-preview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
