CCTV大型紀(jì)錄片《1405-鄭和下西洋》建模篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》材質(zhì)與燈光篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》特效篇 CCTV大型紀(jì)錄片《1405-鄭和下西洋》渲染合成篇
有了上面的基礎(chǔ)我們來制作一段暴風(fēng)雨鏡頭。
1、首先生成一個(gè)海面,擺一個(gè)比較舒服的機(jī)位,見圖11。
圖11(點(diǎn)擊上圖瀏覽大圖)
細(xì)心調(diào)解oceanShader,在這里給出我的調(diào)節(jié)參數(shù)僅供大家做參考,見圖12。
圖12
然后就是制作波濤洶涌的波浪,這里我們用到了粒子系統(tǒng),眾所周知MAYA的粒子系統(tǒng)是十分強(qiáng)大的,下面看看我們是如何實(shí)現(xiàn)的。
首先我們先做一個(gè)NUBRSplane這個(gè)物體將作為粒子的發(fā)射面,見圖13。
圖13(點(diǎn)擊上圖瀏覽大圖)
2、選擇從物體發(fā)射粒子;
3、對(duì)單位時(shí)間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié),見圖14-15。
圖14(點(diǎn)擊上圖瀏覽大圖)
圖15(點(diǎn)擊上圖瀏覽大圖)
粒子出現(xiàn)了,但是位置好象不對(duì),浪花應(yīng)該出現(xiàn)在浪尖上才對(duì),那么這里我們需要用表達(dá)式對(duì)粒子的位置進(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(點(diǎn)擊上圖瀏覽大圖)
我們還要對(duì)粒子的壽命進(jìn)行控制,見圖17。
spray_particleShape.lifespanPP = rand(0.5, 2);
圖17(點(diǎn)擊上圖瀏覽大圖)
對(duì)粒子的速度進(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(點(diǎn)擊上圖瀏覽大圖)
注意這里,見圖19。
圖19
加入重力場(chǎng)、空氣場(chǎng)、擾亂場(chǎng),使粒子變的運(yùn)動(dòng)更加真實(shí),見圖20。
圖20(點(diǎn)擊上圖瀏覽大圖)
開啟硬件渲染預(yù)覽一下效果,馬上要成功了,見下一頁(yè)。
上一頁(yè) 1 2 3 下一頁(yè)
|