|

CCTV大型紀(jì)錄片《1405-鄭和下西洋》建模篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》材質(zhì)與燈光篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》特效篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》渲染合成篇
有了上面的基礎(chǔ)我們來制作一段暴風(fēng)雨鏡頭。
1、首先生成一個海面,擺一個比較舒服的機(jī)位,見圖11。
 圖11(點擊上圖瀏覽大圖)
細(xì)心調(diào)解oceanShader,在這里給出我的調(diào)節(jié)參數(shù)僅供大家做參考,見圖12。
 圖12
然后就是制作波濤洶涌的波浪,這里我們用到了粒子系統(tǒng),眾所周知MAYA的粒子系統(tǒng)是十分強(qiáng)大的,下面看看我們是如何實現(xiàn)的。
首先我們先做一個NUBRSplane這個物體將作為粒子的發(fā)射面,見圖13。
 圖13(點擊上圖瀏覽大圖)
2、選擇從物體發(fā)射粒子;
3、對單位時間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié),見圖14-15。
 圖14(點擊上圖瀏覽大圖)
 圖15(點擊上圖瀏覽大圖)
粒子出現(xiàn)了,但是位置好象不對,浪花應(yīng)該出現(xiàn)在浪尖上才對,那么這里我們需要用表達(dá)式對粒子的位置進(jìn)行控制,見圖16。
//creation expression floats partcles vector $ppos = spray_particleShape.position; float $pu = $ppos.x; float $pv = $ppos.z; float $samp[] = `colorAtPoint -o RGBA -u $pu -v $pv oceanShader1`; float $py = $samp[3];
//set initial particle position on ocean surface spray_particleShape.position = <<$pu, $py, $pv>>;
 圖16(點擊上圖瀏覽大圖)
我們還要對粒子的壽命進(jìn)行控制,見圖17。
spray_particleShape.lifespanPP = rand(0.5, 2);
 圖17(點擊上圖瀏覽大圖)
對粒子的速度進(jìn)行控制,見圖18。
//runtime expression for ocean spray
//check wave surface height vector $ppos = spray_particleShape.position; float $pu = $ppos.x; float $pv = $ppos.z; float $samp[] = `colorAtPoint -o A -u $pu -v $pv oceanShader1`; float $py = $samp[0];
//clamp lower particle altitude to wave height if($ppos.y <= $py) { spray_particleShape.position = <<$pu, $py, $pv>>; } //drive particle down when it's too high else if($ppos.y > $py + ocean_emitterPlane.sprayHeight) { vector $pvel = spray_particleShape.velocity; spray_particleShape.velocity = <<$pvel.x, $pvel.y - ocean_emitterPlane.sprayPull, $pvel.z>>; };
 圖18(點擊上圖瀏覽大圖)
注意這里,見圖19。
 圖19
加入重力場、空氣場、擾亂場,使粒子變的運(yùn)動更加真實,見圖20。
 圖20(點擊上圖瀏覽大圖)
開啟硬件渲染預(yù)覽一下效果,馬上要成功了,見下一頁。
上一頁 1 2 3 下一頁

|