读书人

於化的根本念

发布时间: 2012-10-10 13:58:11 作者: rapoo

於化的基本念

形示的化
??就是「合!合!合!」(combine! combine! combine!)
??Mesh 可能合,Material 和 Texture 可能共用。
??一 Mesh 建使用的面在 1500~4000 之。
??一 Mesh 建只用一 Material。
??注意:Mesh合成一Mesh,但是使用 Material,不提高效能。
? ?? ???如果要提高效能必把Mesh的Material也合成一。
? ?? ???句,一Mesh使用多 Material 和一 Material 使用多 render,其耗能是差不多的。
? ?? ???所以,可能的物件共用相同的 Texture 才是提效能的根本之道。
??Pixel Light
??Pixel Light 非常耗能,如果想要在上也跑得很,
??可以在 Edit->Render Settings 中把 Pixel Light Count 成 0。(完全不使用 Pixel Light)
??你也可以根每 Light 的重要度,分定。
??重要度高的 Render Mode 成 Force Pixel 。
??不重要的成 Force Vertex。
??Layer 管理
??地上的小石或瓦之的小西生的影子比不明,
??我可以把些西在同一。
??利用script中 Camera.layerCullDistances 功能更控制示的距。
function Start ()
{
? ? var distances = new float[32];
? ? // Set up layer 10 to cull at 15 meters distance.
? ? // All other layers use the far clip plane distance.
? ? distances[10] = 15;
? ? camera.layerCullDistances = distances;
}
??Shadow
??影子的算完全依靠 GPU。
??Soft shadow 比 hard shadow 多花GPU效能。但是者使用的 CPU 是相同的。
??Anti-aliasing 也是完全靠 GPU算。
??Anisotropic Textures 也是完全靠 GPU算,建在 天花板或是地板的 Texture 上使用。
??於影的化,考 叫你自由 前所的一帖:
??http://bbs.vrsh.cn/thread-2263-1-2.html
■Texture 2D
??Unity 取 PSD之後,自平面化,不作的大。
??Texture 的的大小最好由下列字中挑:2、4、8、16、32、64、128、256、512、1024、2048。
??Texutre 不一定要是正方形的,方形也可以。
??如果 Texture 的大小不是由上方字所成的,那形稍微多耗用一些的卡的,取也稍微慢。
??所以特殊的 Texture 大小建只使用在 GUI上。
??Mip Maps
??使用 Mip Maps 大多占用 33%的,但是可以大幅提效能。
??所有的 Texture 都建使用 Mip Maps,唯一不需要使用的是 GUI的 Texture。
■Shader 效能 (Normal、Transparent、Transparent Cutout、Self-Illuminated、Reflective、Lightmap)
??由上→下,左→右,愈愈耗能。
??Vertex_Lit -> Decal
??-> Diffuse??Fast -> Diffuse ->Diffuse Detail
??->Bumped ->Specular ->Bumped Specular
??-> Parallax Bumped -> Parallax Bumped Specular
??附件中有比清楚的示。

■角色(charcater)最佳化
??一、每Mesh只使用一 Skinned Mesh Renderer。
??二、不要使用太多的Material。
? ?? ?唯一需要使用不同的 Material 的原因,是你想要使用不同的 shader。
? ?? ?一角色使用 2~3 Material 就能充份表效果。
? ?? ?如果角色可能武器,人物和武器的Material要分,
??三、少 bone 的量
? ?? ?角色 bone的量限制通常在 15~60 之,通常 30 bone 已可以做到很好的效果。
? ?? ?烈建一角色的 bone 量在 30 以。
??四、polygon 面
? ?? ?面建在 500~6000之。
? ?? ?HL2 的面是 2500~5000、次世代角色的面在 5000~7000。
??五、IK FK 格分
? ?? ?因 Unity 不需要 IK 的料,做可以你很方便地除 IK 料。
??六、使用可重覆利用的 Rig
? ?? ?可以不同的角色使用相同的。
??七、正命名每一bone
? ?? ?正命名每一bone之後,使用Ragdoll功能事半功倍。否骨架定正花你多。
■本相
??考上前的心得,摘如下:
??1.biobio前的 新人的作? ?FindObjectsOfType,FindGameObjectWithTag,GameObject.Find,这类函数很好用,但是开销很大,要想优化性能最好使用static ArrayList,存储同一个类型的对象,使用的时候查这个list表就好。

读书人网 >软件架构设计

热点推荐