Emitter 及Particle 的參數調整概論(9) - Keep particles in order

作者:Kevin Yang

Page:1-1

資料整理:仕冶資訊技術服務小組


Keep particles in order 這個選項在大多數的情況下,分子向四面八方發射的話,你是感覺不出來其中的差異的。

在深入了解 Keep particles in order 這個選項前,先來瞭解一下 particleIllusion 「繪製」分子的原理,也就是產生出分子。particleIllusion 經由發射器產生分子 ,分子會被加入到一個「清單(list)」內。不是用噴的。分子會跑,這是產生分子後賦予動力才有的動作。

根據這個原理,最「老」的分子是最先繪製的,最「新」的分子是最後繪製的,聽起來像廢話不是嗎!但是,在某些情況下,分子的生命週期結束了 - 已經消失掉了。為了節省記憶體,particleIllusion 會重新「徵召」這些已經「消失」的分子,並經由這些分子重新產生分子,也就是賦予這些分子新的生命。新的分子依舊留在繪製「清單(list)」內相同的位置,也就表示部份新的分子繪製時使用這些較舊的分子 - 繪製清單不再 "依照順序",隨著時間的增加,越多的分子消失,繪製清單內會有越來越多的分子混合。

在多數的情況下,混合後的清單會完全的不同 - 分子的外型與運動方式不變,不論繪製次序。在某些情況下,順序會讓分子在繪製產生些許的不同。在這些罕有且特殊的情況下,Keep Particles in Order 選項核取的話,將會產生幾種狀況:

首先,消失的分子將不再被使用,所以更多的記憶體將會被使用。
第二,分子的繪製由特別的順序 - 「老」分子優先或「新」分子優先。

簡單說,為了節省記憶體的使用,particleIllusion 會將消失的分子重新加入發射清單,再次的利用。以實際的效果來說,由於所有發射出來的分子都是一張張 2D 的圖片,圖片與圖片間的關係就有「上」與「下」的層次,Keep particles in order 就是為了解決這個問題!後面的說明看圖片就更加的清楚。

當 Keep Particles in Order 核取後,接著 Oldest in Back 與 Oldest in Front 選項會顯示出來:


圖 1: Keep Particles in Order 選項


圖 2: Oldest in Back 與 Oldest in Front 的效果,以 mouse 發射器為例

這是default.iel內mouse發射器,取消Single Particles,小老鼠就像四面八方產生出來。另一個發射器,是另一組Group4->Big Fat Worm 1

Oldest in Back:「老」的分子就堆在最下面 (Back),表示新的分子在最上面。上面永遠是新產生的分子,所以你看到的小老鼠不會動;因為小老鼠是連續圖片,新產生的小老鼠分子馬上就疊在最上面,所以你一直看到的是新產生分子小老鼠第一張圖片。

Oldest in Front:「老」的分子就堆在最上面。反之,新的分子就在下面,所以你可以很清楚的看到舊的分子在上面,直到消失。

乍看之下,感覺Oldest in Front會比較符合現實的效果,不過那是靜態圖像的觀點,再預覽區拖曳一下Big Fat Worm 1這組發射器,很明顯就可以看出它的不同了。


圖 3: 當 emitter 靜止時 Oldest in Back 與 Oldest in Front 的效果,以 Big Fat Worm 1 為例


圖 4: 當emitter 運動時 Oldest in Back 與 Oldest in Front 的效果,以 Big Fat Worm 1 為例

 

請注意:核取 Keep Particles in Order 選項將會使用更多的記憶體,想要比較核取本選項前後,使用了更多的記憶體的差異,可以從 particleIllusion 下方視窗的狀態->發射器與分子的數值。下圖中的1:301,表示工作區內只有1個發射器,有301個分子,雖然實際顯示的分子沒那麼多,表示有那麼多的分子在發射清單內。


圖 5: 發射器與分子,

若是未核取 Keep Particles in Order 選項,分子數從畫格0開始增加,到一定的數量時就停止增加,表示發射清單的分子數量是固定的,這樣比較省記憶體;但是核取 Keep Particles in Order 選項,分子數就會一直的增加,表示發射清單的分子數量一直在增加,這樣會消耗比較多的記憶體。

 


1•我要發表意見

資料整理:仕冶資訊技術服務小組