? 91在线免费公开视频,24小时在线播放免费观看直播
聯(lián)系我們

給我們留言

聯(lián)系我們

地址:福建省晉江市青陽街道洪山路國際工業(yè)設(shè)計園納金網(wǎng)

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當(dāng)前位置:主頁 > 3D教程 > 圖文教程

maya打造鄭和下西的洋特

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


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


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


點擊放大
我們可以把海面想成是一個非常大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)雨鏡頭。首先生成一個海面,擺一個比較舒服的機位。

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


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

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


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

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


粒子出現(xiàn)了,但是位置好象不對,浪花應(yīng)該出現(xià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>>;
  我們還要對粒子的壽命進行控制


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


點擊放大
  //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的硬件渲染器下進行的,最后在后期軟件里把粒子和海洋進行合成。


點擊放大
效果如圖。


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

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


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

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


這樣就可以了。
本篇3d教程完。

相關(guān)文章
網(wǎng)友評論

您需要登錄后才可以發(fā)帖 登錄 | 立即注冊

關(guān)閉

全部評論:0條

推薦
熱門