Hello,小伙伴們久等了, 讓我們繼續(xù)未竟之事.
粒子在一個生命周期內(nèi)應該有哪些屬性的變化,才能達到多姿多彩且有趣的效果呢?
我們不妨來思考一下:
- 速度: 前面介紹過了,可以通過改變速度或者施加力來實現(xiàn)
- 顏色: 通過顏色改變使得粒子的畫面效果絢麗無比
- 尺寸: 對尺寸的更改可以模擬物體消融,膨脹,或者逐漸消失的效果
- 旋轉(zhuǎn) : 粒子的旋轉(zhuǎn)可以使其看起來更加動態(tài)逼真,比如空中的雪花,爆炸后的粉塵等等.
當然,還有別的屬性變化,但在我看來,以上四種是最重要的,通過以上四種屬性變化的組合,可以完成大部分的效果,從粒子系統(tǒng)的模塊設(shè)置條目中可見一斑.不知道小伙伴們還有沒有其他的想法呢?
7. Force over Lifetime(生命周期內(nèi)受力)
Force over Lifetime
在粒子的生命周期內(nèi)模擬給粒子施加力的效果,類似粒子受到重力的效果.由于施加的力是持續(xù)的,因此粒子的運動是有加速度的.
舉個例子,比如火焰上的煙霧,剛開始生成的時候受到熱空氣的影響會加速上升,然后遇冷后速度逐漸變慢,最后落到地面,這個過程我們就可以使用該模塊的 Curve 選項來解決.
- XYZ: 分別設(shè)定施加力的每個軸分量,可選擇的四個Option不再贅述.
- Space: 施加的力是基于Local還是World坐標系,當大家看多了關(guān)于力的設(shè)定,會發(fā)現(xiàn)一般情況下當需要設(shè)定力時都會有這個選項.
- Randomize: 只有當選中 Random Between Two Constants 或者 Random Between Two Curves 時才能對其進行勾選.根據(jù)文檔的意思,是在每一幀內(nèi)都改變粒子所受力的方向,當然,這個力的方向是從設(shè)定的兩個邊界值中隨機獲取的,從而得到更紊亂和不規(guī)則的粒子運動.
對于這一點,我是抱有懷疑態(tài)度的,也進行了測試,反而發(fā)現(xiàn)不勾選的情況下粒子運動更無序?? ...另一個疑惑是,如果我設(shè)定的是 Random Between Two Curves, 每個時刻所受的力本就是在兩個曲線之間來隨機的,為何還要再 Randomize 一次呢?如果能解答這兩個問題的小伙伴,請在留言解惑.
8. Color over Lifetime(生命周期內(nèi)顏色)
Color over Lifetime
這個模塊簡單明了,就是控制粒子在生命周期內(nèi)的顏色,不做太多的說明啦.
9. Color by Speed(顏色的速度控制)
根據(jù)粒子速度的快慢顯示不同的顏色.
Color by Speed
當我們設(shè)置 Color over Lifetime 時,也會使用到 Gradient Editor ,不過它的顏色盤的長度表示的是粒子的生命周期,而在該模塊,代表的是 Speed Range 的范圍,小伙伴要注意區(qū)別.
- Color: 設(shè)置不同速度對應的顏色值
- Speed Range: 設(shè)置受到顏色影響的速度值的下限和上限.它對應的是顏色盤的最左和最右.不在該范圍內(nèi)的粒子使用最靠近的邊界顏色.
為了更好的調(diào)試出效果,我們把主模塊的粒子的 Start Speed 設(shè)置為0, 打開剛學習的 Force over Lifetime 模塊,使粒子的速度不斷變化,然后就可以看到如下的效果:
sample graph
其實使用的情景大家也能想到了,加速的流星,炮彈等,速度越快,顏色越明亮,可以使用該模塊來設(shè)置.
10. Size over Lifetime(生命周期內(nèi)大小)
該模塊改變的是 Size 的屬性,大家能想到哪些情況下會用到么?我想到的是孫悟空收集元氣彈時,元氣彈會逐漸的變大,然后一聲 Boom,世界和平了!!
Size over Lifetime
相信大家也看到圖中紅色的提示了,當我們把主模塊中 Start Size 設(shè)置為0的時候,不管怎么調(diào)整這里的曲線,都不會看到有粒子產(chǎn)生.經(jīng)過測試發(fā)現(xiàn),如果 Start Size 設(shè)置為0.5,這里曲線縱軸的最大值為1,那么粒子真正的大小是 0.5 * 1 = 0.5.希望大家能注意這個問題.
我們可以使用該模塊來模擬元氣彈,逐漸變大的煙霧團等效果.
- Separate Axes: 對粒子三個軸的尺寸單獨設(shè)置
- Size: 通過曲線和常量來設(shè)置大小
11. Size by Speed(粒子大小的速度控制)
這個模塊跟 Color by Speed 很相似,只不過一個改變的是 Color 屬性,一個是 Size 屬性.
Size by Speed
- Separate Axes: 是否對粒子三個軸進行單獨設(shè)置
- Size: 設(shè)置不同速度下對應的粒子大小
- Speed Range: 設(shè)置哪些粒子受到尺寸變化的影響,左側(cè)的值對應 Curves 圖表中橫軸的最小值,右側(cè)的值對應圖表的橫軸最大值,不在該速度范圍內(nèi)的粒子,大小使用最接近的邊界值.比如我設(shè)置的速度限值是0 - 3.5,那么小于0的尺寸為0,大于3.5的尺寸為1 * StartSize.
12. Rotation over Lifetime(生命周期內(nèi)的旋轉(zhuǎn))
該模塊也很簡單,控制粒子生命周期內(nèi)的旋轉(zhuǎn)速度.
Rotation over Lifetime
項目中需要一個?? 效果,當禮花碎片飄散下來的時候,使用該模塊設(shè)置了旋轉(zhuǎn)速度先快后慢,看起來很立體.
- Separate Axes: 對粒子三個軸的旋轉(zhuǎn)單獨設(shè)置
- Angular Velocity: 旋轉(zhuǎn)的角速度,有四個Option可以選擇.
使用該模塊,同樣可以模擬樹葉和雪花的飄落.
13. Rotation by Speed(旋轉(zhuǎn)的速度控制)
根據(jù)速度來改變自己的旋轉(zhuǎn).舉個例子,在斜坡上的滾石,速度越快,那么自身的旋轉(zhuǎn)速度應該越大.
Rotation by Speed
- Speed Range: 只有當 Angular Velocity 選擇了 Curve 或者 Random Between Two Curves 時才能使用該選項,原因很簡單,只有當角速度是可變化的值時設(shè)置該選項才有意義.
其實這里的 Constant 與 Random Between Two Constants 選項我覺得是多余的,因為它們跟速度并沒有關(guān)聯(lián)起來,后續(xù)版本也可能會刪除,在 Rotation over Lifetime 同樣可以實現(xiàn)這兩個選項的功能.