maya打造鄭和下西的洋特
來源:
未知 |
責(zé)任編輯:曲終人散 |
發(fā)布時間: 2017-08-28 11:02 | 瀏覽量:
本節(jié)匯寶盆為大家?guī)淼氖牵簃aya打造鄭和下西的洋特
看一下效果圖。

1、本片的特效部分主要集中在海洋的表現(xiàn)上,尤其是幾場暴風(fēng)雨鏡頭確實(shí)具有挑戰(zhàn)性。實(shí)現(xiàn)真實(shí)可信的cg海洋并非易事,但是maya為我們提供了一套非常科學(xué)、方便的流體系統(tǒng),盡管網(wǎng)上對三維軟件的誰優(yōu)誰劣爭論不朽,但是我認(rèn)為至少在海洋特效上maya擁有其它軟件無法比擬的視覺的效果。好,現(xiàn)在我們一起走進(jìn)maya強(qiáng)大的流體世界吧。
先切換到動力學(xué)海洋模塊流體特效。

好了,我們已經(jīng)創(chuàng)建了一個海洋并且同時系統(tǒng)自動為我們創(chuàng)建了一個oceanshader。

點(diǎn)擊放大
我們可以把海面想成是一個非常大nurbs物體,而預(yù)覽平面可以方便直觀的對自己的調(diào)節(jié)做預(yù)覽。而oceanshader不僅提供了一般材質(zhì)的表面屬性調(diào)節(jié),還提供了對海洋動畫的調(diào)節(jié),確切的說它更象是一個動畫材質(zhì)。下面我具體介紹一下oceanshader的幾個比較重要的參數(shù)。

下面看看它們的具體應(yīng)用。

波速沒有什么好說的速度越快湍流越急。

如圖。

wave height。

wave tubulence。

wave peaking。

好,有了上面的基礎(chǔ)我們來制作一段暴風(fēng)雨鏡頭。首先生成一個海面,擺一個比較舒服的機(jī)位。

細(xì)心調(diào)解oceanshader,在這里我給出我的調(diào)節(jié)參數(shù)僅供大家做參考。

然后就是制作波濤洶涌的波浪,這里我們用到了粒子系統(tǒng),眾所周知maya的粒子系統(tǒng)是十分強(qiáng)大的,下面看看我們是如何實(shí)現(xiàn)的。首先我們先做一個nubrsplane這個物體將作為粒子的發(fā)射面。

點(diǎn)擊放大
選擇從物體發(fā)射粒子。

對單位時間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié)。

點(diǎn)擊放大
對單位時間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié)。

粒子出現(xiàn)了,但是位置好象不對,浪花應(yīng)該出現(xiàn)在浪尖上才對,那么這里我們需要用表達(dá)式對粒子的位置進(jìn)行控制。

點(diǎn)擊放大
//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>>;
我們還要對粒子的壽命進(jìn)行控制

spray_particleshape.lifespanpp = rand(0.5, 2); 對粒子的速度進(jìn)行控制。

點(diǎn)擊放大
//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>>;
};
注意這里

渲染粒子是在maya的硬件渲染器下進(jìn)行的,最后在后期軟件里把粒子和海洋進(jìn)行合成。

點(diǎn)擊放大
效果如圖。

本片特效中有不少船隊乘風(fēng)破浪的鏡頭,我現(xiàn)在將對其中的要點(diǎn)給大家做一下講解:首先提取海面與船的相交線。

點(diǎn)擊放大
用這條線作為粒子的發(fā)射器。

本片特效中有不少船隊乘風(fēng)破浪的鏡頭,我現(xiàn)在將對其中的要點(diǎn)給大家做一下講解:首先提取海面與船的相交線。

點(diǎn)擊放大
用這條線作為粒子的發(fā)射器。

這樣就可以了。
本篇3d教程完。
看一下效果圖。

1、本片的特效部分主要集中在海洋的表現(xiàn)上,尤其是幾場暴風(fēng)雨鏡頭確實(shí)具有挑戰(zhàn)性。實(shí)現(xiàn)真實(shí)可信的cg海洋并非易事,但是maya為我們提供了一套非常科學(xué)、方便的流體系統(tǒng),盡管網(wǎng)上對三維軟件的誰優(yōu)誰劣爭論不朽,但是我認(rèn)為至少在海洋特效上maya擁有其它軟件無法比擬的視覺的效果。好,現(xiàn)在我們一起走進(jìn)maya強(qiáng)大的流體世界吧。
先切換到動力學(xué)海洋模塊流體特效。

好了,我們已經(jīng)創(chuàng)建了一個海洋并且同時系統(tǒng)自動為我們創(chuàng)建了一個oceanshader。

點(diǎn)擊放大
我們可以把海面想成是一個非常大nurbs物體,而預(yù)覽平面可以方便直觀的對自己的調(diào)節(jié)做預(yù)覽。而oceanshader不僅提供了一般材質(zhì)的表面屬性調(diào)節(jié),還提供了對海洋動畫的調(diào)節(jié),確切的說它更象是一個動畫材質(zhì)。下面我具體介紹一下oceanshader的幾個比較重要的參數(shù)。

下面看看它們的具體應(yīng)用。

波速沒有什么好說的速度越快湍流越急。

如圖。

wave height。

wave tubulence。

wave peaking。

好,有了上面的基礎(chǔ)我們來制作一段暴風(fēng)雨鏡頭。首先生成一個海面,擺一個比較舒服的機(jī)位。

細(xì)心調(diào)解oceanshader,在這里我給出我的調(diào)節(jié)參數(shù)僅供大家做參考。

然后就是制作波濤洶涌的波浪,這里我們用到了粒子系統(tǒng),眾所周知maya的粒子系統(tǒng)是十分強(qiáng)大的,下面看看我們是如何實(shí)現(xiàn)的。首先我們先做一個nubrsplane這個物體將作為粒子的發(fā)射面。

點(diǎn)擊放大
選擇從物體發(fā)射粒子。

對單位時間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié)。

點(diǎn)擊放大
對單位時間粒子的發(fā)射數(shù)量,和粒子的發(fā)射速度進(jìn)行調(diào)節(jié)。

粒子出現(xiàn)了,但是位置好象不對,浪花應(yīng)該出現(xiàn)在浪尖上才對,那么這里我們需要用表達(dá)式對粒子的位置進(jìn)行控制。

點(diǎn)擊放大
//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>>;
我們還要對粒子的壽命進(jìn)行控制

spray_particleshape.lifespanpp = rand(0.5, 2); 對粒子的速度進(jìn)行控制。

點(diǎn)擊放大
//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>>;
};
注意這里

渲染粒子是在maya的硬件渲染器下進(jìn)行的,最后在后期軟件里把粒子和海洋進(jìn)行合成。

點(diǎn)擊放大
效果如圖。

本片特效中有不少船隊乘風(fēng)破浪的鏡頭,我現(xiàn)在將對其中的要點(diǎn)給大家做一下講解:首先提取海面與船的相交線。

點(diǎn)擊放大
用這條線作為粒子的發(fā)射器。

本片特效中有不少船隊乘風(fēng)破浪的鏡頭,我現(xiàn)在將對其中的要點(diǎn)給大家做一下講解:首先提取海面與船的相交線。

點(diǎn)擊放大
用這條線作為粒子的發(fā)射器。

這樣就可以了。
本篇3d教程完。
- Tags:Maya
-
分享到:
相關(guān)文章
網(wǎng)友評論
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊
關(guān)閉
- 用戶名:
- 密 碼:
- 驗(yàn)證碼:
看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評論:0條
推薦
熱門