签到

09月19日
尚未签到

共有回帖数 0

    家具

    等级:
    建立花瓶的剖面曲线,用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窗口,选display-shapes 为on,选择 ffd1latticeParticleShape 选择菜单 modify-add

      attribute.. 然后按如下设置

      attribute name = spread

      Data Type = Float

      Attribute Type = Scalar

      选择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。

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

      可以更进一步地控制动画:

      (1)如果要减缓熔化的速度,可以把gravity的magnitude属性降低

      (2)试验一下不同的spread和thickness的搭配,会有不同的效果。

      (3)也可以加一些turbulence场来使动画更随机!


    楼主 2018-02-07 19:27 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知