> 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/3d-jian-mo-yu-dong-hua/textures.md).

# 纹理

了解纹理在 Decentraland 中的工作方式

纹理是 3D 艺术流程中的关键部分，用于实现你希望场景呈现的视觉效果和氛围。在本节中，你将找到创建纹理、限制、Blender 中的节点，以及如何对其进行优化以发挥最佳性能所需了解的一切！

{% hint style="info" %}
**💡 提示**：安装 [Decentraland Tools Blender 插件](https://extensions.blender.org/add-ons/decentraland-tools/)。它包含多个实用功能，可帮助你编辑和导出 3D 模型、穿戴物和表情动作。
{% endhint %}

## 限制

### 纹理尺寸限制

目前，Decentraland Explorer 会在场景上传到内容服务器后，使用 Asset Bundle Converter 将纹理压缩到最大 1024px，以便进行优化。创建资源时请务必将此限制考虑在内！

另一个需要考虑的重要点是，纹理始终应该是 2 的幂；任何不符合此规范的纹理在渲染场景时都可能带来问题。

纹理尺寸必须使用以下像素宽高数值：

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

> 这个序列由 2 的幂组成： `f(x) = 2 ^ x` . **1024 是我们允许的纹理尺寸最大值。** 这是其他渲染引擎中相当常见的要求，这源于图形处理器的内部优化。

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

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

其他有效尺寸示例：

```
32x32px
64x32px
512x256px
512x512px
1024x1024px
```

另一方面，每个地块的纹理数量也有限制：

```
log2(n+1) x 10 每个地块的纹理数量。包括作为模型一部分导入的纹理。
```

## UV 映射

UV 映射是将 3D 模型的面展开为 2D 坐标的过程，之后会用这些坐标为你的资源添加不同的贴图。这是创作流程中的关键部分。正确展开模型是压榨模型分辨率的关键因素，同时也能让你的贴图结构更便于修改。

想了解更多关于 UV 展开的内容，可以看看这段由 Blender Foundation 制作的精彩视频：

[![Video Preview](https://i.ytimg.com/vi/Y7M-B6xnaEM/maxresdefault.jpg)](https://youtu.be/Y7M-B6xnaEM?si=qMnWTMsXxC-vxZAH)

还有一个由 \[Blender Guru]\(<https://www.youtube.com/@blenderguru>) 制作的非常棒的中级 UV 展开教程，讲解如何展开更复杂的模型：

[![Video Preview](https://i.ytimg.com/vi/scPSP_U858k/maxresdefault.jpg)](https://youtu.be/scPSP_U858k?si=Uw0xHbv9jtqVstDS)

## 贴图

在 [材质部分](https://docs.decentraland.org/creator/3d-modeling/materials/) 我们已经解释了 Decentraland 如何使用 PBR 着色器。在本节中，我们将向你展示每种纹理贴图如何修改着色器，以及随后将导出到世界中的 3D 对象的视觉效果和氛围。

## 漫反射贴图

这是物体表面的基础颜色。在你的模型之间保持均衡的色彩搭配，是营造统一视觉效果和体验氛围的关键。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-082485ff5c6515c1ff70e8cdea3481ceb1f00daf%2F58-difusemap.png?alt=media\&token=20f8725b-9a28-48bc-a475-7cdda1e25af0)

如果你需要，这里有一个很棒的免费配色生成器！

* **Coolors：** <https://coolors.co/>

或者一些由精彩电影提供的配色灵感：

* **Movies in Color：** <https://moviesincolor.com/>

## 金属贴图

在金属贴图中，灰度图表示物体金属度的等级，白色表示完全金属，黑色表示非金属。在下面的示例中，我们可以看到光线如何影响模型，以及它如何与环境交互。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-940b5a7f16290e63bce2002acc9851492a95e280%2F64-metallic-map.png?alt=media\&token=1de2c1cf-69c8-458a-a716-0656cf499b3f)

*在图像中，我们可以看到纹理的深色部分如何影响模型。深色条纹是不透明的，而白色条纹则遵循金属着色器属性进行表现，灰色则是两者之间的混合。*

## 粗糙度贴图

在粗糙度贴图中，较暗的区域对应更光滑的表面，而较亮的区域对应更粗糙的表面。渲染引擎使用这种灰度表示来判断表面不同位置的光线应如何散射或反射。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5b1c0831ee575f6d338e36bea0ad524cb11234f3%2F48-roughness.png?alt=media\&token=5422fad3-2349-49f0-abf7-d09504c86586) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6c2ac22efcec5853d4d0c74442c8875af3b74bb4%2F49-roughness.gif?alt=media\&token=152f9d13-15d8-42ca-8f50-b49437632ae1)

## 透明贴图

### Alpha 截断

在 Blender 中使用 Alpha 截断并配合纹理时，会使用纹理的 alpha 通道来决定材质的哪些部分应该可见。高于指定阈值的像素会显示，而低于阈值的像素会被丢弃，从而基于纹理的透明信息创建剪切效果。

在下面的示例中，我们使用了一个带有 alpha 截断的材质，使用了 2 张纹理：漫反射颜色和黑白 alpha 纹理，并将颜色连接到 alpha 通道。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-3dd720ef70aa23ce8f81586df52a17d23fc9ea45%2F33-alpha-clip-leave.jpeg?alt=media\&token=861a7b16-a83e-41a4-8c2f-61b82d87c938) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-ad0aa8f8c1af4f38fddb769be98d92b9692afb8f%2F33-alpha-clip-mask.jpeg?alt=media\&token=1680a605-073b-4651-b07b-20a702469951)

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5e7675fecbf72c5c637b1dc5688349e0830e7777%2F33-alpha-blender.png?alt=media\&token=6e8da099-aa47-40b8-9296-4c06af958e1d)

*结果是，我们可以看到被涂成黑色的区域被丢弃，而白色区域则正在被渲染。*

### Alpha 混合

*Alpha 混合* 允许你按区域选择中间值。

在 Blender 中使用 Alpha 混合并配合纹理时，会根据其 alpha 通道混合纹理中的透明和不透明区域。这使纹理能够平滑地结合可见与半透明部分，并与场景中的背景或其他物体自然交互。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-5d905cd398beddec84820f474e90cc9d8f0be614%2F33-alpha-blend.png?alt=media\&token=ed88d410-bd1c-45cb-b5f3-bfba018a7597)

*而 Alpha 截断的渲染值为 0 或 1（在特定阈值下），Alpha 混合会在 0 和 1 之间插值。在上面的示例中，Alpha 混合材质显示了完整的渐变过渡，而 Alpha 截断则排除了由截断阈值设定的那部分纹理。*

{% hint style="warning" %}
**🔥优化提示🔥**

* 请注意，透明纹理（RGB+A）在性能方面总是比使用灰度值来表示透明度更昂贵。
* 透明度在渲染场景时始终是一个昂贵的操作。尽量将透明效果保持在最低，并且只在必要时使用 Alpha 混合；否则，优先选择 Alpha 截断而不是 Alpha 混合。
  {% endhint %}

## 自发光贴图

自发光贴图是一种用于控制 3D 场景中表面的自发光或发光效果的纹理贴图。它是着色器的一个组成部分，用于决定 3D 模型某一部分发出多少光（以及何种颜色的光），而不依赖外部光源。自发光贴图通常用于模拟看起来会自己发光的材质或物体。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-6feb4f69267949ee907f39fe867377396b8fa1f6%2F57-emissive-map.gif?alt=media\&token=3d5bfa7b-563c-4e09-b8b1-c2b23954368e)

*在这个示例中，我们可以看到将自发光贴图与自发光强度结合使用，并在启用辉光后期处理的环境中，近似测试其在世界中的表现。*

## 法线贴图

法线贴图是一种用于 3D 图形的纹理，用来模拟细微的表面细节，并在不实际改变模型底层几何的情况下营造复杂几何体的错觉。它通常用于通过添加凹凸、裂缝和其他表面不规则性来增强低模模型的真实感。它还可以让物体本身保持更轻量，因为大量细节可以通过法线贴图层提供，而无需复杂几何体。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-a01cce23a0225aba58245fe46db1e03abc54252d%2F51-normal-map.png?alt=media\&token=8c00afdd-46d9-4c70-9ce6-5c4cd899fa49) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-13d87ebefb8dbb8b4ddc2d72b2d6d3db7181872f%2F50-normal.gif?alt=media\&token=ed3eb3fa-ce46-43ed-aa87-fc7e2e865bf9)

要使用 *着色器编辑器*为材质添加法线贴图时，你需要连接 ***法线贴图*** 节点，位于纹理和 *Principled BSDF* 着色器之间。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-28db25db5fcad571186fdbe87a7749a75133540e%2F56-normal-map.png?alt=media\&token=cc411143-767c-4501-a131-54a1f30d7317)

{% hint style="warning" %}
**⚠️重要⚠️：** 绝不要将同一张纹理同时用作 albedo 和 normal，因为这会在渲染场景时造成问题。
{% endhint %}

## 优化纹理

优化纹理的过程在 Explorer 中渲染场景时能带来很多好处，同时也是保持场景风格一致、并让设计过程更灵活的好方法。其中一些好处包括：

* 经过尺寸和压缩优化的纹理会让场景运行更流畅、更快速，也更容易下载和渲染（尤其是网络连接较慢的玩家）。
* 它会减少渲染你的体验所需的内存和处理能力，从而为玩家带来更好的用户体验。
* 它还能节省社区内容服务器的存储空间。
* 使用 **纹理图集** 和/或 **修边贴图** 会让你在迭代场景创作时更灵活，并保持物体之间的风格一致。使用这些技术，你可以轻松替换纹理、调整颜色或图案，而不必为每个模型单独处理。
* 在多个模型之间共享纹理，可以减少每个场景中的纹理数量，从而大幅降低游戏中的 draw call。如果你使用的是带有内嵌纹理的 glb，你会在下面的指南中找到一个提取器，用于从中提取纹理，并让模型改用同一张纹理。

## glTF 模型之间共享纹理

优化场景的一个明智且常见的做法，是在整个场景中的多个模型之间共享纹理和材质。这样可以大幅减少 draw call，让你的 Decentraland 场景运行得更加流畅。

以下基于 [**glTF pipeline**](https://github.com/AnalyticalGraphicsInc/gltf-pipeline)**,** 的工具提供了一些优化，可让 3D 模型更轻、更快地供场景中的玩家下载。

**Mac：** [MAC GLB 提取器](https://github.com/decentraland/docs/blob/main/creator/images/3d-models-and-animations/glb-extractor/texture_extractor.sh)

**PC：** [PC GLB 提取器](https://github.com/decentraland/docs/blob/main/creator/images/3d-models-and-animations/glb-extractor/glb_texture_extract.bat)

它会将 .gltf 格式转换为 .glb，后者是二进制格式，因此占用空间少得多。它还会将纹理文件放在 3D 模型之外，从而允许你在多个模型上使用同一张纹理。

> 📔 注：.glb 格式默认总是将纹理内嵌在文件中。引擎无法将两个内嵌纹理识别为同一个，它们需要是共享相同哈希值的外部文件。

### 如何使用 GLB 纹理提取器

在这个示例场景中，我们在 Blender 中有一个简单的科幻场景。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-d575f4ffe6da295ae53b389c1750eb0840abd219%2F01-scene-base.png?alt=media\&token=b428ad11-ff8a-46f8-808c-2c32cb9b8fda)

这个场景包含静态模型的基础环境，但还有另外两个资源：一个机器人和一艘宇宙飞船，我们希望将它们分别导出，以便稍后通过代码移动它们，使其能够与玩家互动。在这种情况下，我们使用了 4 张纹理（地板一张，大多数资源用的一张图集颜色贴图，一张自发光，以及面板用的一张科幻 UI 纹理）

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-b5ae85bb52a317d7d3b912719f7af6fa68b486b4%2F02-model-01.png?alt=media\&token=54b6e2c8-1bad-4726-93db-5f850ca9344f) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-66e7694ca025484b771513bd34eb2aa2a14e170e%2F03-model-02.png?alt=media\&token=e1bb9700-57df-4343-931b-d2ba207ae0c0)

当我们把所有这些资源导出到 models 文件夹后，就得到了 3 个模型：静态环境场景、宇宙飞船和机器人。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-69ff6c40205c8fd498908024c05d3264ce0de238%2F04-models-folder.png?alt=media\&token=9ba0d479-6b3d-4242-a3f2-c8adda7312de)

但我们遇到了一个问题，.glb 文件中内嵌了纹理，所以如果你导出的是重复使用纹理的不同资源，每次文件夹里新增一个资源时，这些纹理都会被复制一份。为了避免纹理重复，我们可以使用这个实用工具。

{% hint style="warning" %}
⚠️ 重要提示：在使用该工具之前，请先为你的模型做一个备份，以防万一出现问题！！！
{% endhint %}

**在 Mac 上**

将所有资源导出到 models 文件夹后，你可以把脚本文件拖到该文件夹中。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-23acc844e0c391e705ae38b4d8faf68f098ed761%2F05-texture-extractor.png?alt=media\&token=5c617c68-663a-4b24-a820-9535adabee59)

1 - 将文件夹拖到终端中以在终端里打开该文件夹。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-79d1c0f266230d5034fd344431403779bb20d08e%2F06-move-to-terminal.png?alt=media\&token=a8c0b06c-4c56-4e57-a2d0-879156fc8a29)

2 - 将 texture-extractor.sh 拖到终端中。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f7e370bb546859650efe900f42039f1a90fc14df%2F06-terminal.png?alt=media\&token=b87e4e2a-1186-47c9-bcf5-74ddb3390066)

3 - 运行该命令。处理所有资源可能需要几秒钟。之后，你会看到类似这样的内容：

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-599d9f4378fa9d37c84a049eaefc0862ccfca295%2F07-run-terminal.png?alt=media\&token=3f68da6a-798a-4dc4-8f3e-8bb4cd3dc0d0)

4 - 进入你的 models 文件夹，你会看到一个名为 "out" 的新文件夹，其中包含已提取纹理的新资源。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-f1d505887c8a5d4a2aa6773e0da76ca852bffa6a%2F08-out-folder.png?alt=media\&token=628443a9-08d0-4603-95bc-4c2665077589)

5 - 用新的资源替换所有旧资源！完成后，也请删除 "texture-extractor.sh" 和空的文件夹 "out"。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-df02204ffa5207d1385b235de809f66f8ef9129e%2F09-replace-assets.png?alt=media\&token=3fa6dbd7-c26a-4de8-bf70-20318ad857e8)

**在 Windows 上**

将所有资源导出到 models 文件夹后，你可以把脚本文件拖进去。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-4990daa279b27670ced263e8f16487a978da7229%2F10-windows-01.png?alt=media\&token=a15ce8b4-9318-43b6-9a20-ce2c90898b90)

1 - 双击 glb\_texture\_extract.bat 以提取文件。如果 Windows 提示这是未识别的应用，请前往 **更多信息** 然后选择 **仍要运行**.

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-550a0241a9125dccf5192e0813dbb64fcd94a0ba%2F11-windows-02.png?alt=media\&token=e1ccc106-c39d-4636-b460-335089f24bd0) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c069eba1ab8124f6c0ec5a695000fbb1621535de%2F12-windows-03.png?alt=media\&token=e0c3e415-2e6e-414f-ac90-1b9aff209457)

2 - 脚本会生成一个名为 out 的文件夹，你会在其中找到所有带有已提取纹理的新 .glb 文件。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-853904a4678b2554c8c3e612d6cea23db7b42735%2F13-windows-03.png?alt=media\&token=94f6e635-ec1a-47c6-a42d-36239b33dc35)

5 - 用新的资源替换所有旧资源。完成后，删除 "texture-extractor.bat" 脚本和空的 "out" 文件夹。

如果你按照所有步骤操作，你的场景现在会快得多，而且资源会共享同一张纹理！当我们处理多个资源和大型场景时，提升会非常明显！使用这个工具你可以节省相当多的兆字节信息！

{% hint style="warning" %}
⚠️ 完成这一步后，务必检查每张纹理是否都符合指南。如果纹理不符合指南或过于庞大，请在部署前将其优化得更轻。性能良好场景的推荐纹理尺寸是 1024x1024。此外还要检查分辨率，DPI 高于 72 的图像会影响性能，而且不会让图像看起来更好。
{% endhint %}

## 纹理图集/修边贴图

纹理图集是一种单一图像文件，其中打包了若干更小图像的数据。不是为每个网格单独使用一个纹理，而是让多个网格共享一个更大的纹理。

你可以在制作资源之前创建纹理图集，这意味着资源的 UV 展开会根据纹理图集来进行。这需要在创建纹理时提前规划。

或者，你也可以在资源完成后，通过在绘画软件中合并纹理来创建纹理图集。不过，这也意味着 UV 岛必须根据纹理重新排列。

下面是一张展示多个 3D 对象共用一套纹理的图片：

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-9f156c42d55defe8f368ba8b5989ce694868fae9%2F37-atlas-texture.png?alt=media\&token=45e355e0-613e-437b-aeea-b50112319d6d) ![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-9d0189a956bccdbf9a4218e4f09910501899cd47%2F38-uv-atlas.png?alt=media\&token=a67045f4-cf2d-448b-a9a5-20269828b1d6)

另一种制作图集的方法是使用修边贴图，这是一种在 3D 建模和游戏开发中很常见的技术，大型工作室和游戏行业都会使用它，以确保视觉一致性和高效的艺术流程。修边贴图是使用一张包含多个小细节或元素的单一图像或纹理，这些内容可以应用到模型的不同部分。这种技术在创建大型场景时非常有用，并且需要在艺术流程的第一阶段就加以考虑。

![](https://2460066822-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoPnXBby9S6MrsW83Y9qZ%2Fuploads%2Fgit-blob-c54001f41883c274490680f8eb40bac5272efb69%2F39-trim-sheets.png?alt=media\&token=3c864897-4117-40e0-b9ed-eb6d660f6078)

*一个修边贴图拼贴示例，使用了漫反射纹理、法线和自发光。*

有一个很棒的 [教程](https://www.artstation.com/blogs/jennifermcgarry/yd4Q/jenns-guide-to-trim-sheets) 由 [Jennifer McGarry](https://www.artstation.com/jennifermcgarry/blog) 制作，讲解如何使用 Blender 来使用修边贴图！

## 纹理命名

**正确命名纹理至关重要。** 正确的纹理命名将：

* 让你的艺术流程更高效、更灵活、更有条理，并且在需要时更容易定位和修改。
* 避免使用纹理提取器或其他工具时出现同名纹理重叠的问题。
* 避免在使用 Asset Bundles 时出现纹理重叠问题。
* 在分析场景时，更高效地定位问题点。

**如何正确命名你的纹理：**

* **资源名称** 应该清楚地表示这张纹理是什么。
* 纹理名称应以以下前缀开头 `T_`.
* 纹理名称应以定义纹理类型的后缀结尾：
  * `_D` - **漫反射/颜色贴图**
  * `_A` - **Alpha 纹理**
  * `_MT` - **金属**
  * `_R` - **粗糙度**
  * `_N` **- 法线贴图**
  * `_E` - **发光**

例如：如果它是用于墙面砖块纹理的漫反射贴图，那么名称 `T_BrickWall_D` 可能是合适的。如果它是同一资源的法线贴图，那么名称可以是 `T_BrickWall_N`

**示例：**

* 🟢 **推荐** 纹理名称开头使用 - `T_Parquet_D`, `T_Floor_R`, `T_Pipes_MT`,
* 🔴 **避免** 纹理名称开头使用 - `Image_`, `sprite_`,`Untitled`

## 可选工具

有许多插件和外部工具可以在创建资源时帮助你，让流程更快、更高效，其中有些是免费的，有些需要购买，举几个例子：

### UVTools

* **UV Packer（免费）**：<https://www.uv-packer.com/blender/>
* **Zen UV：** <https://blendermarket.com/products/zen-uv>
* **Uvpackmaster 3：** <https://blendermarket.com/products/uvpackmaster>

### 图像压缩器

网上有几个图像压缩工具可以帮助你减轻纹理大小。举几个例子：

* **CompressPNG：** <https://compresspng.com/>
* **TinyPNG：** <https://tinypng.com/>
* **FreeConvert：** <https://www.freeconvert.com/>


---

# 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/3d-jian-mo-yu-dong-hua/textures.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.
