我这边会同时播放多个粒子动画,texture都是同一个图集的,但不知道为什么drawcall跟着动画数量飙升。
有什么办法可以做到合批吗?
它们的渲染命令的提交是否相邻呢。 比如,图1 - 图2 - 图1,会打断合批。相同的图集只是合批的一个必要条件罢了。
我也不知道,所有节点是相邻的,节点里面在渲染上只有贴图,没有其他Label什么的。
节点是cc.instantiate预制生成的,难道是这个原因导致的?
那就不清楚了,让美术出序列帧吧,对于美术人员,易如反掌
个人觉得。视觉效果,除了特别的图形处理,都不应该由程序员去做。
是美术做好导出给我的预制
三消游戏很多都是随机效果,改成序列帧,我们的美术妹妹都要崩溃了。
一个粒子效果解决的,改成图,搞了4个小时,抠图也是很麻烦的。
cocos2dx,有一个ParticleBatchNode组件,可惜cocos creator没有。
我记得 美术不是有 粒子效果的软件吗。导出。
跟预制体没有关系,就是粒子系统的渲染问题,加大drawcall
好吧,粒子系统还有一个就是播放完成没有设置回调的地方,都不知道什么时候回收节点
自己构造缓冲池,模拟粒子轨迹,冒充粒子系统。
唯一有点沾边的官方回答还是2年前的。
可以将粒子使用的图片资源也打到图集中。这里粒子需要处理一下源码,定制一下。之前源码里面都是通过读取plist,然后new一个spriteFrame给粒子的,你给他改成从SpriteAtlas中getSpriteFrame,然后给到粒子使用。当然这样保证使用粒子前,所需要的那张图集要加载进来。所以比如建筑所使用的粒子就和建筑的资源打包在一起
也只是提供了一个思路,具体实现还是得自己吃源码