unity手游优化总概

体积小、功耗小、带宽小

在开发移动游戏时,我们可以借助一些性能优化方法来提高游戏性能,改善画面质量。

用户可以在一下几个方面优化:

1.资源方面(游戏中使用美术资源)

 动态物体:

游戏主角(1500),怪物,NPC

    ^控制面片数量300-2000面片

       去掉细节,节省面片数量

^控制skinned mesh render 为1个

       控制材质数量      1-3个

   控制骨骼数量 小于30根 (pc 15-60)

静态物体

一般静态物体(控制网格顶点数少于500个)

标记为static

Static Batching

Animation组件:如果不需要,尽量不要附加

自带地形

控制地形的分辨率

地形高度图尺寸小雨257

地形纹理中尽量使用少的混合纹理数目(尽量不要超过4个)

纹理数据

纹理格式

尽量采取压缩格式(3D硬件芯片)

纹理尺寸(长宽小于1024,同时应该尽量小,够用就好)

建议使用Mipmap(虽然有可能会增加程序的大小,但会提高渲染效率)

音频数据

播放时间长(背景音乐)

可以使用.ogg或.mp3的压缩文件格式

播放时间短

可以使用.wav或.aif格式的未压缩格式


2.引擎方面(优化选项)

灯光设置:在满足效果的前提下,控制场景中,光源的个数,尽量不要添加冗余光源。

   光源设置:控制important光源的数目(尽量1个或干脆没有)个数越多,drawcall越多

pixel light count(1-2个)

   相机设置:设置合理的裁剪平面

   粒子效果:建议小于200个

每个例子发射器所发射不超过50个

粒子大小,尽量小(对于非常小的粒子,在其粒子纹理中可以去除Alpha通道)

   物理引擎

碰撞体控制(尽可能的使用Sphere Colloder和Box Collider,尽量避免使用Mesh Collider)

   渲染优化

尽可能的避免使用Alpha Test和Alpha Blend

* Alpha Test的性价比 比较低,可能的话,使用Alpha Blend代替

使用Alpha Test和Alpha Blend的像素数降至最低

DrawCall Batching

unity在渲染时,可以将一些物体合并,从而可以使用一个DrawCall来渲染他们,这就称为DrawCall Batching

理论上讲,unity batching的物体越多,就会得到更好的渲染性能。

Static Batching

针对静态物体进行Batching

对几何数据的大小没有限制

使用后会额外的增加内存开销来存储Batch后的数据。

Dynamic Batching

对于相同的动态物体,unity会自动对其进行Batching。


纹理合并Texture Patching

遮挡剔除(Occlusion Culling)


3.代码方面(优化代码)





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值