> 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-zh/chang-jing-sdk7/tiao-shi/debug-in-preview.md).

# 在预览中调试

如何在本地预览运行时调试你的场景

运行预览会提供一些有用的调试信息和工具，帮助你了解场景是如何渲染的。

如果场景无法编译，你只会看到空地，上面不会渲染任何内容。如果发生这种情况，你可以在几个地方查找错误消息，以帮助你了解哪里出了问题：

1. 检查你的代码编辑器，确认它没有标记任何语法或逻辑错误。
2. 检查预览窗口中的控制台是否有任何错误消息。点击以下图标打开控制台： ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a673f6b987216e9e471fdac882879c44fcf94652%2Fconsole-icon.png?alt=media\&token=1965a51b-d4b0-4caa-b9d5-d24d738c1fb8) 右上角的图标。
3. 如果你是使用 Creator Hub 运行场景的，请检查显示场景控制台输出的窗口。如果你是使用 CLI 运行场景的，请检查你运行命令行时的输出 `npm run start`

{% hint style="info" %}
**💡 提示**：在将场景发布到生产环境之前，你可以先发布到一个 [Decentraland World](/creator/content-creator-zh/chang-jing-sdk7/fa-bu/publishing-options.md#decentraland-worlds) ，以便在一个更接近生产环境的场景中进行测试。
{% endhint %}

## 使用控制台

通过点击以下内容打开控制台： ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a673f6b987216e9e471fdac882879c44fcf94652%2Fconsole-icon.png?alt=media\&token=1965a51b-d4b0-4caa-b9d5-d24d738c1fb8) 右上角的图标。

你也可以按键盘上的反引号键来切换它： **`**。在大多数英文键盘上，这个键位于 1 键左侧。或者按 Shift + **\\`** 以打开更宽的控制台视图，以便在需要查看更多文本时使用。

将消息输出到控制台（使用 `console.log()`）。然后你可以通过打开场景控制台来查看这些消息的生成过程。

控制台还会显示错误消息，这些消息会以红色标记。

## 调试面板

通过点击以下内容打开调试控制台： ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-92fe4dd70621a496d0da083ae9b5f9b2ef84d2dd%2Fdebug-icon.png?alt=media\&token=42a33cd5-b516-43ea-a6b3-8c33c21e4359) 右上角的图标。

这会在右下角打开一个面板，其中包含关于渲染引擎的信息，并会随着内容变化实时更新。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-ccb91c00f390553253215ec2c18eef6d50f22c5c%2Fdebug-panel.png?alt=media\&token=9ed3d1ce-b3de-48ab-9cca-df617ebc0ff9)

### 当前场景

该 **当前场景** 选项卡包含你当前所在场景的信息，包括：

* 场景中的地块数量
* 允许建造的最大高度（每个场景为 330 米）

你还可以查看 **显示场景边界** 选项，以查看场景周围的红色墙壁，它们标示了场景的边界。

### 内存

该 **内存** 部分显示 Decentraland 使用的内存。请始终尽量将此值保持在以下阈值之下： **内存预算阈值**。如果这个值过高，可能会导致访问你场景的玩家应用崩溃。请记住，在生产环境中，场景可能会与周围其他场景和玩家一起加载，这些都会使内存消耗高于你在预览中看到的数值。

### 性能

该 **性能** 选项卡包含几个与以下内容相关的字段： *FPS* （每秒帧数）。随着场景复杂度增加，这个值通常会降低，请务必始终将其保持在 25 FPS 以上，以确保玩家获得良好的体验。FPS 会因运行此场景的机器而异。

这里最重要的值是 **平均 FPS**，它取最近 1000 帧的 FPS 的平均值。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5476d0417a1f29680ff83a9352543acb34dc1ce6%2Ffps-debug-panel.png?alt=media\&token=e913e876-f4ba-4288-a1d1-7bb3657634b9)

{% hint style="warning" %}
**📔 注**：渲染器的 FPS 与场景每秒的游戏循环更新次数并不相同。场景逻辑上限为 30 FPS，渲染器的 FPS 可以达到 60 或更高。
{% endhint %}

卡顿指的是帧率的短暂停顿，它们可能对总体 FPS 数值影响不大，但玩家会非常明显地感受到。通常在加载大型资源或类似情况时会发生。

### 网络请求

该 **网络请求** 部分允许你打开 Chrome Devtools 的 Network 选项卡，它会显示场景发出的网络请求数量及其内容。这样可以帮助你了解场景是否向服务器发出了过多请求，因为这会影响场景性能。

如果你的场景与第三方服务器交互，查看进出数据通常会很有帮助。点击 **打开 Chrome Devtools** 以打开一个新的 Chrome 窗口，并自动打开 Network 选项卡。

{% hint style="warning" %}
**📔 注**：要使用此功能，你必须先安装 [Creator Hub](/creator/content-creator-zh/chang-jing-bian-ji-qi/ru-men/editor-installation.md)，因为所需依赖已包含在该安装包中。

你无需打开 Creator Hub，或通过 Creator Hub 运行场景预览即可使用此功能；如果你是使用 CLI 运行场景预览，也可以使用它。
{% endhint %}

作为替代方案，你也可以在本机上运行一些免费工具，它们会报告进出 Decentraland 应用程序的所有数据。例如 [Charles](https://www.charlesproxy.com/) 或 [Wireshark](https://www.wireshark.org/).

## 快速重新加载

每当你对场景进行更改时，预览都会自动重新加载并更新，因此无需关闭再打开预览窗口。

如果你需要重新加载你当前所在的场景，请点击 **重新加载场景** 预览窗口左上角的按钮。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-aee1c0d965e8eb0be4dce2269a40c7bd34e3a867%2Freload-button.png?alt=media\&token=1c3606d7-cfb0-4588-9371-74003b685655)

你也可以在聊天框中输入以下内容并按回车来重新加载场景：

`/reload`

## 报告错误

如果你遇到的问题不是场景本身的问题，而是 Decentraland SDK 本身的问题，请参见 [报告错误](/creator/content-creator-zh/chang-jing-sdk7/tiao-shi/report-bug.md).

## 依赖版本

请确保你始终使用场景中所有依赖的最新版本，因为你遇到的任何问题可能已经在更新版本中修复。当你的 Decentraland 场景有可安装更新时，Creator Hub 会通知你。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-dfb7f58f6d4c56c78eb70530feed95cf300b0876%2Fnew-dependencies.png?alt=media\&token=c4781a34-65b5-4b90-bec1-74696f2c64eb)

你也可以通过命令行手动更新这些依赖。要在本地运行 Decentraland 场景，主要依赖两个库： `@dcl/sdk` 和 `@dcl/js-runtime`，它安装在每个项目文件夹中。请确保这两个库都已是最新版本。你可以运行以下命令手动将这两个库更新到最新稳定版：

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

如果你的场景使用了 smart items，它也可能在使用 `@dcl/asset-packs` 库，你可以通过以下方式更新：

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

如果你正在使用以下任何 [utils 库](https://studios.decentraland.org/resources?sdk_version=SDK7\&resource_type=Library) 请确保它们也都是最新版本，因为这些库的旧版本可能与更高版本的 `@dcl/sdk`.

## 光照条件

场景内的时间对 3D 模型的外观有很大影响。光源颜色会细微变化，夜晚带有蓝色调，日出和日落时则带有红色调。光照方向也会在天空中移动，从而在不同方向投下阴影。

通过将游戏时钟切换到不同数值，检查你的场景在一天中的各个时段看起来是否都不错。点击 **天空盒时间** 屏幕左侧面板上的图标，以设置你喜欢的任意时间。如果此滑块是灰色的，请确保 **自动** 选项已禁用。

<figure><img src="https://github.com/decentraland/docs/blob/main/creator/images/daylight-settings.png" alt="Dynamic skybox" width="300"><figcaption><p>场景内说明</p></figcaption></figure>

你的 3D 模型材质看起来可能与创建它的建模工具中不完全相同。这是正常的，因为所有 3D 渲染引擎在处理光照和材质方面都有细微差异。

你也可以将场景设置为固定时间，且光照不随时间变化。请参阅 [天空盒控制](/creator/content-creator-zh/chang-jing-sdk7/jiao-hu-xing/skybox-control.md) 了解更多详情。

## 多人测试

如果你启动场景预览并在两个（或更多）不同的浏览器窗口中打开，每个打开的窗口都会被视为一个独立玩家，而一个模拟通信服务器会让这些玩家保持同步。

在一个窗口中与场景交互，然后切换到另一个窗口，你会看到该交互的效果也会在那里显示。

使用 Creator Hub，开启 **多实例预览** 在 **桌面客户端** 的子菜单中 **播放选项**，然后点击 **播放** 按钮第二次，以打开第二个 Decentraland 浏览器窗口。你必须在两个窗口中使用不同地址进行连接。即使场景重新加载，相同会话也会保持打开。你可能需要先在第二个窗口退出并重新登录，才能选择不同的账户。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-30317b50bc4b4e646a1b28effe1ff76939ab0f28%2Fpreview-button.png?alt=media\&token=fbed0f2f-8063-4283-9b07-2d964c9c0e68)

两名玩家都能看到彼此，也可以相互交互。如果场景中有任何多人逻辑，它将按预期工作并在两位玩家之间同步。

作为替代方案，你可以通过在浏览器 URL 中输入以下内容来打开第二个 Decentraland 浏览器窗口：

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

## 使用以太坊测试网络

在测试场景时，为避免转移真实的 MANA 或其他货币，你可以使用以太坊 Sepolia 测试网络，并改为转移假的测试网 MANA。

要使用测试网络，你必须将 Metamask Chrome 扩展设置为使用 *Sepolia 测试网络* 而不是 *主网*。你还必须在 Sepolia 区块链上拥有 MANA，你可以从 Decentraland 免费获取。

{% hint style="info" %}
**💡 提示**：要执行将 Sepolia MANA 转入你钱包的交易，你需要用 Sepolia Ether 支付 gas 费用。
{% endhint %}

你在此模式下查看场景时所接受的任何交易都只会发生在测试网络中，不会影响你真实钱包中的 MANA 余额。

要使用测试网络预览你的场景，请将以下 URL 粘贴到浏览器标签页中。这将在 Decentraland 桌面客户端中打开该场景：

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

{% hint style="info" %}
**💡 提示**：将 position 参数更改为你场景的坐标，以直接加载到你的场景中。。你在此模式下查看场景时所接受的任何交易都只会发生在测试网络中，不会影响你真实钱包中的 MANA 余额。
{% endhint %}

如果你需要在 Polygon Testnet 上测试交易，并且需要在该测试网中拥有 MANA，那么你需要先在 Sepolia 获取 MANA，然后再将其兑换到该网络。要将 Sepolia MANA 跨链到 Polygon Testnet，请访问你在 Sepolia 中的 Decentraland 账户页面，并在以太坊 MANA 一侧点击“swap”。


---

# 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-zh/chang-jing-sdk7/tiao-shi/debug-in-preview.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.
