圖形顯示的優化
簡單來說就是「結合!結合!結合!」(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表就好。
分享到:
相关推荐
果蝇优化算法的基本观念 果蝇优化算法求解极大值与极小值 Z-SCORE模型系数优化-以财务预警为例 广义回归神经网络参数的优化-以网络购物物流满意度为例 灰色神经网络参数的优化-以基金买卖决策为例 支持向量回归...
因为在如今的互联网环境下,一个前端团队如果只把性能优化这个任务写在纸上,而不投入实践,它将缺失最基本的竞争力。 笔者写这本小册,是希望通过短短十数个章节的讲解,尽可能降低一些大家学习性能优化的成本。 ...
软件工程基本观念 本章讲述软件工程的基本观念,是关于软件工程宏观上的探讨。如果你是软件公司的 老板,用不着在第一线工作,那么看这一章就够了。但你一定要让员工们相信不停地工 作是人生最大的快乐,并且让他们...
并利用混沌变量的随机、遍历特性在解空间内进行有效探索以及基本和声算法中和声策略对解空间进行开发的原理,提出了能求解具有多目标的水资源优化配置问题的混沌和声搜索算法;最后, 将水资源优化配置模型与混沌和声...
再造奇迹 介绍再造奇迹九大原则,了解流程的基本理念。 正确认识流程 为什么要引入流程,做流程管理?流程是什么?流程和制度有什么区别? 和业务、IT有什么关系?什么样的流程是一个好流程? ARIS设计 ARIS系统具有...
总的来说,我们将从**网络层面**和**渲染层面**两个大的维度来逐个点亮前端性能优化的技能树。...现在相信大家已经对我们的优化观念、知识结构、小册格局都有了基本认知,那么我们就赶快趁热打铁,进入实战技能的学习
适合最优化理论的初学者,详细介绍了最优化的基本理念。能够帮你理清思路
国家为了切实提升学校育人水平,持续规范校外培训,有效减轻义务教育阶段学生过重作业负担和校外培训负担,印发了《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》(简称“双减”)。从这开始,“双...
目前BPR的基本内涵是以流程运作为中心,摆脱传统组织分工的束缚,提倡面向客户、组织变通、员工授权及正确地运用信息技术,达到快速适应市场变化的目的,包括不同程度的业务提升、业务优化、业务改造 BPR是业务流程...
在系统工程思想的指导下,PDM用整体优化的观念对产品开发过程数据和产品制造过程进行描述,能够规范产品生命周期管理,保持产品数据的一致性和可跟踪性。PDM的核心思想是设计数据的有序、设计过程的优化和资源的共享...
由于x集团在2001年改制后股权结构已经基本分配定型,现在再回过头来重新分配股权不现实,并且股权结构调整的问题十分敏感,因此股权优化的主要出路是目前股东转让股权或者通过增资扩股增加中高层的持股比例来实现,...
因为在如今的互联网环境下,一个前端团队如果只把性能优化这个任务写在纸上,而不投入实践,它将缺失最基本的竞争力。 笔者写这本小册,是希望通过短短十数个章节的讲解,尽可能降低一些大家学习性能优化的成本。 ...
因为在如今的互联网环境下,一个前端团队如果只把性能优化这个任务写在纸上,而不投入实践,它将缺失最基本的竞争力。 笔者写这本小册,是希望通过短短十数个章节的讲解,尽可能降低一些大家学习性能优化的成本。 ...
系统支持 BPI June,2003 confidential 益华时代 2.1-流程优化管理的基本思想:企业需要的是选择一条务实有效的流程变革之路 1990年,MIT的Hammer教授提出了BPR的思想。并将其定义为"是对企业的业务流程进行根本性的...
用了一周的时间学习了一下最优化理论这门课,为了更深度地理解各种优化方法的理念和算法过程,自己把这些算法应用到实践中是很必要的。为此我设计了和优化算法相关的四个实验项目,在这里和大家分享一下。 无约束...
应用水资源区域配置的理念,建立了以百泉泉域水环境持续好转为目标的水资源管理模型,在邢台市区生活用水、农业用水基本保持不变,以及百泉泉域总开采量小于总补给量等约束条件下,解算得到了总用水量减少0.591 m~3/s、...
本章讲述软件工程的基本观念,是关于软件工程宏观上的探讨。如果你是软件公司的老板,用不着在第一线工作,那么看这一章就够了。但你一定要让员工们相信不停地工作是人生最大的快乐,并且让他们把本书看完。1.1节...
同时,市场经济的理念和激烈的市场竞争也极大的冲击着医院原有的医疗服务模式,促使医院的医疗服务由"以医院为中心"向"以患者为中心"、由"以医疗为中心"向"整体服务"、"全程服务"的方向转变和发展。 在这种形势下,...
1、了解开源精神——自由、开放、共享,树立开源学习理念。掌握开源GIS设计方法和技术,重点掌握开源GIS软件的基本应用 2、通过对典型开源GIS项目的分析,重点学习GIS设计的基本内容:项目规划,组织管理,系统设计...