unity3D菜鳥成長筆記 之 舊版粒子系統研究 測試實驗(一)

一、舊版粒子系統添加方法

1.新建GameObject Empty,引擎自動命名爲GameObject,在這裏重命名爲Myparticle、

2.選中Myparticle,將鼠標移動到場景中,點擊F鍵,可以找到該空物體的位置

3.在Myparticle的監視面板上單擊Add Component按鈕-->Effect-->Legacy Particles-->Ellipsoid Particle Emitter

4.然後添加Particle Renderer 和Particle Animator

5.此時觀察Scene面板中的Myparticle,此時是一堆沒有小點,其實是沒有貼圖的圖片;

6.這樣一個粒子系統就已經被添加到場景中了,接下來要做的就是對該粒子系統進行設置;

7.可以在project面板中找一張合適的圖片賦給它,方法是點擊目標圖片直接拖到Myparticle上面即可;我使用的是這一張,是我自己拿PS畫的。

8.此時粒子系統變爲了這個模樣:

9:OK,接下來就可以開始試驗了,讓我們看看監視面板上的各個選項都是做什麼的;


本人也是Unity初學者,自學過程中看的網上的教學視頻使用的是新版的粒子系統,在使用起來非常方便,但是後來發現舊版粒子系統還是有好多地方比新版要好,所以就立志要把舊版粒子系統搞一搞,這裏做這些實驗目的就是能讓自己對粒子系統這部分有更深刻的認識,也希望能對他人有所幫助;

二、粒子系統監視面板:


三、粒子系統實驗:

1.Ellipsoid Particle Emitter:橢圓粒子發射器

把勾取消掉,會發現場景中的Myparticle停止閃動,但是並沒有消失,爲了實驗繼續進行,我們把勾再選上;



2.Emit:發射

把勾取消掉,會發現粒子緩緩消失,直至全部消失,前後對比如下:

爲保證後續實驗進行,我們把它勾選上。



3.Size:大小

從字面上看此項使用來調整粒子的大小的,min最小,max最大,粒子的大小範圍在二者之間隨機產生:

例如當min size設置爲0.1,max size設爲0.5:效果如下:

max size設置爲1:


4.Energy:能量


能量值越高,粒子存活的時間越長,等同於新版粒子系統中的life time。

實驗中我把min設置爲2,max設置爲3。意味着我的粒子發射器發射出來的粒子最多隻能存活3秒。

爲了看得更清楚,我們給粒子相對世界座標添加一個Y軸的速度,大小爲20。速度方面的實驗見6。

仰視截圖如下:


接下來縮短min值爲1,max的值爲2


可以發現粒子束的長度明顯縮短。


5.Emission:每秒鐘發射的粒子數


默認值爲50,如4中的第二幅圖,如果縮小這個值會有什麼現象發生呢?

相對於4中的第二幅圖,min縮小至20,max縮小至30,看看效果:


發現粒子的密度降低了許多

放大一下看看:

min放大至100,max放大至150,效果如下:


可以發現粒子密度劇增

原因就是因爲在1s內發射了100~150個粒子,堆疊在一起產生了上面的效果。



6.Velocity:速度

可以調節粒子在空間中的速度,分爲:World Velocity(世界座標軸各軸向的速度)、Local Velocity(自身座標系各軸向的速度)、Rnd Velocity(隨機速度);我們逐一來看:

1)World Velocity:

爲了看着方便我們把粒子的一般參數設爲:


沒有施加速度時,粒子堆在中心點:

藍軸爲Z軸,紅軸爲X軸,綠色爲Y軸;

我們增大world Velocity中的x的值,發現粒子開始沿X軸正向移動:


增大其他各軸的值意義和此一樣。如果把值設爲負值,會發現,粒子開始沿X軸的負方向移動;

2)Local Velocity

原理和1)中的一樣,只是他的軸不是世界座標而是自身的軸向;


3)Rnd Velocity

把x值設爲20,發射器將會在生成速度0~20之間的粒子,在x軸移動,移動的方向可能是正方向也可能是負方向,隨機決定,爲了看着更壯觀,我把粒子發射器的Emission調大,如下圖:


其他各軸向同理;

7.Emitter Velocity Scale:粒子發射器的速度比例:


默認值爲0.05,也使用來調節粒子的速度;

此屬性將只適用於模擬世界空間被啓用時。如果此屬性設置爲1,粒子將在它們產生時精確繼承發射器的變換(速度)。如果設置爲2,粒子將繼承雙倍的發射器變換(速度)。設置爲3則是三倍等等。(來自unity聖典)


8.Tangent Velocity:正切速度

粒子沿X,Y和Z跨越發射器表面的初始速度




9.Angular Velocity:粒子旋轉速度



加旋轉前


加旋轉後

發現粒子開始旋轉,數值等於每秒鐘旋轉的角度。即數越大,粒子旋轉的速度越快,這是經實驗證實的。

由於各粒子的生成時間不同,先生成的粒子先旋轉,後生成的粒子後旋轉,因此畫面上的旋轉圖像顯得有些雜亂,但是其旋轉速度都是相同的。如果把旋轉速度調快,用肉眼也能感覺出來這一點。


10.Rnd Angular Velocity:粒子隨機旋轉速度


這裏將數值調爲15,觀察效果變化如下:


加旋轉前


加旋轉後

乍看上去似乎和Angular Velocity的圖是一樣的,二者的功能都是事先旋轉,這裏用照片截圖不能反映出二者差異,但是在實驗的時候肉眼可以明顯看出,Rnd Angular Velocity下的粒子間的宣傳速度是不同的,數值表示的是一個範圍,以本實驗爲例,即粒子旋轉速度在0~15度之間。

11.Rnd Rotation:隨機固定角度

選項截圖見第13;


粒子產生的時候擁有一個隨機速度的旋轉;


12.simulate In Workspace:模擬世界座標

選項截圖見第13;

如果啓用,發射器移動時粒子不動;如果禁用,發射器移動時,粒子則跟隨在周圍;


如果啓用:當移動發射器時,已經被髮射出去的粒子不會隨着發射器移動,模擬出了真是的世界座標效果,等同於新版粒子發射器中的world和local之間的切換;


如果禁用:當移動粒子發射器時,粒子將會跟隨發射器移動,就如同當忽視極其微小的偏角時的激光射線一樣。


13.one shot:一次發射


單次發射器將一次性創建Emission屬性中(指定的數目)的所有的粒子,然後停止發射粒子。

**參考unity聖典組件參考手冊

**其實在實驗的時候表現是,一次發射後,等第一次發射的粒子全部消失之後在進行第二次發射,不知道上面的解釋中停止發射粒子是針對什麼來說的。


14.Ellipsoid:調節發射源的大小


發射源可以看做是一個橢球體,當XYZ中某個值爲零的時候可以看做是一個橢圓,加入我們把x的值設爲0,把y設爲10,把z設爲20,把粒子的速度均調整爲0,會發現粒子在空中靜止,總體上彷彿是一個平面,但究竟是怎樣一個平面呢?調整視角爲正對着YOZ平面,廬山真面目顯示如下:


可以發現,其實這裏調節的就是橢圓的a和b




15.Min Emitter Range:最小發射器範圍


在球形的中心確定一個空白區域——用此來使粒子出現在該球形的邊緣;

最小發射器範圍決定了可以產生粒子的橢球的內部深度。將其設置爲0將允許從橢球中心到最外層的範圍內任何地方產生粒子。將其設置爲1將限制產生地點爲橢球最外層。

**參考unity聖典組件參考手冊



hint提示:

1)、使用大量粒子時要小心,這會嚴重妨礙低配置機器的性能。始終嘗試用最小的粒子數目達到效果。

2)、Emit屬性要與粒子動畫的AutoDestruct(自動銷燬)屬性結合使用。通過腳本,你可以停止發射器,然後AutoDestruct會自動銷燬粒子系統和它所附屬的遊戲對象。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章