• 【Unity】模型文件格式、常见3D模型格式



    模型文件格式

    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学习笔记目录整理

  • 相关阅读:
    GCC优化相关
    Unity3D制作塔防类游戏
    springMVC的简单数据绑定
    Win10配置IIS与 C#/.net项目的发布与IIS部署
    Android 开发者的跨平台 - Flutter or Compose ?
    Rust学习02:推荐一本入门书,免费的
    【AUTOSAR-IpduM】-3.7-Tx Dynamic Container PDU和Contained I-PDU相关参数说明
    《概念解析》内容汇总 + 导航
    SSM框架,SpringMVC框架的学习(上)
    【异常的打卡记录】python实现-附ChatGPT解析
  • 原文地址:https://blog.csdn.net/xiaoyaoACi/article/details/126789329