首页 > 其他 > 详细

ParticleSystem的小优化

时间:2020-05-13 19:03:55      阅读:49      评论:0      收藏:0      [点我收藏+]

最近游戏场景希望加入一些ParticleSystem来丰富场景,这样肯定会带来一定的性能开销。一般来说ParticleSystem的优化就是尽量减少粒子数,尽量不使用粒子碰撞等。而今天要说的是,多个ParticleSystem之间的Draw Call问题。

例子:

首先场景中添加3个ParticleSystem如下

 技术分享图片

 

 

运行效果

 技术分享图片

 

 

这里展示了3个ParticleSystem叠加在一起的效果。这种需求会经常碰到。

起初采用的方案:给每个ParticleSystem添加了不同的材质,每个材质对应相应的图片。如图:

 技术分享图片技术分享图片

 

 技术分享图片

 

 

 

统计一下Draw Call

 技术分享图片

 

 

优化方案:

减少Draw Call, 第一个想到的就是合并到一张大图。

可以使用Texturepacker。打包结果如下:

 技术分享图片

 

 

因为我的Texturepacker的mac版是免费的所以打包出来有水印。。请忽略

然后把3个ParticleSystem使用同一材质,对应纹理改成打包后的图片

 技术分享图片

 

 

重点来了:

ParticleSystem中勾选Texture Sheet Animation->Mode->Sprites,选择对应的Sprite

 技术分享图片

 

 

OK! 运行看一下Draw Call

 技术分享图片

 

 

可以看到Call减少2.

 

ParticleSystem的小优化

原文:https://www.cnblogs.com/gangtie/p/12884051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!