> 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/ru-men/preview-scene.md).

# 预览你的场景

场景预览中你可以看到的内容

一旦你已经 [创建了一个新场景](#create-your-first-scene) 或下载了一个 [场景示例](https://studios.decentraland.org/resources?sdk_version=SDK7) 就可以在本地预览它。

## 在 Creator Hub 中使用场景编辑器

请确保你已经 [安装了 Creator Hub](https://github.com/decentraland/docs/tree/main/creator/sdk7/get-started/editor-installation.md).

1. 打开你的场景项目。
2. 点击 **播放** 按钮，位于右上角。这将打开一个新窗口，显示 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)

### 选择要预览的位置

点击 **播放** 按钮旁边的箭头以打开 **播放选项** 菜单。主面板是你选择场景运行方式的地方：

* **桌面客户端**：在 Decentraland 桌面浏览器中打开预览。这是默认选项。
* **Web（Bevy）**：在浏览器中使用 Bevy Web 客户端打开预览。等同于 `--web` CLI 标志。
* **显示用于移动设备的二维码**：显示一个二维码，可在 [Decentraland 移动应用](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/yi-dong-ke-hu-duan/overview.md)中打开你的场景预览。用与你电脑处于同一 Wi‑Fi 网络的手机扫描该代码。点击弹窗周围的深色区域即可关闭。详情请参见 [移动端预览](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/kai-fa/preview-on-mobile.md) 。

### 桌面客户端选项

选择 **桌面客户端** 在 **播放选项** 菜单中，然后将鼠标悬停其上以打开子菜单，其中包含仅影响桌面客户端的设置：

* **启用地形景观**：切换场景周围的景观。默认启用，禁用它可降低场景的内存占用。当场景自身设置已经隐藏地形时，它会变灰。
* **多实例预览**：允许多个 Explorer 窗口同时运行，这样你可以 [本地测试多人场景](#test-a-multiplayer-scene-locally)。开启后，每个窗口都会要求你登录，因此你可以在每个窗口中以不同玩家身份连接。仅当你的项目使用 SDK 7.20.4 或更高版本时可见。
* **启用 MCP 服务器**：启动启用了 MCP 自动化服务器的 Explorer，这样 AI 代理就可以看到并控制正在运行的预览。仅当你的项目使用 SDK 7.25.0 或更高版本时可见。参见 [使用 AI 进行 Vibe Coding](/creator/content-creator-zh/chang-jing-sdk7/ru-men/vibe-coding.md#let-the-ai-see-your-scene-in-world) 了解完整流程。
* **压缩资源**：使用本地生成的资源包预览场景，与在生产环境中经过 [资源包转换](/creator/content-creator-zh/chang-jing-sdk7/you-hua/performance-optimization.md#asset-bundle-conversion)后渲染的效果一致。首次运行会转换所有资源，大型场景可能需要几分钟。仅当你的平台和项目的 SDK 版本支持时可见。参见 [使用优化后的资源进行预览](#preview-with-optimized-assets).

场景的控制台输出不需要菜单选项。每次运行预览时 Creator Hub 都会为你打开它。参见 [Creator Hub 控制台](#the-creator-hub-console).

{% hint style="info" %}
**提示：** 你也可以直接在 Decentraland 移动应用中预览你的场景。使用 **显示用于移动设备的二维码** 选项在 Creator Hub 中，或运行 `npm run start -- --mobile` 从 CLI。参见 [移动端预览](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/kai-fa/preview-on-mobile.md) 。
{% endhint %}

## 使用 CLI

要预览场景，请在该场景的主文件夹中运行以下命令：

```bash
npm run start
```

任何缺失的依赖项都会被安装，然后 CLI 会在你的系统中创建一个本地 Web 服务器，并通过一个 `decentraland://` 深度链接在 Decentraland 桌面客户端中启动场景。桌面客户端是默认的预览目标。

若要改为在浏览器标签页中预览，请添加 `-- --web` （或 `-- --bevy-web`）以在以下地址的 Bevy Web 客户端中打开场景： `decentraland.org/bevy-web/`.

每次你对场景进行更改时，预览都会自动重新加载并更新，因此无需再次运行命令。

{% hint style="warning" %}
**📔 注**：有些场景依赖与外部服务器通信来执行自定义逻辑，或存储和检索数据。预览这些场景之一时，你很可能还需要在另一端口上本地运行服务器。请查看场景的 readme，了解如何同时启动服务器和场景的说明。
{% endhint %}

### 预览命令的参数

你可以向 `npm run start` 命令添加以下标志来更改其行为：

* `-- --web` （别名 `-- --bevy-web`）会在 `decentraland.org/bevy-web/` 而不是 Desktop Explorer 中，在 Bevy Web 浏览器客户端里打开预览。基于 Chromium 的浏览器（Chrome 142+）需要本地网络访问权限才能让托管页面访问你的本地预览服务器——当浏览器请求访问你设备上的应用时，点击“允许”。
* `-- --mobile` （别名 `-- -m`）会在终端中显示一个二维码，可在 [Decentraland 移动应用](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/yi-dong-ke-hu-duan/overview.md) 的手机上打开你的场景，该手机需连接到同一 Wi‑Fi 网络。参见 [移动端预览](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/kai-fa/preview-on-mobile.md).
* `-- --skip-build` 跳过构建，仅在预览模式下提供文件。
* `-- --port` （别名 `-- -p`）以分配一个特定端口来运行场景。否则将使用任何可用端口。
* `-- --no-browser` （别名 `-- -b`）以阻止预览打开新的浏览器标签页。
* `-- -w` 或 `-- --no-watch` 以不监视文件系统更改，并在场景代码变化时避免热重载。
* `-- --ci` 在远程 Unix 服务器上运行 parcel 预览器。
* `-- --multi-instance` 允许同时运行多个 Explorer 实例。
* `-- --local-ab` 使用优化后的资源包预览。Decentraland Explorer 会在预览过程中自行将场景资源转换为资源包，效果与生产环境中的渲染一致。等同于 Creator Hub 中的 **压缩资源** 选项。仅适用于桌面客户端（不适用于 Bevy Web 客户端）。参见 [使用优化后的资源进行预览](#preview-with-optimized-assets).
* `-- --no-client` 抑制所有自动启动（桌面 Explorer 深度链接、浏览器打开、移动端二维码）。如果文件监视器自行连接到桌面 Explorer，仍会通知它。在外部工具接管 Explorer 进程时很有用。
* `-- --mcp` 在 Explorer 中启用 MCP 服务器（作为深度链接参数传递）。
* `-- --mcp-port` Explorer 中 MCP 服务器的端口（作为深度链接参数传递）。例如： `npm run start -- --mcp --mcp-port 3001`.

{% hint style="warning" %}
**📔 注**：参数需要使用两组短横线添加，例如 `npm run start -- --web3`.
{% endhint %}

## 使用优化后的资源进行预览

当你发布场景时，Decentraland 服务器会将其所有 3D 模型转换为资源包，这是一种经过优化的格式，加载和渲染都轻得多。参见 [资源包转换](/creator/content-creator-zh/chang-jing-sdk7/you-hua/performance-optimization.md#asset-bundle-conversion)。默认情况下，本地预览会跳过这一步，改为加载原始模型。

启用优化资源后，在预览场景时会在本地执行相同的转换。这有两个好处：

* 预览加载更快、运行更流畅，尤其是对于包含大量 3D 模型的场景。
* 你看到的模型与玩家在发布后看到的一模一样，因此可以在发布前发现资源压缩方面的任何问题。

此选项只影响你的本地预览。无论你是否使用该选项，已发布的场景都会始终在服务器上转换。

要启用它：

* **在 Creator Hub 中**：打开 **播放选项** 旁边的 **播放** 按钮，将鼠标悬停在其上，然后勾选 **桌面客户端**。 **压缩资源**.
* **从 CLI**：运行 `npm run start -- --local-ab`.

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-e8a9e4c2c58d07f6493df205efe569837d4701f8%2Foptimize-assets-checkbox.png?alt=media\&token=eb756c70-de8f-4843-bed7-5424a600baa0)

启用此选项后，Decentraland explorer 会在加载场景之前在你的机器上将场景的 3D 模型转换为资源包。对于大多数场景来说转换几乎是瞬时的，但如果场景包含非常大的资源，首次预览可能会更久。转换后的模型会被缓存，因此后续预览只需转换新增或修改过的资源。

{% hint style="info" %}
**💡 提示**：如果某个资源的转换因任何原因失败，预览会回退为加载原始 3D 模型，就像普通预览一样。
{% endhint %}

## 将场景上传到 decentraland

一旦你对场景满意，就可以上传并发布到 Decentraland。为此，你必须拥有 LAND、Decentraland NAME 或 ETH ENS 名称，或者拥有由具备这些权限的人授予的权限。参见 [发布](/creator/content-creator-zh/chang-jing-sdk7/fa-bu/publishing.md) 了解如何操作的说明。

## 预览场景大小

预览中显示的场景大小基于场景配置。

可在 Scene Editor 中场景菜单的第二个标签页里编辑。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-54a1901635efda3371172e647c03614733baca17%2Fscene-parcels-3x3.png?alt=media\&token=e7133392-8474-4127-b075-5a3f4e7a4e8d)

使用下拉菜单并点击 **应用布局** 来更改场景的尺寸。你也可以点击每个单独的地块，将其从布局中取消选择。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-bbc2ecb567600843892a8c8873aaa70107e66839%2Fscene-parcels-toggled.png?alt=media\&token=aa4c4612-48ac-458d-afec-453d5168d1e8)

你还可以编辑 *scene.json* 文件，在“parcels”字段中列出多个地块。参见 [通过命令行设置地块](/creator/content-creator-zh/chang-jing-sdk7/xiang-mu-lei-xing/scene-metadata.md#scene-parcels) 了解更多详情。

{% hint style="info" %}
**💡 提示**：在运行预览时，只要这些地块彼此相邻并排列成相同形状，它们的坐标就不必与场景实际使用的坐标一致。之后在你 [部署场景](#upload-a-scene-to-decentraland).
{% 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) 图标打开控制台，位于右上角。在这里你可以看到任何错误消息，以及你的场景通过 `console.log()`.

打印到控制台的任何文本。你也可以按键盘上的 **\`** 键打开它。你还可以按 Shift + **\`** 来将控制台打开得更宽一些，以便查看更多文本。

## Creator Hub 控制台

Creator Hub 会在不离开编辑器的情况下显示相同的输出，而且默认如此。运行预览后，一个 **CONSOLE** 标签页会出现在 **FILE SYSTEM** 和 **ASSET PACKS** 旁边，在编辑器底部的面板中。

若要阻止控制台打开，请取消勾选 **打开调试控制台** ，位于 Creator Hub 设置的 **播放选项** 下的 **EDITOR** 标签页中。

若要把控制台移到一边，点击其标题栏中的弹出图标，标注为 **在单独窗口中打开控制台**。控制台会作为一个独立窗口打开，标题为 **控制台**，你可以将其移到第二台显示器上，并在编辑时保持可见。

独立窗口有一个 **清除控制台** 按钮，以及一个 **停靠回编辑器** 按钮，可将控制台返回到底部面板。同时，编辑器中的 **CONSOLE** 标签页显示 **控制台已在单独窗口中打开** ，并提供一个 **停靠回这里** 按钮，执行同样的操作。

{% hint style="info" %}
**💡 提示**：控制台在分离状态下仍会持续收集输出，因此把它停靠回来不会丢失任何内容。当没有运行预览时，它显示 **运行场景以查看调试输出**.
{% endhint %}

## 在本地测试多人场景

如果你启动场景预览并在两个（或更多）不同的 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\&token=fbed0f2f-8063-4283-9b07-2d964c9c0e68)

或者，你可以通过在浏览器 URL 中输入以下内容来打开第二个 Decentraland explorer 窗口：

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

### 高级：使用远程资源包实现快速迭代

{% hint style="info" %}
**💡 提示**：对于大多数场景，使用资源包进行预览的最简单方法是启用 [优化资源](#preview-with-optimized-assets)，这样会在本地转换你的模型，并始终反映其最新版本。下面的模式是一种替代方案，它重用已经发布在服务器上的资源包。
{% endhint %}

对于包含许多 3D 模型的重场景，你可以通过重用 [资源包](/creator/content-creator-zh/chang-jing-sdk7/you-hua/performance-optimization.md#asset-bundle-conversion) 来加快场景加载和重新加载，而不是加载未优化的原始 3D 模型。当仅迭代代码更改时，这尤其有用。

要启用此模式，请使用以下参数启动 Decentraland Desktop 客户端：

```bash
npm run start -- --realm http://127.0.0.1:8000/ --position 0,0 --local-scene true --debug --skip-version-check true --lsd-use-remote-ab <ab-source>
```

该 `<ab-source>` 参数会根据场景已发布到哪里而变化：

* **在 Genesis City 中**: `--lsd-remote-ab-server Genesis`
* **在 World 中**: `--lsd-remote-ab-world <world-name>.dcl.eth`

例如，要预览一个已经部署到某个 World 的场景的本地副本：

```bash
npm run start -- --realm http://127.0.0.1:8000/ --position 0,0 --local-scene true --debug --skip-version-check true --lsd-use-remote-ab --lsd-remote-ab-world myworld.dcl.eth
```

在这两种情况下， `--realm http://127.0.0.1:8000/` 将客户端指向你的本地预览服务器（先运行 `npm run start` 它以启动），并且 `--local-scene true` 告诉客户端从那里加载场景代码。

{% hint style="warning" %}
**📔 重要**：使用此模式时，建议 **所有** 美术资源都已经发布，并且其资源包已由内容服务器完全处理过。如果你添加了任何新资源，它们会以原始 gltf 文件的形式加载，因此无法享受优化加载，就像你通常运行预览时那样。但如果你本地修改了一个已经发布过的资源，并保持了相同的文件名，那么你看到的将是该资源旧的已发布版本。

在这种情况下，请先重新部署场景，等待几分钟让资源包生成完成（参见 [资源包转换](/creator/content-creator-zh/chang-jing-sdk7/you-hua/performance-optimization.md#asset-bundle-conversion)），然后再继续使用此模式进行仅代码迭代。
{% endhint %}


---

# 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/ru-men/preview-scene.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.
