模型文件格式

Unity 支持多种标准和专有模型文件格式。Unity 内部使用 .fbx 文件格式作为其导入链。最佳做法尽可能使用 .fbx 文件格式,并且不应在生产中使用专有文件格式。

支持的模型文件格式

标准文件格式

Unity 可读取以下标准 3D 文件格式:

  • .fbx
  • .dae (Collada)
  • .dxf
  • .obj

这些文件格式受到广泛支持。这些类型的文件通常也比专有软件的文件小,这使项目规模更小,迭代速度更快。

也可以将导出的 .fbx 或 .obj 文件重新导入所选择的 3D 建模软件,以此确保所有信息都已正确导出。

专有文件格式

Unity 支持多种专有模型文件格式。通常情况下不应在生产中使用这些文件格式,应尽可能导出为 .fbx 文件格式。但是,有时您可能需要将这些文件作为项目的一部分包含在内。

Unity 可以从以下 3D 建模软件中导入专有文件,然后将其转换为 .fbx 文件:

  • Autodesk Maya
  • Blender
  • Modo
  • Cheetah3D

也就是说,必须安装相应的 3D 建模软件才能将专有文件直接导入 Unity。

以下应用程序不使用 .fbx 作为中间格式。Unity 必须先将其转换为 .fbx 文件之后再导入编辑器:

  • SketchUp
  • SpeedTree
  • Autodesk® 3ds Max®

不支持的模型文件格式

Unity 不提供对 Cinema4D 文件的内置支持。要在 Unity 中使用 Cinema4D 文件,应该将它们从专有软件导出为 .fbx 文件。

除非在计算机上安装了相应的 3D 建模软件,否则保存为 .ma、.mb、.max、.c4d 或 .blend 文件的资源将无法导入。这意味着,处理 Unity 项目的每个人都必须安装正确的软件。例如,如果您使用 Autodesk Maya LT 许可证来创建 .mb 文件,并将其复制到您的项目中,那么任何打开该项目的用户也需要在他们的计算机上安装 Autodesk Maya LT。

从3ds Max 导入对象

Unity 通过 FBX 格式导入 Autodesk® 3ds Max® 文件 (.max),支持以下内容:

  • 所有节点以及位置、旋转和缩放;轴心点和名称也会导入
  • 网格以及顶点颜色、法线和一个或多个 UV 集
  • 材质以及漫射纹理和颜色。每个网格多种材质
  • 动画
  • 基于骨骼的动画
  • 变形目标(混合形状)
  • 可见性

从 Maya 导入对象

Unity 通过 FBX 格式导入 Autodesk® Maya® 文件(.mb 和 .ma),支持以下内容:

  • 所有节点以及位置、旋转和缩放;轴心点和名称也会导入
  • 网格以及顶点颜色、法线和最多 2 个 UV 集
  • 材质以及纹理和漫射颜色;每个网格多种材质
  • 动画
  • 关节
  • 混合形状
  • 光照和摄像机
  • 可见性
  • 自定义属性动画

限制

Unity 不支持 Maya 的旋转轴 (Rotate Axis)(旋转前)。

关节限制包括:

  • 关节方向 (Joint Orient)(仅限关节旋转后)
  • 分段缩放补偿 (Segment Scale Compensate)(仅限关节选项)

Unity 可导入和支持 Maya 中指定的任何旋转顺序 (Rotate Order);但是一旦导入,便无法在 Unity 中更改该顺序。

如果导入的模型使用的旋转顺序不同于 Unity 中的旋转顺序,Unity 会在 Inspector 中的 Rotation 属性旁边显示该旋转顺序。

这个旋转顺序决定的万向节锁产生的轴向,具体细节可以了解我的另一篇文章:【Unity】Unity 欧拉角、四元数、万向节死锁

常见的3D软件格式

.fbx 格式

.fbx 格式,Unity支持的主要模型格式Autodesk 家族格式支持动画!这是一个商业的格式,兼容最好的当属 Autodesk 家族的软件了。fbx 也开放给了第三方软件,但总是感觉除了他自己的软件之外或多或少的都有解决不完的问题。 毋庸置疑,FBX 现在是最受欢迎的格式。

.fbx最大的用途是用在诸如在 Max、Maya、Softimage 等软件间进行模型、材质、动作和摄影机信息的互导,这样就可以发挥 Max 和 Maya 等软件的优势。可以说,FBX 方案是非常好的互导方案。

.obj 格式

.obj 格式, 静态多边形模型 - 附带 UV 信息及材质路径不包含动画、材质特性、贴图路径、动力学、粒子等信息。主要支持多边形(Polygons)模型。是最受欢迎的格式。

.obj文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导。目前几乎所有知名的3D软件都支持OBJ文件的读写。.obj文件是一种文本文件,可以直接用写字板打开进行查看和编辑修改。

.psk 格式

. psk 格式 - Unral Engine 格式 - 带骨骼动画的模型! psk 是 一个比较特殊的格式,通常情况下是原来提取游戏模型使用的。最终生成的基于虚幻引擎的游戏打包成这个格式的模型。

.3ds 格式

.3ds 格式 - 三角面静态模型!文件格式简单,现在几乎都已淘汰!应该在一些老的项目应用上才有可能会用到。

3DS 文件越来越不受欢迎了。比较早的一种三维格式,三角面,最早游戏模型应用比较广泛。由于后期导入软件的不可编辑性、难以二次编辑现在逐渐的远离了我们的视线。

.abc 格式

中文名称:蒸馏机。支持动画、粒子等。烘焙三维场景的模型、流体、动画、特效等数据,输出输入到其他三维软件。有可能在导入其他三维软件中无法再二次编辑,比如:Rig、流体烟雾模拟等。不必多说,ABC将会是三维软件交互的王者。

.glTF 格式

.glTF 格式,支持动画等。gITF 2.0 格式逐步的完成了 WebGL 的布局,也成为了这个领域的专用格式,随着发展游戏领域的应用也会越来越广泛。

.dae 格式

. dae 格式,FBX 的代替品 - Collada DAE需要自行下载安装!Google 地图便是使用的 DAE 格式。

DAE 是纯文本的模型格式,其本质就是一个单纯的xml文件。相比fbx,对dae格式模型的载入我们拥有非常高的自由控制,这也是最复杂的地方。

.ply 格式

. PLY 格式 - 静态多边形模型 - OBJ 格式的升级版!PLY格式受 Wavefront .obj 格式的启发,但改进了Obj格式所缺少的对任意属性及群组的扩充性。因此PLY格式发明了"property"及"element"这两个关键词,来概括“顶点、面、相关资讯、群组”的概念。

.dxf 格式

DXF 是一种开放的矢量数据格式,可以分为两类:ASCII格式和二进制格式;ASCII具有可读性好的特点,但占用的空间较大;二进制格式则占用的空间小、读取速度快。各种 CAD 软件中 DXF 被广泛使用,成为事实上的标准。绝大多数CAD系统都能读入或输出DXF文件。


本文部分内容引自:云图创智3D打印机 https://www.bilibili.com/read/cv13982551

更多内容请查看总目录【Unity】Unity学习笔记目录整理

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐