艺术资源最佳实务指南
Unity 支持各种程序或源中带纹理的三维模型。本小指南由 Unity 的游戏设计师和开发人员共同编写,帮助您创建更好的资源,提高在 Unity 工程中的工作效率。
比例和单位
给软件设置系统和工程单位(如公制),与 Unity 保持一致。
比例大小对灯光和物理模拟都很重要。
注意,Max 系统的默认单位为英寸,Maya 的默认单位为厘米,等等。
Unity 对导入的 FBX 和三维应用程序文件采用不同的比例,请检查检视器 (Inspector) 中的 FBX 导入比例设置。
如果有疑问,可以在场景导出一个单位为米的立方体,与 Unity 匹配。
动画帧速率默认值在不同程序包中有所不同,可在管道中统一设置,如 30fps。
文件和对象
用清楚易懂的独特名称给场景中的对象命名。这样做有助于找到和解决工程中的具体网格问题。
避免使用
*()?"#$
等特殊字符。使用简单的描述性名称给对象和文件命名(便于以后复制)。
使层级视图尽可能的简单。
对于三维应用程序中的大工程,可以考虑在 Unity 工程目录外有一个工作文件。这样做通常可节约更新和导入不必要数据的时间。

命名清楚易懂的对象有助于快速找到内容
网格
建立一个高效拓扑。只在需要时使用多边形。
如果多边形太多,请优化几何体。许多角色模型须智能优化或由设计师重新构建,特别是源于下列几项或用其构建的模型:
三维采集数据
三维人物软件 (Poser)
数字雕刻软件 (Zbrush)
其他用于渲染的高精度 Nurbs/Patch 模型。
如果有能力,尽量购买分布均匀的多边形构筑物、景观和建筑物模型,将有助于进行照明,避免遇到棘手的问题。
避免使用细长的三角形。

到达帧速率顶点的阶梯
用于创建对象的方法可对多边形数量起到巨大影响,特别是未优化之时。在上图中,形状相同的网格在右边有 156 个三角形,左边有 726 个三角形。726 个多边形看起来不是很多,但如果在一个关卡中使用 40 次,就会发现时间节约不少。新手从简单的开始,需要时再增添细节,通常是个不错的办法。添加多边形始终比删除简单。
纹理
如果对纹理尺寸大小进行二次方(如 512x512 或 256x1024)处理,纹理的操作效率会变高,构建时也不需要重新调整尺寸。最高可使用 4096x4096 像素(但是在许多图形卡/平台上最高只有 2048x2048 像素)。可在线搜索有关创建出色纹理的专家建议,而下列指南有助于处理工程时获得最高效率:
在 unity 工程外使用高分辨率源文件(如 PSD 或 Gimp 文件)。通常可降低源文件的大小,反之不适用。
使用场景中要求的纹理分辨率输出(保存副本,如 256x256 已优化的 PNG 或 TGA 文件)。可根据纹理显示位置和张贴位置来判断。
将输出纹理文件一起保存到 Unity 工程中(如 Assetsextures)。
保存/导出时确保三维工作文件引用相同的纹理,保持一致性。
利用纹理的可用空间,但要注意不同材质需要相同纹理的不同部分,防止多次使用/加载该纹理。
对于可能要求不同着色器的 alpha(裁剪图)和元素,将纹理分开。例如,下面的单纹理(左)已被三个较小的纹理(右)代替。

一个纹理(左)与三个纹理(右)
利用(无缝重复的)平铺纹理,从而在空间上重复使用的更好分辨率。
删除位图上清楚易见的重复元素,要仔细对比。如果想添加细节,可使用贴标和对象阻止重复。

平铺纹理 ftw
Unity 能很好地压缩其他平台输出的文件格式,除非源文件已经是 JPG 格式且分辨率正确,否则最好使用无损格式的纹理。
从照片中获取纹理页面时,减少个别模块可重复的部分。例如,无需使用十二个相同的窗口占用纹理空间。这样就可以用这个窗口添加更多的像素细节。

您需要所有这些窗口吗?
材质
整理好场景中的材质并命名。这样导入时在 Unity 中查找和编辑材质更加容易。
通过下列两种方式选择在 Unity 中创建材质:
<modelname>-< material name> 或
<texture name> - 确保自己清楚想要的纹理。
本地包中的材质设置不会全部导入 Unity:
一般支持漫反射颜色 (Diffuse Colour)、漫反射纹理 (Diffuse texture) 和名称 (Names)
着色器模型、高光、法线、其他二级纹理和内容材质设置不会被认可/导入(3.5 版支持)
导入/导出
Unity 可使用两种文件:保存的三维应用程序文件和导出的三维格式。最后决定使用的文件类型非常重要:
保存的应用程序文件
Unity 可通过转换导入:Max、Maya、Blender、Cinema4D、Modo、Lightwave 和 cheetah3D 文件,如 .MAX、.MB、.MA 等等请参阅导入对象了解更多内容。
优点:
快速迭代过程(保存和 Unity 更新)
简单初始化
缺点:
必须在使用 Unity 工程的所有机器上安装授权的软件副本
文件会因不必要的数据变得臃肿
大文件会减慢 Unity 的更新速度
验证较少,更难解决问题
导出的三维格式
Unity 还能读取 FBX、OBJ、3DS、DAE 和 DXF 文件。请参阅本部分了解通用导出指南。
优点:
只导出所需的数据
在 Unity 之前验证数据(重新导入三维软件包)
一般是较小的文件
促进模块化方法
缺点:
可能是较慢管道或原型及迭代
容易失去源文件(工作文件)和游戏数据(导出的 FBX)之间的版本联系