频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

MAYA粒子动力学教程(踩稀泥)

来源: 作者: 出处:巧巧读书 2006-06-08 进入讨论组

这教程里,我们将看到怎样在一个泥地表面创建脚印。一个非常好的角色动画与动力

  学综合使用的范例。至少有两种方法可以解决这个问题(踩稀泥),一个办法是做一个刚

  性物体使用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 物体。

MAYA粒子动力学教程(踩稀泥)(图一)

 

第五步

   我们将给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完成了一个步迹动画。可以看得出当脚步向前走动时,脚前步的泥被簇拥而起

MAYA粒子动力学教程(踩稀泥)(图二)

 

 

 

 

本U R L:http://www.qqread.com/maya/z161124042.html 更多文章 更多内容请看ASP.NET教程FreeBSD使用教程专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章