tornado主軸層的製作(一)

1、使用nurbs創建一個圓柱,利用晶格變形(選中圓柱和線)製作 tornado外形。

2、創建發射器,goal(goal weight爲1)技術使粒子追模型。

表達式:

a/半徑

新建once(PP),控制粒子半徑在運行時表達式中只運行一次隨機

創建表達式:particleShape1.radiusPP = 0;

運行表達式:if (particleShape1.once == 0)
{particleShape1.radiusPP = rand(0.01,0.022);
particleShape1.once = 1;}

b/透明度

創建表達式:particleShape1.opacityPP = rand(0.15,0.3);

c/粒子旋轉並上升

創建表達式:

particleShape1.goalU = rand(0,8);    //起始發射
particleShape1.goalV = rand(0,0.02);    //粒子v方向初始值隨機

創建一個vspeed

vspeed = rand(1,1.08);    //使得上升速度有一定隨機

運行表達式:

particleShape1.goalV += 0.02 * vspeed;    //v方向上升
particleShape1.goalU += -0.08;    //u方向旋轉

if (particleShape1.goalV > 1)
{particleShape1.lifespanPP = 0;}    //減少系統負擔

d/粒子向法線偏移並且螺紋效果

點擊goal weights and objects->delete goal world normal 0 PP 粒子追模型的法線方向

birthTime一個隱藏的粒子屬性,控制粒子出身時間,在這裏控制螺紋效果

使用ratePP粒子比率控制粒子在圓柱中心和邊緣的分佈

創建表達式:

創建一個randoffsetPP隨機控制內外偏移

particleShape1.randoffsetPP = rand(-0.5,1.05);

particleShape1.ratePP = rand(0,7);

運行表達式:

if (particleShape1.ratePP>1)

{particleShape1.goalOffset = particleShape1.goalWorldNormal0PP * particleShape1.randoffsetPP * (noise(particleShape1.birthTime*10+time*0.5)*0.5+0.5)*0.6;}

else
{particleShape1.goalOffset = particleShape1.goalWorldNormal0PP * particleShape1.randOffsetPP;}

e/粒子分佈控制,解決下面和上面的粒子數量少問題

新建一個屬性rampPP,添加一個ramp,先設置create ramp options->inputV->goalV。

再edit ramp,控制粒子v向上的分佈,黑色表示顯示越多,白色表示顯示越少。

因爲模型UV分佈是兩端稀疏,中間密集,所以調節整個ramp是中間白,兩端灰。

(從新做了一些修改,ramp調節還是有待調整,明天再改了)

(又重新調整裏ramp分佈)


發佈了32 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章