作者chenglap (无想流流星拳)
看板GameDesign
标题Re: [程式] 20130511 台北Unity开发者研讨会 笔记
时间Sun May 12 14:35:31 2013
※ 引述《NDark (溺於黑暗)》之铭言:
: 行动平台优化要点
: 每个动态物件(角色)的三角形面数在300到2000之间。
: 每个动态物件(角色)的Skinned Mesh Renderer仅用一个。
: 每个动态物件(角色)的材质数只用一个。
: 每个动态物件(角色)的骨架限制在30根以下。
这一段真的是非常重要.
我认识的公司开发 Unity 超支, 很多就是一开始美术对这没有概念.
往往用过往做其他 3D Model 的经验去重做.
而没有了解到行动平台和 Unity 对於立体架构的限制.
往往结果是: 重造, 全部重造.
: 非常小的粒子去掉alpha channel。
: 不要开启粒子的碰撞。
: 碰撞类型不要使用Mesh Collider。
: 减少使用Animation组件。
: 不缩放的动画,去除Scale Curves的参数。
: 若只使用一个AnimationClip,就使用Unity 3.5的动画系统。
: 使用Macanim(Unity 4的动画系统),要搭配使用Body Mask。
: IK选用Generic Mode。在Android上会耗费严重的效能。
: Render时减少使用Alpha Test与Alpha Blend。
: Draw Call Batching分为Static与Dynamic。後者点数控制在900下,若包含Position
基本上他需要专用的 PM.
: >加密->TextAsset->Asset Bundle。
: 使用native dll来保护重要程式码,但Web应用不能使用dll。
: Unity Shader System
: 透过Shader Name就会自动产生选择Shader的架构。
: SubShader可视为真正的Shader,由上而下执行。
: SubShader的Tag表示如何执行:可指定执行的顺序。
: SubShader的Tag表示如何表现。
: 着色方式Vertex Lit:快,限制多。
: 着色方式Forward:将灯光分为最重要+不重要以及其他重要。区分方式可手动,也
: 可以依照强度与方向来自动决定。
: 着色方式Deferred:手机不能使用,也不支援透明。
: CG/HSSL会被转译为GLSL。
: 使用基本Shader会需要写132行的程式,使用Surface Shader来做隐藏简化:标明
: surfae code与light code。
: #pragma debug可以将隐藏的程式码显示在程式码中。
: 透过user define keyword将参数传入shader中。
--
战略游戏版 SLG
(C)lass > 8 战略高手 > 11 GameTopics > 28 SLG
绝望人民共和国官方网站...
http://chinesepeking.wordpress.com/
--
1F:→ vamper:移动平台的硬体不是愈来愈好,怎还开这样的规格?跟以前一样 05/12 19:06
移动平台的硬体只是越来越多样化.
却不一定是越来越好.
※ 编辑: chenglap 来自: 61.18.51.146 (05/12 21:48)
2F:→ yhn0tgb60:一台2万的手机 效能可能还打不赢PC 3000块的CPU 05/13 10:15
3F:→ anshley:不过行动装置萤幕小,很多细节也省略了吧 05/13 14:29
4F:推 cmcer:节省运算是正确的,行动装置的问题是电源,谁都不想玩个游戏 05/13 22:50
5F:→ cmcer:结果手机两个小时就没电 05/13 22:50
6F:推 kunsin:演说者有提到, 手机内部运算/传输还是差 PC 很多 05/14 22:37
7F:→ kunsin:高速运算带来的耗电量及散热问题, PC的CPU/GPU/RAM不会遇到 05/14 22:42
8F:→ viceversa56:行动装置回归原始本来就不是设计用来玩耗效能的3D游戏 05/14 22:50
9F:→ viceversa56:但是有很多游戏开发者一直想挑战这一块 05/14 22:50