> 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) 右上角的图标以打开控制台。
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) 右上角的图标以打开控制台。

还可以按键盘上的反引号键切换显示： **`**。在大多数英文键盘上，这个键位于 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) 右上角的图标以打开控制台。

右下角会打开一个面板，显示有关渲染器引擎的信息，并会随着内容变化实时更新。

![](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)

### 当前场景

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

* 场景中的地块数量
* 允许你建造的最大高度（与场景中的地块数量成正比）

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

### 内存

该 **内存** 部分显示 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)

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

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

### 网络请求

该 **网络请求** 部分允许你打开 Chrome 开发者工具的 Network 选项卡，其中显示场景发出的网络请求数量及其内容。了解场景是否向服务器发出过多请求很有用，因为这会影响场景性能。

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

{% hint style="warning" %}
**📔 注意**：要使用此功能，你必须先安装 [创作者中心](/creator/content-creator-zh/chang-jing-bian-ji-qi/kai-shi-shi-yong/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)

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

`/reload`

## 报告错误

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

## 依赖版本

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

![](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)

你也可以通过命令行手动更新这些依赖。要在本地运行 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-creator/blob/main/images/media/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) 了解更多详情。

## 多人测试

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

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

使用 Creator Hub 时，再次点击预览按钮，会打开第二个 Decentraland explorer 窗口。你必须在两个窗口中使用不同的地址连接。场景重新加载时，同样的会话会保持打开。你可能需要在第二个窗口退出并重新登录，以选择不同的账户。

![](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)

两个玩家都能看到对方，并可以互相交互。如果场景包含任何多人逻辑，它将按预期工作，并在两个玩家之间同步。

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

> `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 账户页面，并点击 Ethereum 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 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-zh/chang-jing-sdk7/tiao-shi/debug-in-preview.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.
