近期热门
首页 CGJOY论坛 特效作品交流 特效教程
手游特效优化那点事(一)

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

 !heats_icon! [复制链接]
63099 753 2 124 9年前 举报
在论坛里看了很多帅气的特效,确实感觉不错.但是在移动平台的游戏项目,由于硬件限制,特效尤其是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
打赏
124
添加到收藏夹

0

点击复制链接

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


南无阿弥陀佛
5年前  ·  753楼
回复

使用道具 举报

有点用
5年前  ·  752楼
回复

使用道具 举报

资源甚好,发帖艰辛,且阅且珍惜!
6年前  ·  751楼
回复

使用道具 举报

6年前  ·  750楼
回复

使用道具 举报

謝謝樓主分享
6年前  ·  749楼
回复

使用道具 举报

学习了
6年前  ·  748楼
回复

使用道具 举报

牛逼了我的哥
6年前  ·  747楼
回复

使用道具 举报

lihaile
6年前  ·  746楼
回复

使用道具 举报

谢谢分享
6年前  ·  745楼
回复

使用道具 举报

源甚好,发帖艰辛,且阅且珍惜!
6年前  ·  744楼
回复

使用道具 举报

数据加载中....
没有更多评论了
您当前使用的浏览器IE内核版本过低会导致网站显示错误

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