maya 交叉伸缩器教程
在 maya 中运用表达式制作交叉伸缩器。
1 .首先创建一个多边形立方体,取名 b1 ,作为第一条杆,长、宽、高分别为 0.4 、 10.1 、 0.2 。把它从 z 轴旋转一点角度。
(图片较大 请放大查看)
2 .再建一多边形圆柱体取名 pin ,就放在原点,并旋转、缩放调整成如图:
(图片较大 请放大查看)
3 .然后复制 b1 立方体,取名 b2 。现在开始表达式了,选择 b2 ,打开 window->animation editors->expression editor 表达式编辑器,在表达式区键入 b2.rotatez = b1.rotatez * -1 点击 create 按钮。这条语句表示 b2 的 z 轴角度是 b1 的角度乘以 负 1 ,两个立方体成为一个剪刀的原理。现在试试沿 b1 的 z 轴旋转,会发现 b2 也会向着 b1 的相反方向旋转。
(图片较大 请放大查看)
4 .选择 b1 、 b2 和 pin ,按 ctrl+d 一起复制这三个物体,并向右移动一些距离。多与少不要紧,等会输入的表达式会帮助修正的。 maya 会自动取名的,如不对请改为如图所示,否则会与下面的表达式不符。
(图片较大 请放大查看)
5 .选择 pin1, 在表达式编辑器中键入 pin1.translatex = cosd (90-b1.rotatez)*5 2 -0.2 这条语句用来控制 pin1 随着 b1 的 z 轴旋转而沿着 x 轴平移。 “*5” 是立方体高度的一半 , 最后的 “-0.2” 是因为 cosd 函数是按立方体的顶点来算的,如不减 0.2 ,在运动时两条杆的末尾会因分开距离太大而不接触,这是不真实的,所以要 -0.2 使距离小一些。
(图片较大 请放大查看)
5-2
(图片较大 请放大查看)
5-3
(图片较大 请放大查看)
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 轴来看一看效果了。
(图片较大 请放大查看)
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
(图片较大 请放大查看)
先看看效果。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器