> 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/you-hua/scene-limitations.md).

# 场景限制

我可以在场景中放多少东西？

为了提升元宇宙中的性能，我们设定了一组每个场景都必须遵守的限制。这些限制按地块计算。因此，场景占用的地块越多，这些限制就越高。

在使用该功能时 [Creator Hub](/creator/content-creator-zh/chang-jing-bian-ji-qi/ru-men/editor-installation.md)，你可以查看场景中 3D 模型所使用资源的统计数据，以及场景的限制。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-88f68a93b0cfcb7f8c48270f31ba7137655ee2e1%2Ftriangle-limit1.png?alt=media\&token=6ba1a8ad-a1e4-472b-b9ca-a3b9d1aab9d8)

你可以展开此菜单以查看详情。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-aebaad725f1d9397552b2fb36a318eec91589b9c%2Ftriangle-limit2.png?alt=media\&token=65973f60-8eda-4193-9a81-f5a42d4c5032)

{% hint style="info" %}
**💡 提示**：有关按地块数量划分的所有具体数值的参考表，请参见：

[参考表](https://docs.google.com/spreadsheets/d/1BTm0C20PqdQDAN7vOQ6FpnkVncPecJt-EwTSNHzrsmg/edit#gid=0)
{% endhint %}

## 场景限制规则

以下是场景允许同时渲染的元素最大数量：

> *n* 表示场景占用的地块数量。

* **三角形：** `n x 10000` 场景中所有模型的三角形总数。
* **实体：** `n x 200` 场景中的实体数量。
* **网格：** `n x 300` 场景中的网格数量。
* **材质：** `log2(n+1) x 20` 场景中的材质数量。包括作为模型一部分导入的材质。
* **纹理：** `log2(n+1) x 10` 场景中的纹理数量。包括作为模型一部分导入的纹理。
* **高度：** `330 米` 场景的最大高度，无论它占用多少地块。

  > 警告：放置在 200 米以上的实体可能会出现多人同步问题。请将玩家会交互的内容或玩家之间同步的内容保持在该高度以下。

  > 重要：这些限制只计算当前正在场景中渲染的实体。如果你的场景在不同 3D 模型之间切换，真正重要的是任一时刻正在渲染的模型，而不是总和。玩家头像以及玩家从场景外带入的任何物品也不计入这些限制的计算。
* **总文件大小：** 在 Genesis City 中 -`每地块 15 MB - 最大 300 MB`。对于 Worlds，请参见 [世界大小](#world-size)。上传到内容服务器的文件总大小。包括 3D 模型和音频。不包括未上传的文件，例如 node.js 包。在确认部署之前，你可以查看即将发布的完整文件列表及其大小。
* **文件数量：** `每地块 200 个文件` 上传文件的总数量。包括 3D 模型和音频。不包括未上传的文件，例如 node.js 包。
* **单个文件最大大小** `每个文件 50 MB` 场景中的任何类型的单个文件都不能超过 50 MB。较小的场景还会受到更严格的限制，因为文件不得超过其总文件大小上限（例如，单地块场景的总大小上限为 15 MB）。

{% hint style="warning" %}
**📔 注意**：文件大小和文件数量限制会在部署时强制执行，超过限制将阻止部署。其他限制（三角形、实体、网格、材质、纹理、高度）属于软限制：Creator Hub 会将其报告为警告，但超过这些限制通常只会导致性能下降，而不会直接失败。请将它们视为强烈建议。
{% endhint %}

{% hint style="info" %}
**💡 提示**：并非场景项目文件夹中的所有文件都计入文件大小限制，只有上传到服务器的那些才计入。 *node\_modules* 文件夹中的内容体积很大，它们是不会上传、因此不计入的依赖项。对于位于 `/src` 文件夹中的任何文件也是如此，因为源代码不会上传。

你可以在项目中的 `.dclignore` 文件里列出任何你希望排除在上传之外的其他文件或文件夹。
{% endhint %}

## 优化中

参见 [性能优化](/creator/content-creator-zh/chang-jing-sdk7/you-hua/performance-optimization.md) ，了解如何将场景保持在这些限制之下，并让它为玩家更流畅地运行。

{% hint style="info" %}
**📱 移动端**：本页上的硬性限制适用于所有客户端，但移动设备的余量比桌面端更少。面向 [移动应用中](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/yi-dong-ke-hu-duan/overview.md)时，请尽量舒适地低于这些限制，并优先减少三角形数量、更少的材质以及更小的纹理。
{% endhint %}

## 场景边界

在运行预览时，位于地块边界之外的任何内容在渲染时都会以红色高亮显示。如果有任何内容在这些边界之外，那么当玩家访问你的场景时，这部分内容将不会被渲染。

如果一个大型物体的顶端超出了边界，这一部分就会被裁掉。

单地块场景的尺寸为 16 米 x 16 米。如果场景包含多个地块，则尺寸会根据地块的排列方式而变化。

可以将实体放置在地下，以便隐藏它们，或让它们只露出一部分。场景不能有低于默认地面高度的隧道，玩家不能在 `y = 0` 高度以下活动。

## 着色器限制

Decentraland 中使用的 3D 模型必须使用受支持的着色器和材质。请参见 [3D 模型材质](/creator/content-creator-zh/3d-jian-mo-yu-dong-hua/materials.md) 以查看受支持的着色器列表。

## 网格压缩

{% hint style="warning" %}
**📱 Draco 压缩网格在** [**移动客户端**](/creator/content-creator-zh/mian-xiang-yi-dong-duan-gou-jian/yi-dong-ke-hu-duan/overview.md) **需要资源优化。** 使用 [Draco](https://google.github.io/draco/) 网格压缩的 glTF/GLB 模型只有在经过资源优化流程处理后，才会在 Decentraland 移动应用中加载。如果你的 Draco 压缩模型在移动端无法加载，请确认它们已完成优化——或者在导出模型时 **不使用** Draco 压缩，以完全跳过这一步。其他形式的 glTF 优化（量化、纹理压缩、网格简化）不受影响。
{% endhint %}

## 光照

场景的光照条件不能为所有玩家从默认设置进行更改，不过每个玩家都可以在 Explorer UI 中自行更改自己的天空盒设置。

## 纹理尺寸限制

纹理尺寸必须使用与以下数字匹配的宽度和高度值（以像素为单位）：

```
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024
```

> 这一序列由 2 的幂组成： `f(x) = 2 ^ x` 。我们允许的纹理最大尺寸为 1024，更大的纹理会在资源包转换过程中被缩小。这是其他渲染引擎中相当常见的要求，这是由于图形处理器内部优化所致。

宽度和高度不必相同，但它们都必须属于这个序列。

**纹理的推荐尺寸是 1024x1024**，我们发现这是在国内网络中传输，并提供合理加载/质量体验的最佳尺寸。

其他有效尺寸示例：

```
32x32
64x32
512x256
512x512
1024x1024
```

{% hint style="warning" %}
**📔 注意**：虽然任意尺寸的纹理有时也能正常工作，但它们经常会出现渲染 bug，而且更不稳定。我们强烈建议你的所有纹理都符合这些尺寸。
{% endhint %}

## 世界大小

Decentraland [Worlds](/creator/content-creator-zh/chang-jing-sdk7/fa-bu/publishing-options.md#decentraland-worlds) 有不同的限制，因为它们是作为单个场景加载的。

* 发布到 Decentraland NAME 的世界会从一个存储预算中扣除，该预算在同一钱包拥有的所有世界之间共享。你拥有的每个 NAME 可提供 `100 MB`，每个 LAND 地块可额外提供 `100 MB`，并且每持有 2,000 MANA 还可再增加 `100 MB`。你可以随意在你的世界之间分配这部分预算。
* 发布到 ENS 域名的世界有一个 `36 MB` 的限制，且无法扩展。

你可以在 **管理** Creator Hub 中的部分，或在 **Worlds** 选项卡中，位于 [Builder](https://decentraland.org/builder/worlds)中查看已使用了多少预算以及还剩多少。若你超出预算（例如在出售或转移资产后），你有 48 小时来释放空间，否则你的世界将无法访问。

参见 [世界大小限制](/creator/content-creator-zh/chang-jing-sdk7/xiang-mu-lei-xing/kinds-of-project.md#size-limits) 了解更多详情。

上传到内容服务器的文件总大小。包括 3D 模型和音频。不包括未上传的文件，例如 node.js 包。在确认部署之前，你可以查看即将发布的完整文件列表及其大小。

世界中的其他所有限制都按地块计算，包括三角形、材质等。由于向一个世界添加更多地块是免费的，你最多可以向场景添加 300x300 个地块（总计 90,000 个），并获得与该地块数量相对应的限制。


---

# 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/you-hua/scene-limitations.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.
