For the complete documentation index, see llms.txt. This page is also available as Markdown.

在预览中调试

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

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

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

  1. 检查你的代码编辑器,确保它没有标记任何语法或逻辑错误。

  2. 检查预览窗口中的控制台是否有任何错误信息。点击以下按钮打开控制台:  右上角的图标。

  3. 如果你使用 Creator Hub 运行了场景,请查看带有场景控制台输出的窗口。如果你使用 CLI 运行了场景,请查看你运行以下命令的命令行输出: npm run start

💡 提示:在将你的场景发布到生产环境之前,你可以先将它发布到一个 Decentraland World ,以在更接近生产环境的上下文中进行测试。

使用控制台

点击以下按钮打开控制台:  右上角的图标。

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

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

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

调试面板

点击以下按钮打开调试控制台:  右上角的图标。

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



当前场景

该 当前场景 选项卡包含你当前站立所在场景的信息。其中包括:

  • 场景中的地块数量

  • 你允许建造的最高高度(每个场景 330 米)

你也可以查看 显示场景边界 选项,以查看场景周围的红色墙壁,它们标示着场景边界。

内存

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

性能

该 性能 选项卡包含多个与以下内容相关的字段: FPS (每秒帧数)。随着场景复杂度增加,这个值通常会降低,请确保始终将其保持在 25 FPS 以上,以保证玩家有良好的体验。FPS 会因你运行它的机器而异。

这里最重要的值是 平均 FPS,它会汇总最近 1000 帧的 FPS。



卡顿指的是帧率的短暂停顿,它可能对整体 FPS 数值影响不大,但玩家可能会非常明显地感觉到。通常在加载较大的资源或类似情况下会出现。

网络请求

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

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

另外,你也可以在本机上运行一些免费的工具,它们可以报告进出 Decentraland 应用程序的所有数据。例如 Charles 或 Wireshark.

快速重新加载

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

如果你需要重新加载你当前站立的场景,请点击 重新加载场景 按钮,位于预览窗口左上角。



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

/reload

报告错误

如果你遇到的问题不是你的场景本身,而是 Decentraland SDK 本身的问题,请参阅 报告错误.

依赖版本

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



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

如果你的场景使用了 smart items,它也可能在使用 @dcl/asset-packs 库,你可以通过以下命令更新:

如果你使用了以下任意 utils 库 ,请确保它们也已更新,因为这些库的旧版本可能与以下新版本不兼容: @dcl/sdk.

光照条件

世界中的一天时间会极大影响 3D 模型的外观。光源颜色会有细微变化,夜晚会偏蓝,日出和日落时会偏红。光线方向也会在天空中移动,从而投下不同方向的阴影。

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

Dynamic skybox
场景内说明

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

你也可以将场景设置为固定时间,光照不发生变化。请参见 天空盒控制 了解更多详情。

多人测试

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

在一个窗口中与场景交互,然后切换到另一个窗口,你会看到该交互的效果在那个窗口中也可见。

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



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

另外,你可以通过在浏览器 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 免费获取。

💡 提示:要执行将 Sepolia MANA 转入你的钱包的交易,你需要以 Sepolia Ether 支付 gas 费。

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

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

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

💡 提示:将 position 参数更改为你场景的坐标,以直接加载到你的场景中。。在此模式下查看场景时,你接受的任何交易都只会发生在测试网络中,不会影响你真实钱包里的 MANA 余额。

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

最后更新于