查看: 965|回复: 0
打印 上一主题 下一主题

MAYA的一个粒子动力学教程

[复制链接]
.    

3797

主题

11

听众

5万

积分

首席设计师

Rank: 8Rank: 8

纳金币
32328
精华
41

活跃会员 优秀版主 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2013-3-8 14:49:41 |只看该作者 |倒序浏览
这教程里,我们将看到怎样在一个泥地表面创建脚印。一个非常好的角色动画与动力学综合使用的范例。至少有两种方法可以解决这个问题(踩稀泥),一个办法是做一个刚性物体使用rigid body/particle 碰撞实现泥地的压痕。问题是用这种方法实现时,当走路时刚性物体不能被弯曲。第二种方法是使用力场绑定到脚来变形一个由softbody mesh制作出的泥泞路面。  第一步:  打开场景文件:
  这个场景文件里包括一双行进于泥地表面上的脚,如果你此时播放动画,地面与那双靴子不会相互影响。激活 persp/outliner 。  *选择mud surface
  *选择Soft/Rigid Bodies->Create Soft Body->Soft Option 接下来 在Creation Options 卷展览下选择Make soft
  *按Create生成
  *在 Outliner栏里选择mudParticle,并在Channels 盒里将Conserve设为 0  第二步:  由于没有力场的绑定此时的地面仍然没有变形,我们将加入空气力场给脚底和脚跟来完成这种影响。
  *再不选择任何物体的情况下,选择Fields->Air->Air Options  *调整参数如下:
  Magnitude 100
  Attenuation 0.5
  Direction to -1,0
  Max Distance 0.2 (后来我把它改成1了觉得更好些,用0.2好像mud没有被作用)
  *按Create生成
  *在 Outliner栏里按Ctr建选择 bootLSole 和 airField1.
  * 选择 Fields -> Attach to Selected Objects as Source.  在Outliner中我们将看见air field 与bootlsole已成为父子关系,绑定的同时力场也移到了bootLSole的中心位置。重复上面的操作给heelL和bootR即bootR里的heelR  第三步:  这一步里我们将用到Dynamics Relationship Editor 来给地面(mud)加上力场。
  *选择Window -> Relationship Editors -> Dynamic Relationships...
  *在左栏里选择mud
  *在右栏里选择所有的fields
  里场现在已经被连接,播放动画看看效果
  注意:必须将Playback Speed设为free。  第四步:  泥巴的变形可以通过脚前部的泥凸起来表现得更真实些。用同样的力场绑定到脚的指定方向就能解决了,但这里我们要用到一个表达式来确定Field被即活时的Magnitude属性。换句话说,表达时将限制当脚踩到泥里时和脚离开地面时的field的magnitude 。  *返回到第一帧
  *挑选Fields -> Create Air - Options,按Reset重置为默认值,按下面参数设置
  Air name : pushUPAirL
  Attenuation: 0.5
  Direction : 0,1,0
  Speed : 1.0
  Max Distance : 1.0
  按Create生成
  *把pushUpAirL放在左脚趾下一点
  *在Outliner中用mmb把pushUpAirL拖到bootL上。  pushUpAirL此时变成了bootL的子物体重复这些操作给right boot 命名新的airfield 为pushUpAirR 。打开Dynamic Relationships... 连接pushUPfieles给mud 物体。  
  第五步:  我们将给pushUpAir airFields的 Magnitude attribute 加入一个表达式。  *选择Select pushUpAirL 在channel box 中反白显示Magnitude
  *在Magnitude 上右击鼠标再谈出的菜单中选择Expressions
  *输入下面的语句  if (bootL.translateY > -3.0) { pushUpAirL.magnitude = 0; }   else { pushUpAirL.magnitude = 50; }  *按Create生效
  *重复同样的工作给pushUpAirR(注意把上面表达式里的*L改成*R)
  *播放动画  
  mud 物体的凸起形式取决于pushUpAir fields的放置位置和magnitude值,可以通过调整它们得到满意的效果。至此我们通过使用softbody和field完成了一个步迹动画。可以看得出当脚步向前走动时,脚前步的泥被簇拥而起。 【来源:互联网】
更多精彩教程,尽在web3D纳金网http://www.narkii.com/college/
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 11:36 , Processed in 0.096231 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部