网格(Meshes)
网格组成很大一部分三维世界坐标。除了一些资源商店插件之外,Unity 不包括建模工具。不过 Unity 与大多数三维建模包之间具有很强交互性。Unity 支持三角形或四边形网格。Nurbs、Nurms 和 Subdiv 表面必须转换为多边形。

三维格式
您可使用两种主要的文件类型将网格导入至 Unity:
导出的三维文件格式,如.FBX 或 .OBJ
专有的三维应用文件,如 3D Studio Max 或 Blender 中的
.Max
和.Blend
文件格式。
这两种类型的文件可帮助您将网格导入至 Unity,但在选择文件类型时,您需要考虑使用哪种文件格式:
导出的三维文件
Unity 可读取.FBX, .dae (Collada)、.3DS、.dxf 和 .obj 文件,您可在此 找到 FBX 导出程序,也可查找可用于多种应用的 obj 或 Collada 导出程序
优势:
仅导出所需数据
使用可验证的数据(在 Unity 重新导入至三维资源包)
文件通常更小
鼓励使用模块化方法 - 例如,根据碰撞类型或交互性选择不同组件
支持其他三维包(我们不直接支持其专有格式的三维包)
劣势:
原型和迭代的管道运行速度更慢
更容易丢失源(工作文件)和游戏数据(如导出的 FBX)之间的版本信息记录
专有三维应用文件
Unity 也可通过转换导入专有三维应用程序文件: Max、Maya、Blender、Cinema4D、Modo、Lightwave 和 Cheetah3D 文件(如 .MAX、.MB、.MA 等)。优势:
快速的迭代过程(节省源文件和 Unity 重新导入时间)
简化的初始阶段
劣势:
使用 Unity 工程的所有机器都必须安装有许可证的软件副本
无用数据会大大增加文件大小
文件太大会降低 Unity 更新速度
验证减少 ? 故障排除难度增加
下面是一些针对直接支持的三维应用程序的指导,其他三维应用程序通常可以导出上面列出的文件类型。
Maya
Cinema 4D
3ds Max
Cheetah3D
Modo
Lightwave
Blender
纹理
Unity 会按照特定搜索计划,在导入时自动查找网格使用的纹理。首先,导入器会在网格所在的相同文件夹中或任何父文件夹中查找名为“纹理”(Textures) 的子文件夹。如果此查找失败,则会对工程中的所有纹理执行详尽搜索。虽然稍微较慢,不过详尽搜索的主要劣势在于工程中可能存在两个或更多同名纹理。在此情况下,不保证将找到正确的纹理。

将纹理置于处于资源级别或该级别以上的 文件夹中
用于模型的 FBX 导入器选项
材质生成和分配
对于每个导入的材质,Unity 将应用以下规则:-
如果禁用材质生成(即取消选中导入材质 (Import Materials)),则将分配默认漫反射材质。如果启用,则将执行以下操作:
Unity 将基于材质命名 (Material Naming) 设置为 Unity 材质选取名称
Unity 将尝试查找具有该名称的现有材质。材质搜索范围由材质搜索 (Material Search) 设置定义。
如果 Unity 成功找到现有材质,则会将其用于导入的场景,否则会生成新材质
碰撞组件
Unity 使用两种主要类型的碰撞组件:网格碰撞组件和基元碰撞组件。网格碰撞组件是使用导入的网格数据的组件,可以用于环境碰撞。在“导入设置”(Import Settings) 中启用生成碰撞组件 (Generate Colliders) 时,会在将网格添加到场景时自动添加网格碰撞组件。对于物理系统而言,会将其视为固体。
如果在四处移动物体(例如汽车),则不能使用网格碰撞组件。而是必须使用基元碰撞组件。在此情况下,应禁用生成碰撞组件 (Generate Colliders) 设置。
动画
动画会从场景自动导入。有关动画导入选项的更多详细信息,请参阅 Mecanim 动画系统中关于资源准备和导入的部分。
法线贴图和角色
如果某个角色具有从高多边形版本的模型生成的法线贴图,则应使用 180 度的平滑角度 (Smoothing angle) 导入游戏质量版本。这会防止由于切线拆分而在光照中形成看起来奇怪的对接处。如果使用这些设置时仍存在对接处,请启用跨 UV 对接处拆分切线 (Split tangents across UV seams)。
如果将灰度图像转换为法线贴图,则无需担心这一点。
混合形状 (Blendshape)
Unity 支持混合形状(Blendshape,也称为变形目标或顶点级别动画)。Unity 可以从 .FBX(混合形状 (Blendshape) 和控制动画)和 .dae(仅混合形状 (Blendshape))。Unity 混合形状 (Blendshape) 支持顶点、法线和切线上的顶点级别动画。网格可以同时受皮肤和混合形状 (Blendshape) 影响。使用混合形状 (Blendshape) 导入的所有网格都将使用蒙皮网格渲染器(无论其是否具有皮肤)。混合形状 (Blendshape) 动画作为普通动画的一部分导入 - 它仅在蒙皮网格渲染器上对混合形状 (Blendshape) 小组件进行动画处理。
可通过两种方法导入具有法线的混合形状 (Blendshape):
将法线 (Normals) 导入模式设置为计算 (Calculate),这样会将相同逻辑用于为网格和混合形状 (Blendshape) 计算法线。
将平滑组信息导出至源文件,这样 Unity 将通过平滑组为网格和混合形状 (Blendshape) 计算法线。
如果希望混合形状 (Blendshape) 上具有切线,则将 切线 (Tangents) 导入模式设置为 计算 (Calculate)。
H提示
尽可能将网格合并在一起。使它们共享材质和纹理。这具有巨大的性能优势。
如果需要在 Unity 中进一步设置对象(添加物理、脚本或其他超棒内容),请无需苦恼,而是在三维应用程序中正确地命名对象。使用大量类似于pCube17 或 Box42 的对象并不有趣。
使网格在三维应用程序中的世界坐标原点上居中。这会使它们更容易放置在 Unity 中。
如果网格没有顶点颜色,则 Unity 在首次渲染网格时会将一组全白顶点颜色添加到网格。
Unity 编辑器显示太多顶点或三角形(与三维应用程序的显示相比)
这是正确的。您所看到的是实际发送给 GPU 进行渲染的顶点/三角形数量。除了材质需要将它们发送两次这类情况,与建模应用程序的显示相比,硬法线和非连续 UV 这类其他内容显著增加了顶点/三角形数量。三角形在三维和 UV 空间中都必须连续以形成剥离,因此在具有 UV 对接处时,必须创建退化三角形才能形成剥离 - 这会增加数量。