3D 粒子系統屬性
發射器屬性
「Emitting」屬性旁的核取方塊可用來啟用或停用粒子系統。只有在勾選時,粒子系統才會被處理與顯示。你也可以在執行時動態切換這個屬性,以便動態啟動或關閉粒子系統。
「Amount」屬性用來設定同時可見的最大粒子數。提高這個數值能產生更多粒子,但會犧牲效能。
「Amount Ratio」屬性用來設定實際發射粒子的比例。如果小於 1.0,整個生命週期釋放的粒子數會等於「Amount」乘以「Amount Ratio」。在粒子系統運作中修改這個值,不會影響已經存在的粒子,也不會重啟粒子系統。這非常適合做粒子數量隨時間變化的特效。
你可以將另一個粒子節點設為「Sub Emitter」,這個子發射器會在每個粒子的生命週期中作為其子物件生成。詳細說明請參考本手冊中的 子發射器 章節。
時間屬性
「Lifetime」屬性設定每個粒子存在多久(以秒為單位),時間到就會消失。許多粒子屬性都可以設定於粒子生命週期內平滑變化。
「Lifetime」和「Amount」兩個屬性相關聯,決定了粒子系統的發射速率。若要計算每秒產生的粒子數,可使用以下公式:
例如:如果「Amount」為 32,「Lifetime」為 4 秒,代表系統每秒發射 8 個粒子。
「Interp to End」屬性會讓所有粒子在其生命週期結束時平滑插值到最終狀態。
如果勾選「One Shot」屬性,粒子系統將只發射一次(共「Amount」個粒子)後自動停用。預設未勾選時,粒子系統會持續發射直到被手動停用或移除。「One Shot」很適合用在單一事件觸發的特效,例如道具取得或子彈撞牆時飛散的碎片。
「Preprocess」屬性可以讓粒子系統在啟動時模擬已經運行了一段時間(以秒為單位),直接渲染那個狀態。設為 1 代表系統啟動時,就像已經運作了一秒一樣。
這很適合讓剛載入場景的粒子系統,看起來像已經運行了一段時間。比如下方範例,兩個系統都模擬區域內飛舞的灰塵。若「Preprocess」設為 0,系統啟動前幾秒會看不到灰塵,因為粒子還沒累積出效果。若設為 4,畫面一開始就會看到完全效果,因為跳過了前 4 秒的「預備」時間。
無預處理(左)vs. 預處理 4 秒(右)
你可以用「Speed Scale」屬性來調整粒子系統的快慢。這會影響粒子的運算與渲染速度。設為 0 可完全暫停粒子系統,設為 2 則會讓系統加速一倍。
不同的速度倍率:0.1(左)、0.5(中)、1.0(右)
「Explosiveness」屬性決定粒子是依序發射還是同時發射。設為 0 時粒子會一個接一個發射,設為 1 時則會全部同時發射,呈現出更「爆炸」的效果。
「Randomness」屬性會讓粒子的發射時機帶有隨機性。設為 0 時,發射間隔完全固定,粒子均勻出現。設為 1 時,間隔完全隨機,可以讓效果更自然。若「Explosiveness」設為 1,此屬性則無作用。
關閉插值(左)vs. 啟用插值(右)
「Fixed FPS」屬性限制粒子系統更新的頻率,包含屬性、碰撞、吸引器等計算。這可以大幅提升效能,特別是在有大量粒子碰撞時。注意這不會影響粒子的移動或旋轉速度,若要調整速度請使用「Speed Scale」。
若將「Fixed FPS」設得太低,粒子的動畫會變得不流暢。某些美術風格可用這效果,但大多數情況下你會希望動畫平滑。這時可啟用「Interpolate」屬性,在更新之間內插粒子屬性,即使僅 10 FPS 也能呈現如 60 FPS 的流暢度。
備註
當使用 粒子碰撞 時,如果粒子速度很快且碰撞體很薄,可能會發生穿透現象。這可透過提升「Fixed FPS」(會犧牲效能)來改善。
碰撞屬性
也參考
設定粒子碰撞需要依照 3D 粒子碰撞 章節的進階步驟操作。
「Base Size」屬性設定每個粒子的預設碰撞大小,用來檢查粒子是否與環境發生碰撞。通常應設為與粒子本身差不多的大小。若粒子體積極小且速度很快,建議適度提高此值,以避免粒子穿透碰撞體。
繪製屬性
「Visibility AABB」設定粒子系統原點周圍的可見方塊,只要方塊有任何部分在攝影機畫面內,粒子系統就會被渲染。若完全離開畫面,則不再渲染。建議將方塊設得越小越好,以提升效能。
設定「Visibility AABB」時要注意,超出方塊邊界的粒子會立即消失,且該範圍外不會發生粒子碰撞。雖然這不是 bug,但可能影響視覺效果。
勾選「Local Coords」時,所有粒子的運算(重力、上下方向、移動方向等)都以本地座標系統為準,例如上下會跟隨粒子系統或父節點的旋轉。若未勾選,則以全域世界座標計算,無論粒子系統旋轉與否,下方永遠是世界空間的 -Y。
本地座標(左)與世界座標(右)
「Draw Order」屬性決定粒子的繪製順序。「Index」按發射順序繪製,後發射的粒子會蓋在前一個之上。「Lifetime」則依剩餘壽命排序繪製。「Reverse Lifetime」則反轉壽命順序。「View Depth」則依據與攝影機的距離,較近的粒子會蓋在較遠的上面。
「Transform Align」屬性決定粒子的預設旋轉。「Disabled」表示不強制對齊,旋轉取決於處理材質設定。「Z-Billboard」會讓粒子永遠面向攝影機,類似 Standard Material 的「Billboard」屬性。「Y to Velocity」則將每個粒子的 Y 軸對齊其移動方向,適合像子彈、箭矢這類必須朝前的效果。「Z-Billboard + Y to Velocity」則會讓 Z 軸朝向攝影機,Y 軸同時對齊速度方向。
軌跡屬性
粒子軌跡屬性
「Enabled」屬性決定是否啟用粒子軌跡。若要顯示軌跡,請務必勾選此選項。
「Length Secs」屬性設定軌跡的持續時間,數值越高,顯示的軌跡越長。
詳細說明請參考本手冊的 粒子軌跡 章節,瞭解粒子軌跡的運作原理與設定方式。