X

登录蔚图网

3dcity
两周内自动登录 忘记密码 

还没有账户?立即注册

Maya动画教程:物体熔化动画的制作

作者:iiimaya 发布时间:2013-07-15

'在网上发现一篇好文章,赶紧翻译了出来,与大家分享。希望大家喜欢!
  这里将要介绍如何用maya的动力学和lattice边形器实现物体的熔化效果。
  具体效果如图。

相应的动画在附件,其原理是把lattice网格转换成柔体,使该柔体和桌面碰撞。另外还要添加一些属性进行进一步的控制。
  建立花瓶的剖面曲线,用revolve命令建立花瓶曲面。

选择花瓶,选择菜单deform-create lattice-options设置s=6,t=6,u=6,选create

这里把lattice转换成柔体,选择ffd1 lattice,选菜单soft/rigid bodies - create soft body - options,采用默认的属性,点击create
  建立一个nurbs平面,移动到花瓶的下端,patches U=10 V=10请确认花瓶和平面在初始的时候没有接触。 

加一个重力场到柔体,选择ffd1lattice,选择fields-gravity;添加碰撞属性,选择ffd1 lattice,然后选择平面,选菜单particles-make collide 
  现在动画已经产生了,不过有可能产生错误的计算,就如同附带的动画所示,可以通过添加两个属性和几行expression来解决这个问题。 
  计算错误的动画:
  在outline窗口,选displayshapeson,选择ffd1latticeParticleShape选择菜单modifyadd 
  attribute..然后按如下设置 
  attribute namespread 
  Data TypeFloat 
  Attribute TypeScalar 
  选择add,添加一个属性,然后采用相同的设置,添加多一个属性叫thickness,点击ok

 现在建立expression,使其产生熔化的效果,选择ffd1latticeParticleShape,然后Window -> Animation Editors -> Expression Editor. 
  写入下面的表达式:

vector $melt = ffd1LatticeParticleShape.worldPosition; float $spread = ffd1LatticeParticleShape.spread; float $thickness = ffd1LatticeParticleShape.thickness; if ($melt.y < $thickness) ffd1LatticeParticleShape.velocity = unit_ (ffd1LatticeParticleShape.worldPosition - <<0,0,0>>) * $spread; 
  点击create

现在很容易就可以通过spreadthickness属性来控制熔化的动画了,选择ffd1latticeParticle,在channel box里面,把spread设置为4,把thickness设置为1,看看动画的效果。


 可以更进一步地控制动画: 
  (1)如果要减缓熔化的速度,可以把gravitymagnitude属性降低 
  (2)试验一下不同的spreadthickness的搭配,会有不同的效果。 
  (3)也可以加一些turbulence场来使动画更随机! 
  教程到此,效果挺cool的,希望大家喜欢!

(via:MAYA教程网)



'

相关教程