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報告中看到有拼合粒子系統(tǒng)和未拼合粒子系統(tǒng)妹田,請問如何拼合粒子系統(tǒng)唬党?有沒有什么規(guī)則呢?
粒子系統(tǒng)的Draw Call動態(tài)拼合與半透明物體的動態(tài)拼合機制相當(粒子基本都是半透明材質)鬼佣。而對半透明物體驶拱,由于其渲染順序的限制(必須從后向前渲染,以保證渲染結果的正確性)晶衷,動態(tài)拼合只能對渲染順序相鄰且材質相同的物體有效蓝纲。而在決定半透明物體的渲染順序時阴孟,Unity首先會按Shader中的RenderQueue進行排序;其次(相同RenderQueue時)税迷,會根據(jù)每個半透明物件到屏幕的距離永丝,距離大的優(yōu)先渲染。
因此箭养,需要盡可能地將相同材質的粒子系統(tǒng)放在比較接近的深度下慕嚷,才能更多地使動態(tài)拼合生效。但通常由于相機的運動毕泌、粒子系統(tǒng)的分散分布等原因造成粒子系統(tǒng)之間的穿插喝检,能夠動態(tài)拼合的數(shù)量往往都是很少的,所以我們在粒子系統(tǒng)模塊看到的開銷分布通常類似該圖撼泛,主要都是未拼合粒子系統(tǒng)造成挠说。