昆虫翅膀拍打的动画制作Maya expressions.doc

昆虫翅膀拍打的动画制作Maya expressions.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
昆虫翅膀拍打的动画制作Maya expressions

昆虫翅膀拍打的动画制作Maya expressions好啦,开始吧: 当我们掌握了maya中expressions(表达式)的基础后,我们会发现自己经常用得着它们, 比如最大限度的避免手动设置关键帧的麻烦。我认为表达式是maya中最有特色的部分,为了 解说使用它们的基本用法,这个教程将展现如何创造一个非常简单的动画:使用速度控制属 性完成一个小飞虫拍打翅膀的动画。这个模型十分粗糙,因为这不是我们这个教程的目的。 ? 1.创建三个nurbs球体,通过变形和移动完成一个粗略的飞虫身体和一对翅膀的建模,分别命名翅膀为 rWing 和 lWing, 命名身体为“bug”或者其他, 如果你喜欢,也可以赋予他们一些简单的材质。 ? 2.移动翅膀的轴点好让他们能围绕适当的轴(如图)旋转。 ? 3.将翅膀子关系与身体,使其能跟随身体移动。 ? 4.打开表达式编辑器(Window Animation Editors Expression Editor...)。 我们可以设其快捷键为ALT+e,(ALT+e在默认快捷键设置中没有被用到,这是个好的选择) 。在编辑器左边会看到我们当前选择的物体, 而在右边是其可设关键帧的属性。表达式则是输入在底下的白框内。要知道的是我们输入的表达式不一定是与现在选择的物体关联的,我们可以为任何东西写表达式,例如别的物体,或者一个shader,任何我们想要的都 可以。当然,如果我们已经有了一个选择的物体,就可以轻松的知道我们想控制的属性的确切名称了,因为所有的可设关键帧属性都已经列在该窗口的右边了。 ? 5.在Expression Name一栏中输入wingFlap ,接着在表达式的对话框(该窗口底下)中输入如下内容: lWing.rotateX = time * 10; 点击 Create 使该表达式生效。 这个句法是十分简单的,我们输入了物体的名字(确切的说是节点的名字),跟着是我们想要控制的属性和周期,在这个例子中,我们想要控制的是lWing的x轴,“time”属性是maya的内置值,它以秒为单位来跟maya交流,它以10为倍数因此运动效果也就更加显而易见了(翅膀拍打得更快)。在maya中每个表达式的表述最后都要用分号以示结束。 点击“Play”,我们会看到翅膀旋转起来了, ? 6.查看Hypergraph,我们会看到lWing受wingFlap表达式的控制,而在Channel Box,lWing的x轴属性数据则变成了橙色,并为某样东西所控制, 我们不能直接改变它。 ? 7.创建一个重复往返运动最简单的方法就是运用正弦函数。改动这个表达式为如下: lWing.rotateX = sin (time * 10) * 40; 如果之前在表达式编辑器中输入的表达式不见了,只要点击Select Filter By Expression Name,然后在左边的列表中点击wingflap即可。 这个正弦函数的结果乘于40,也就是说此运动描述了一个大的弧形,当然,也可以在两个很小的数值范围内作往返拍打运动,这视乎我们在此输入的数值。 点击“Edit”,在这里,此按钮代替了“Create”按钮,作用是更新我们对表达式所作的改变。如果出现Error: Expression invalid after edit这样的信息,清检查你表达式的语法,如果不修正这个错误,Maya将会自行执行你输入的最后一个“正确的”表达式,也就是 lWing.rotateX = time * 10; ? 8.播放此动画,可看到翅膀作往返拍打运动。 ? 9.我们会发现这运动并不符合空气动力学,因为对应的一双翅膀在同一时间中X轴旋转的方向应该是相反的,也就是上下拍打的方向应该是一致的。 为解决这个问题,我们在右边翅膀表达式的正弦函数前加一个负号,如下: lWing.rotateX = sin (time * 10) * 40; rWing.rotateX = -sin (time * 10) * 40; ? 10.播放动画,现在这只小飞虫能生存下去的机会更大啦 。 ? 11.现在假设我们想要控制翅膀拍打的速度。当前,这个速度由表达式中 *10 这部分来决定。为翅膀的速度创建一个属性以让我们去改变动力速度甚至为它设置关键帧。在属性编辑器中,选择这个飞虫的转换节点(就是名为 bug的那个),接着选择Attributes Add Attributes。 在属性名字(Attribute Name)一栏中输入WingSpeed,确定“Float”和 Make Attribute Keyable两项为选择,并设置最小值(Minimum value)为0,最大值(Maximum v

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档