纳金网

标题: maya 交叉伸缩器教程 [打印本页]

作者: YY823    时间: 2013-8-1 17:02
标题: maya 交叉伸缩器教程
本帖最后由 YY823 于 2013-8-2 08:54 编辑

maya 交叉伸缩器教程
   在 maya 中运用表达式制作交叉伸缩器。

1 .首先创建一个多边形立方体,取名 b1 ,作为第一条杆,长、宽、高分别为 0.4 、 10.1 、 0.2 。把它从 z 轴旋转一点角度。

200710308585810977801.jpg


2 .再建一多边形圆柱体取名 pin ,就放在原点,并旋转、缩放调整成如图:

200710308585815677802.jpg


3 .然后复制 b1 立方体,取名 b2 。现在开始表达式了,选择 b2 ,打开 window-%26gt;animation editors-%26gt;expression editor 表达式编辑器,在表达式区键入 b2.rotatez = b1.rotatez * -1 点击 create 按钮。这条语句表示 b2 的 z 轴角度是 b1 的角度乘以 负 1 ,两个立方体成为一个剪刀的原理。现在试试沿 b1 的 z 轴旋转,会发现 b2 也会向着 b1 的相反方向旋转。

200710308585820377803.jpg


4 .选择 b1 、 b2 和 pin ,按 ctrl+d 一起复制这三个物体,并向右移动一些距离。多与少不要紧,等会输入的表达式会帮助修正的。 maya 会自动取名的,如不对请改为如图所示,否则会与下面的表达式不符。

200710308585825077804.jpg


5 .选择 pin1, 在表达式编辑器中键入 pin1.translatex = cosd (90-b1.rotatez)*5 2 -0.2 这条语句用来控制 pin1 随着 b1 的 z 轴旋转而沿着 x 轴平移。 “*5” 是立方体高度的一半 , 最后的 “-0.2” 是因为 cosd 函数是按立方体的顶点来算的,如不减 0.2 ,在运动时两条杆的末尾会因分开距离太大而不接触,这是不真实的,所以要 -0.2 使距离小一些。

200710308585829677805.jpg





5-2


200710308585832877806.jpg


5-3

200710308585837577807.jpg


6 .接下来控制 b3 、 b4 的移动,选择 b3 ,在表达式编辑器中键入 b3.translatex = pin1.translatex 此句将 b3 的 x 轴位置设为 pin1 的 x 轴位置。 b4 同样 : b4.translatex = pin1.translatex 。
控制旋转: b3 立方体: b3.rotatez = b1.rotatez
b4 立方体: b4.rotatez = b1.rotatez * -1
如果同一个物体的表达式要连续输入两条以上,要在两条之间加分号 “ ; ”
如: b3.translatex = pin1.translatex ;
b3.rotatez = b1.rotatez
现在可以旋转 b1 的 z 轴来看一看效果了。

200710308585842177808.jpg


7 .再来复制多一组,分别取名 b5 、 b6 、 pin2 。选择 pin2, 在表达式编辑器中键入 pin2.translatex = cosd (90-b1.rotatez)*5 4 -0.2 这条语句用来控制 pin2 随着 b1 的 z 轴旋转而沿着 x 轴平移。这次是乘以 4 ,每复制多一组,就要在前一组数值的基础上加 “2”, 在第三组时就是 “6” 。道理不用说了吧。
控制 b5 的移动和旋转: b5.translatex= pin2.translatex ;b5.rotatez = b1.rotatez
b6 的移动和旋转: b6.translatex = pin2.translatex;
b6.rotatez = b1.rotatez * -1

200710308585846877809.jpg


  先看看效果。

2007103085858515778010.gif

本3d教程完。







欢迎光临 纳金网 (http://c-www.narkii.com/club/) Powered by Discuz! X2.5