有时候美术的一个不小心,就会给程序徒增极大的工作量,所以在项目开始之前是有必要和美术沟通一下,来规范一些东西,
1、将单体模型的轴心置中。
2、模型有父物体时,子物体应相对于父物体的(0,0,0)位置建模,即父物体的位置最好是整个模型的中心点。
3、unity使用的是左手坐标系,模型的 z 轴正方向应为模型的正向,x轴正方向为右。
4、3D模型的大小以米为单位,如:房子的大小为3米,人物1.8米等。
5、贴图文件像素大小最好为2的n次方,unity3d中可识别的最大尺寸为4096*4096。
6、模型的名称,材质球的名称以及贴图的名称尽量不使用中文。
7、可以重复使用的物体只需要导出一个即可,然后在u3d中进行复制拼接即可。
8、模型的名称、材质球的名称以及贴图的名称需要一致,避免出现不必要的麻烦。
9、多张UI图片可以打包在一起,规则如下:
不用的图不打包。因为打包的图,就算从不使用,也还是会进入到最终的ipa或者apk里;
小的图尽可能打包
大图(比如大于512x512,常见的有UI底图、背景图)不打包。因为大图会很有可能产生透明区域;
降低需要打包中的分辨率最大的图
由于多张图片打包在了一起,根据上面提过的合并drawcall的原因,会大幅减少这些图片带来的GPU消耗。
打包之后,会产生多余的透明区域,所以打包可能带来的坏处就是增大了外存、内存。
10、unity引擎本身并没有具体的面数限制,按机器性能而定。
11、尽量减少材质球的数量,模型尽量使用同样的材质和贴图。
12、现在的图形显卡可以很好的支持很多的多边形,但如果你有一个有100个三角形的MESH,它渲染起来所需要花费的运算跟1500个面数的物体是没有多大差别的。因此最佳的渲染设置时每个模型大约1500-4000个三角面。
13、只有在游戏组件中的属性栏中勾选Mesh Renderer选项显卡才会渲染相应的模型,并且在场景中的空的GameObject组件是不会被渲染的。