【Unity】模型文件格式、常见3D模型格式
除非在计算机上安装了相应的 3D 建模软件,否则保存为 .ma、.mb、.max、.c4d 或 .blend 文件的资源将无法导入。.obj文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模型之间的互导。.fbx最大的用途是用在诸如在 Max、Maya、Softimage 等
文章目录
模型文件格式
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学习笔记目录整理
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)