2011年1月11日 星期二

[Dynamic] Maya粒子特效必備知識(陸續增加中)

Maya粒子特效可以完成很多很棒的效果,但是要進階應用,就需要牽涉到表達式。因此來歸納一下,玩Maya Particle比較常用到的幾個知識點,相關的使用方法,在範例中會有完整解說。

<1>rand() 函數:亂數函數,會在()中的值亂數取值,用以生成每個粒子間的差異來使效果更多樣化。()中可以輸入最後一個數字,例如(10)表示(0,10)的意思,普遍還是打(0,10)來明確規範亂數範圍。

<2>Creation類別與Runtime before dynamic類別:Creation類別的Expression表達式,是關於粒子建立時的資訊,而Runtime顧名思義,就是時間在跑的時候隨之變化的資訊。

<3>粒子類型:Sprite,俗稱精靈貼圖。
[1]特徵:永遠面向camera。
[2]最常使用:貼序列圖檔,或是為數龐大的物體。
[3]常用增加的per particle Attribute (PP):
(1)spriteScaleXPP:單粒子X方向的縮放。
(2)spriteScaleYPP:單粒子Y方向的縮放。
(3)spriteTwistPP:單粒子旋轉的角度,通常搭配rand(-360,360)來設置。
(4)spriteNumPP:序列圖檔的循環亂數使用時常用到。

<4>Field場:動力學核心,用以驅動場景內物體的作用力。場的設定有許多,最常用到的是Magnitude強度、Attenuation 衰減、Max Distance最大範圍(-1為無限大),由於Field也可以設key,因此也可以利用場來經過粒子以造成擾動。

<5>粒子表面方向goal:使用goal會讓粒子鎖定目標點的CV點來吸附,依序排列;但如果把goalU與goalV分別設置,就能造成粒子在表面流動的效果。
[1]由於使用方向的話,與物體的UV有關,因此需要UV明確的物體比較能有好的效果,例如Nurbs物件。
[2]常用PP參數:
(1)Goal V
(2)Goal U
兩者其實只差在方向,一個是縱的,一個是橫的,看需求進行設置。通常縱的是V,橫的是U,因此會在Goal U上,建立一個表達式如下:particleShape1.goalU = rand(0.2,0.5);
此時rand中的亂數值取0~1,這是由於UV分布基本上是在0~1之間。如此,粒子會隨機出現在U方向上。要造成流動的效果,還要對Goal V進行設置。在Goal V上建立ramp,編輯ramp,將中間的灰色去掉,這時候就能看到粒子流動的效果了。

注意:如果Nurbs表面有在INPUTS更改過分段數或修改,可能會造成UV範圍變化,可在Surface模組下,EditNURBS下拉功能表中的Rebuild Surface中,將Parameter range設定為0 to 1,Rebuild之後UV便會設定在0與1之間。

<6>碰撞:許多時候都會應用到碰撞,比如說粒子掉落地面、雨滴低落地面、走路腳踏到水..等都可以用碰撞來完成效果。

沒有留言:

張貼留言