CGArt-中国CGer中的绿色家园
首页 信息动态 原创排行 互动教程 资源千寻 CG人才 CGArt杂志 艺术设计 CG画廊 CG论坛 酷站欣赏 CG搜索 会员中心
郑和下西洋-特效篇
来源:中国CG联盟 作者:十月数码 编辑:summer 发布时间:2006年12月19日 00:07:47

ok,照例我们还是贴出几长效果图,来秀一秀:



1.本片的特效部分主要集中在海洋的表现上,尤其是几场暴风雨镜头确实具有挑战性。实现真实可信的CG海洋并非易事,但是Maya为我们提供了一套非常科学、方便的流体系统,尽管网上对三维软件的谁优谁劣争论不朽,但是我认为至少在海洋特效上MAYA拥有其它软件无法比拟的视觉的效果。好,现在我们一起走进MAYA强大的流体世界吧。

先切换到动力学海洋模块流体特效:





2.好了 ,我们已经创建了一个海洋并且同时系统自动为我们创建了一个 oceanShader:





我们可以把海面想成是一个非常大NURBS物体,而预览平面可以方便直观的对自己的调节做预览。而oceanShader不仅提供了一般材质的表面属性调节,还提供了对海洋动画的调节,确切的说它更象是一个动画材质。下面我具体介绍一下oceanShader的几个比较重要的参数。



我汉化了一些参数大家可以进行参考



下面看看它们的具体应用:





波速没有什么好说的速度越快湍流越急。









Wave Height:




Wave Tubulence:




wave peaking:



好,有了上面的基础我们来制作一段暴风雨镜头:

1.首先生成一个海面,摆一个比较舒服的机位:



细心调解oceanShader,在这里我给出我的调节参数仅供大家做参考,



然后就是制作波涛汹涌的波浪,这里我们用到了粒子系统,众所周知MAYA的粒子系统是十分强大的,下面看看我们是如何实现的。

首先我们先做一个NUBRSplane这个物体将作为粒子的发射面。



2.选择从物体发射粒子:



3.对单位时间粒子的发射数量,和粒子的发射速度进行调节:



4.



粒子出现了,但是位置好象不对,浪花应该出现在浪尖上才对,那么这里我们需要用表达式对粒子的位置进行控制。



//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的硬件渲染器下进行的,最后在后期软件里把粒子和海洋进行合成:






贴段动画


http://www.reapworks.com/movie/sea_gg Comp 1.wmv



本片特效中有不少船队乘风破浪的镜头,我现在将对其中的要点给大家做一下讲解:

1。首先提取海面与船的相交线:



2.用这条线作为粒子的发射器:



对发射率做key贞处理,当然也可以用表达式,但在这里没有手key要更加直接、方便。



合成效果

共有评论4条
更多评论..
作者信息 详细信息
liux
于2007年01月19日 11:10:09

这是我的目标啊。。。努力。。。
新人
于2007年01月03日 13:16:01

不知道要达到这样的水平要多久,我也很敬佩
新生代恶人

性别:女
城市:
评分:0
于2006年12月24日 11:31:16

不错
新生代恶人

性别:女
城市:
评分:0
于2006年12月24日 11:30:31

不错,我希望我能做出来
评论人:
验证码:
内容:
 
about us advertisement publish conformity service cooperate associate link site map contact us help jump to the top of page