粒子相关

Q1:在把Unity升级到5.3之后,项目中缓存的粒子特效无法正常播放了(只能播放一次),是否还需要修改粒子的设置呢?

这个问题是Unity的Bug,5.4.0B3 release note 为:
Particles: Fixed particle system only playing once.(会在新版本5.4修复)
目前我们推荐通过另一种方法可以暂时绕过该 Bug:
particleSystem.Stop();
particleSystem.Clear();
particleSystem.Simulate(0.02f);
particleSystem.Play();

Q2:我们在UWA报告中看到有拼合粒子系统和未拼合粒子系统,请问如何拼合粒子系统?有没有什么规则呢?

粒子系统的Draw Call动态拼合与半透明物体的动态拼合机制相当(粒子基本都是半透明材质)。而对半透明物体,由于其渲染顺序的限制(必须从后向前渲染,以保证渲染结果的正确性),动态拼合只能对渲染顺序相邻且材质相同的物体有效。而在决定半透明物体的渲染顺序时,Unity首先会按Shader中的RenderQueue进行排序;其次(相同RenderQueue时),会根据每个半透明物件到屏幕的距离,距离大的优先渲染。
因此,需要尽可能地将相同材质的粒子系统放在比较接近的深度下,才能更多地使动态拼合生效。但通常由于相机的运动、粒子系统的分散分布等原因造成粒子系统之间的穿插,能够动态拼合的数量往往都是很少的,所以我们在粒子系统模块看到的开销分布通常类似该图,主要都是未拼合粒子系统造成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 111. [动画系统]如何将其他类型的动画转换成关键帧动画? 动画->点缓存->关键帧 112. [动画]Unit...
    胤醚貔貅阅读 13,243评论 3 89
  • This article is a record of my journey to learn Game Deve...
    蔡子聪阅读 3,898评论 0 9
  • 每日早上来实验室习惯性的会打开一些咨询类网站看看进来世界都发生了什么。今天无意间发现了这样一个网站,让我幸喜若狂。...
    Skye_kh阅读 304评论 0 0
  • 一只大斑节虾,划成厚厚的两片,浇上很多蒜末,铺一层粉丝,到我这里看到的就是这样子,摆盘精致。厉害的厨师好像魔法师一...
    小满呀阅读 342评论 0 0