近期热门
粉丝28
关注 1
获赞 3
手游特效优化那点事(一)

[教程] 手游特效优化那点事(一)

 !heats_icon! [复制链接]
39003 753 2 123 8年前 举报
在论坛里看了很多帅气的特效,确实感觉不错.但是在移动平台的游戏项目,由于硬件限制,特效尤其是3D特效,效果经常大打折扣.
这是篇讲解移动平台上美术优化尤其是特效优化的文章,主要目的有2:
一是从游戏美术人员的角度分析移动平台的美术优化技术,尽量少牵扯复杂的程序知识,而是关注于美术同学实际遇到的问题和解决方案.当然也会讲解些底层知识,进一步提高美术人员尤其是特效人员的装逼能力
二是我需要一些CG券来下载资源.所以写点东西来赚论坛币. :p
需要注意的是,我这里使用的是unity引擎做示范,但实际的技术是各个引擎通用的,只是优化侧重点和工具不同.
第一篇讲美术测试环境和Fillrate.如果反响好再写drawcall ,shader这类.能力有限,如果有错误或偏差,欢迎私信讨论.

测试环境的搭建
制作移动平台的游戏项目,一个优秀的美术人员应该学会怎么去评估自己资源的消耗.也就是,把所有相关代码去掉,纯美术环境下游戏的运行效率.一个简单的做法就是,把你们的场景文件打开,同时在这样个场景上运行的角色模型动作和特效放上去(比如你想在这个场景中同时出现10个角色放技能,那就模拟游戏环境随机丢10个带动作的角色10个技能特效以及附带受击效果),打包到手机上运行,然后用profiler这类工具来检测下运行运行效率.关于profiler这类工具的使用,百度有详细的教程.比如,要想检查某些美术资源(比如一些特效)的消耗,我会在自家的场景里(下面测试我使用里一个简单的场景和一个特效切换脚本,附带的脚本我后面会提供下载)把想要检查的特效放到Element0~element4,分别测试运行效率.
QQ图片20151028182639.png 图片1.png
一.填充率(fill rate)overdraw. 之所以一开始想说的是Fill rate,而不是draw call或者内存或者shader运算这类,是因为Fill rate造成的瓶颈在移动平台特别明显,并且有一定的隐蔽性不容易被美术人员量化和察觉.下面一个举一个特效上的例子来说明问题.
下面是一个常见的爆炸波贴图,用的是普通的alphablend材质(为了让贴图使用ETC1压缩,shader中把alpha贴图单独拆开了,这个以后说内存优化时再说).然后做一个简单的粒子发射器,然后用这个粒子发射那个贴图的面片模型,面片模型在生成过程中做缩放和旋转动画.这也是特效人员常用的一种扩散波样式.为了问题明显些,我吧生成模型的rate打到比较大的数值200.
QQ图片20151028183624.png QQ图片20151103111811.png
接下来问题来了.要发射的是什么样子的面片?我下面有个2个面片模型,一个是中间镂空的圆环,一个是最常用的4边形,可以看到面数差距很大,我想基本上特效人员都会用4边形而不是面数高的圆环吧?那在这种情况下实际运行效率如何
){W0]]6{]1PNHS2Z48U(L4L.png KU4PD@(Y}A_MZSR_Z%ESJ62.png
我们在把刚才的粒子发射器成2,分别在水平面上发射高面和低面的模型.下面是2个粒子发射器运行时的截图,可以看到,高面粒子场景生成了14的的3角面,而低面的场景只有1.4k,10倍的差距.其实眼尖的同学已经注意到了FPS,高面的渲染时间是0.8ms,而低面的是2ms.低面的场景比高面少了1w多边形,渲染时间反而多了一倍!
QQ图片20151028182843.png QQ图片20151028182902.png
把场景打包到手机上运行,proflier去检查再次验证了这个结果:
在测试手机上高面场景是81ms,而低面是140ms
QQ图片20151028183229.png
QQ图片20151028183242.png
为什么我们明明”优化”了多边形数量,渲染效率反而降低了那么多?
从中作怪的就是现在要说的Fill rate和overdraw.
游客,本付费内容需要支付 20张CG券 才能下载支付

脚本下载

SampleSceneGUI.cs 已购买

812 Bytes 售价: 5 张CG券
下载



手游特效优化那点事(二):点我!










2
点赞
0
打赏
123
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论753
您需要登录后才可以回帖 登录 | 立即注册


南无阿弥陀佛
3年前
回复

使用道具 举报

有点用
4年前
回复

使用道具 举报

资源甚好,发帖艰辛,且阅且珍惜!
4年前
回复

使用道具 举报

4年前
回复

使用道具 举报

謝謝樓主分享
4年前
回复

使用道具 举报

学习了
4年前
回复

使用道具 举报

牛逼了我的哥
4年前
回复

使用道具 举报

lihaile
5年前
回复

使用道具 举报

谢谢分享
5年前
回复

使用道具 举报

源甚好,发帖艰辛,且阅且珍惜!
5年前
回复

使用道具 举报

您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器