This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

导入3D模型

Defold 目前支持 GL Transmission Format .glTF 和 Collada .dae 格式的模型,骨骼和动画. 可以使用类似 Maya, 3D Max, Sketchup 和 Blender 的软件保存或者转换3D模型为Collada格式. Blender 是一个著名的3D建模, 动画及渲染软件. 它在 Windows, macOS 和 Linux 都能运行并且在 http://www.blender.org 上免费下载.

Model in Blender

导入模型到 Defold

要导入模型, 只需将 .gltf 文件或者 .dae 文件及其相应贴图拖拽至 资源面板 即可.

导入模型资源

使用模型

当模型导入到 Defold 之后即可在 模型组件 上使用它.

导出 glTF 和 Collada 格式文件

导出的 .gltf.dae 文件包含模型所有的点, 边和面的信息, 如果模型贴了图, 同时还包含 UV 坐标 (用于确定纹理如何铺在模型表面), 以及骨架骨骼和动画数据.

  • 关于多边形网格的解释详见 http://en.wikipedia.org/wiki/Polygon_mesh.

  • UV 坐标和 UV 映射的解释详见 http://en.wikipedia.org/wiki/UV_mapping.

Defold 对于导出的动画作了一些限制:

  • Defold 目前只支持烘焙好的动画. 动画每一关键帧每个骨骼都要提供矩阵数据而不是位置, 旋转和缩放这样分开的数据.

  • 动画都是线性插值的. 如果需要曲线插值请在导出前预烘焙好.

  • 不支持 Collada 的动画片段. 一个模型如有多个动画, 请分别导出 .dae 文件然后在 Defold 中合并成一个 .animationset 文件.

需求

导出模型的时候需遵循以下需求:

  • 模型必须由单个网格组成
  • 模型必须使用单个材质
  • 导出的 .gltf 文件要嵌入网格数据. 附带于其他文件的二进制网格数据不受支持.

可以使用 Blender 来组合多个网格. 选中所有网格, 按 CTRL/CMD + J 来进行组合操作.

组合网格

删除材质

可以使用 Blender 删除模型上的多余材质. 选中要删除的材质, 按 - 来进行删除.

删除材质

导出纹理

如果模型没有纹理, 可以使用 Blender 来生成一个. 这个工作要在删除多余材质之前完成. 从选择网格及其所有的点开始:

Select all

选中所有点后即可展开UV:

Unwrap mesh

接下来就可以把它保存为图片文件作为网格纹理:

Export UV layout

Export UV layout settings

Export UV layout result

从 Blender 中导出

从导出菜单选项中导出模型文件. 选中模型然后点选导出模型菜单项, 选中 “Selection Only” 选项即可导出文件.

Exporting using Blender