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

3D 模型

了解外部 3D 模型支持哪些资源和组件,以及在导入到 Decentraland 之前如何进行配置。



在将 3D 模型导入 Decentraland 时,重要的是确保它们采用 glTF 格式。这些模型可以包含多种受支持的功能。本节主要讲解如何使它们与 Decentraland 兼容并遵循最佳实践。

💡 提示: 安装 Decentraland Tools Blender 插件。它包含一些实用功能,可帮助你编辑和导出 3D 模型、穿戴物和表情动作。

请注意,所有模型、着色器和纹理都必须符合 场景限制.

支持的 3D 模型格式

Decentraland 中的所有 3D 模型都必须采用 glTF 格式。 glTF (GL 传输格式)是 Khronos 提供的一个开放项目,为 3D 资源提供一种通用、可扩展的格式,既高效,又能与现代 Web 技术高度互操作。

glTF 模型可以有一个 .gltf 或 .glb 扩展名。glTF 文件是可读的文本文件,你可以用文本编辑器打开并像 JSON 文件一样阅读它。这很有用,例如,用来确认动画是否正确挂载,并检查它们的名称。glb 文件是二进制文件,因此不可读,但体积要小得多,这对场景性能有好处。

我们建议在 .gltf 你正在制作场景时使用 .glb ,但在上传时改为使用

以下 3D 模型的方面可以嵌入到一个 glTF 文件中,或者引用外部资源:

  • 纹理可以嵌入,也可以引用外部图像文件。

  • 有关几何体、动画以及模型中其他缓冲区相关内容的二进制数据,可以嵌入到一个外部 .bin 文件。

为什么我们使用 glTF

我们使用 glTF,因为它提供了一组强大的功能,包括:

  • 层级对象

  • 骨骼结构和动画

  • 完善的材质和着色器流程

  • 场景信息,例如光源和摄像机(可用于未来的开发)。

与 COLLADA相比,支持的功能非常相似。不过,由于 glTF 侧重于提供一种“传输格式”而不是编辑器格式,因此它与 Web 技术的互操作性更强。

导出并转换 glTF

从 Blender 导出到 glTF

Blender 原生支持 glTF 导出器。

要导出时,先选择你想包含在 .glb 文件中的模型,然后依次进入 文件 - 导出 - glTF 2.0




在侧边面板中勾选“Selected Objects”,如果你只想导出场景中选中的对象。然后,在 Mesh 下拉菜单中选择 Apply Modifiers(如果有的话),再导出。

从 3D Studio Max 导出到 glTF

3D Studio Max 默认不支持导出为 glTF,但你可以安装插件来启用它。

  1. 下载插件,并按照 这些说明.

  2. 通过插件导出 glTF 文件时,请按照 这些说明.

从 Maya 导出到 glTF

Maya 默认不支持导出为 glTF,但你可以安装插件来启用它。

  1. 下载插件,并按照 这些说明.

  2. 通过插件导出 glTF 文件时,请按照 这些说明.

从 Unity 导出到 glTF

Unity 默认不支持导出为 glTF,但你可以安装插件来启用它。

从 这个链接.

从 SketchUp 导出到 glTF

SketchUp 默认不支持导出为 glTF,但你可以安装插件来启用它。

从 这个链接.

将 FBX 转换为 glTF

.fbx 是 3D 模型中非常流行的一种标准。我们的引擎不支持它,但你可以轻松地将一个 .fbx 模型导出为 .gltf 格式。

我们建议使用这些工具:

  • Blender:将 .fbx 转换为 glTF 的一种简单方法,是先使用 Blender 将 .fbx 导入到一个场景中,然后再从那里导出。

  • Facebook 的 CLI 工具:这是最稳妥的替代方案,但需要使用命令行。

  • Blackthread:这是最完整的基于网页的工具。它不如 CLI 稳妥,但使用起来要容易得多。

  • Modelconverter:另一个易于使用的基于网页的工具。

预览 glTF 模型

在将 glTF 模型导入场景之前,快速预览其内容的一种简单方法是使用 Babylon.js Sandbox。只需将 glTF 文件(以及它的 .bin 文件,如适用)拖放到画布中即可查看模型。

在沙盒中,你还可以预览模型中嵌入的动画,通过下拉菜单选择要显示的动画。



分析 glTF

分析你的 glTF 的一个很棒的工具是 glTF Sample Viewer。该工具可让你检查通道、纹理、对不同光照环境的反应、预览动画等等!非常适合单个模型。



另一个有用的工具是 gltf.report/。只需将你的模型拖放到网站上,即可查看 glTF 包的内容,并评估模型的哪些部分可以优化。

这个工具对于包含多个模型、纹理和动画的大文件尤其有用。例如,通过按大小组织纹理,你可以很容易地识别哪些纹理占用了最多资源。



优化 glTF

以下工具提供了一些优化功能,可以让 3D 模型更轻量,并使场景中的玩家下载更快。

glTF pipeline

其中包括,它会将 .gltf 格式转换为 .glb,后者是二进制格式,因此占用空间要小得多。它还会把纹理文件放到 3D 模型外部,这样你就可以在多个模型上使用同一纹理。

另请参阅

以下页面还涵盖了与 Decentraland 3D 模型相关的主题:

最后更新于