数码资源网

文章频道 软件下载 安卓下载 苹果下载

当前位置:首页文章中心动画专栏Maya → 用节点来做车轮的联动动画

用节点来做车轮的联动动画

时间:2005-10-09 21:56:44人气:158作者:网友整理
原神KFC联动版v1.11.8
原神KFC联动版v1.11.8 for Android
  • 类型:动作格斗大小:86.69M语言: 评分:4.7
  • 原神KFC联动版是一款美式动画风格的对抗射击游戏,游戏讲幸存的人类开着一辆大巴,...
立即下载
荒野行动新世纪福音战士联动v1.7.8
  • 类型:飞行射击大小:32.76M语言: 评分:4.0
  • 荒野行动新世纪福音战士联动是一款非常刺激热血的枪战射击类游戏,游戏中有着多战场景...
立即下载
树节点APP安卓版(生活信息管理) v1.0 最新版
树节点APP安卓版(生活信息管理) v1.0 最新版 for Android
  • 类型:安卓系统应用大小:94K语言:简体中文 评分:3.0
  • 每个人的手机中都有各种各样的信息,如果你想要对自己的信息进行管理的话,那么你可以...
立即下载

  这种效果用MEL应该很容易做的,但目前为止俺还不会写mel程序,所以想了一下这个效果如何做。就是轮前进时自身会跟着一起滚动一定角度的,这里要做的就是不用MEL而用节点来完成这样的工作。第一步先创建一个物体,这里用的是一个比较简单的NURBS做的车轮。有一点要说明,那就是模型的局部坐标一定要放置在模型的中心,这很重要,因为我们要做的就是利用模型的移动距离来计算出它的转动角度。
    这里是场景文件,下载后用MAYA打开,场景中有一个NURBS模型,名称是Che.或者随便创建一个有点像车轮的模型。

 看看这张图,我们来想想如何根据移动的距离计算出它应该转动的角度,都是数学知识就不多说了。

[page]

 打开节点窗口,单击window->hypergraph,如图

    或者把面板布局成这样的:然后在hypershader中创建一个乘除节点

[page]

 创建乘除节点

    并且重命名为zhouchang,ctrl+a打开属性编辑,设置参数为下图,注意图中的input2是模型的直径,这里是用长度标注得到的数据,可以根据具体的场景来更改,Operation模式(Multiply)。

[page]

然后,再新建一个乘除节点。重命名为X,然后鼠标中键按住模型(这里名称是Che)不放,拖动到乘除这里名称为X的节点上释放,在弹出的菜单中选择other

    在随后的连接窗口中把左边窗口(che)的Translate属性下的Translate x和右边窗口(X)下的Input1下的Input1 x连接,方法就是单击左边的Translate x,然后单击右边的Input1 x。随后设置X的Operation模式为Divide,这里有三个选项,第一个是乘模式,第二个Divide是除模式,第三个是求幂。都是以input1为第一个参数,然后按照指定的运算模式运算Iupt2。

[page]

接下来中键按住Zhouchang节点,拖到X节点上释放,一样选择Other。在随后的连接管理窗口中把左边(Zhouchang)下的Output下的Output X和右边的X节点下的Input2下的Input2 X连接起来,如果看不到有些属性值,在菜单中把隐藏的属性打开。顺便说一下,所有的拖动操作都是在Hypergraph完成的。

    现在重要的一点要来了,我们现在要做的就是求出物体的角度,再新建一个乘除节点,并且重命名为Angle,中键按住X节点,拖到Angle上释放,选择Other,把左边Output下的Output X和右边的Input2下的Input2 X连接,还要设定Angle节点的Input1值最左边的数值为360,这三个输入框相对应的值是X Y Z,运算模式选择乘。

[page]

 连来连去,头都大了,接下来中键按下Angle节点,拖动释放到模型(che)节点上,选择Other,在连接管理窗口中把左边(Angle)的Output下的Output X和右边模型下的Rotate下的Rotate Z连接起来。注意,这个例子中的节点名称很重要,不要搞错了。

    现在看看场景效果,沿X轴方向移动车轮模型,看到了没有?车轮跟随着X轴的不断变化而不停地旋转着。这个例子中我们用的是X轴的移动变化,当然也可以选择Y或者Z轴。不过好像不对劲,因为车轮的转动方向和移动方向不符合现实。这点很好办,只要我们把运算出的结果反转一下就可以了,而做这一点是反转节点reverse的拿手好戏。新建一个reverse节点,中键拖动Angle到刚建的reverse上,在弹出菜单中选择Input,这样就把运行结果反转了一下。

[page]

 然后把已经反转的运算结果输出到模型(che)的rotate Z上,中键拖动reverse1到模型(che)上,选择other,在连接窗口中把左边(reverse1)下的Output下的Output X和右边窗口(che)下的rotate中的Ratate Z连接起來。

    大功告成了,现在X方向移动场景中的模型,模型会随着X距离的变化转动,而且这个转动是个精确的数值。这个精度当然不是非常精确的,它受控于模型的直径和圆周率的值。换句话说,直径取得越精确,转动的结果越精确。
    有朋友可能会问,那么如果我缩放了模型,这个值岂不错了。没错,如果把车轮模型进行缩放的话,这个结果的确不正确,现在我们就来让最后的结果可以随着车轮模型自动更新。当然这是有限制的,比如只能等比例缩放XY轴,不过好像也没有椭圆的车轮吧。回忆一下,在第一个乘除节点Zhouchang的Input2 X值取的是2,这是车轮模型的直径值,也就是说只要这个值能够随着模型的缩放更新的话,那么我们的目的就达到了。一句题外话,一定要保证模型现在的缩放值都是1,否则就没戏。
    再创建最后一个乘除节点,重命名为Scale_R,然后中键拖动模型节点(che)到scale_R上释放,选择other,在连接窗口中把左边模型(che)下的scale和右边scale_R节点的Input1连接起来,接着把scale_R的Input2 X(就是input2最左边的)设为值设为2,这是模型的直径值(必须保证此时的模型缩放率为1),要视你的模型而定,我这里是2。

[page]

说说为什么一定要保证模型此时缩放率为1呢?因为我们要的是直径能够随着模型缩放而自动更新,这个结果说到底就是模型的缩放率乘以它缩放率为1时的直径值。其实有个更好的方法,就是把标注距离的节点下的值属性做为input1 X的,然后把标注节点做为子物体连接到模型上。不过我这maya不知道什么原因,怎样也找不到需要的那个属性。
最后一步,把上面的scale_R的输出值连接到计算周长的节点Zhouchang下的Input2中的Input2 X,这样就实现了周长的动态变化。中键按下scale_R,释放到Zhouchang节点上,选择other,把左边的scale_R下的Output中的Output X和右边的Zhouchang下的Input2中的Input2 X连接起來。

    现在全部连接完毕。展开Hypergraph窗口中Che节点的输出和输入连接,可以看到如下图。

[page]

 现在无论如何移动X轴或者XY轴缩放得到的结果都是正确的了。补充一点,如何你拖动模型节点(che)时连接窗口中找不到相应的属性,那么应该看看下面这图。

    不要把下面那个Nurbsbook1选择了,这个只是阴影组节点的几何物体信息。

相关文章

  • 3D教程-基础动画练习

    1、如图是一个已经设置好的场景,分为5个部分,4个车轮,一个车身。点击放大2、选择四个车轮,使用链
  • 车轮驾考通好用吗 功能有哪些

    车轮驾考通2018科目四试题安卓版拥有独家高清教学视频+权威解析,帮助超过1亿学员顺利拿到驾照,车轮...

感谢速联科技、八度网络、九九数据、亿恩科技、群英网络赞助部分带宽!

关于本站 | 联系方式 | 版权声明 | 下载帮助(?) | 网站地图

Copyright 2002-2020 95262.com 【数码资源网】 版权所有 粤ICP备2020128507号-1

本站所有软件来自互联网,版权归原著所有。如有侵权,敬请来信告知 ,我们将及时撤销。