您现在的位置: 万盛学电脑网 >> 软件知识 >> 图文处理 >> MAYA教程 >> 正文

MAYA MEL打造扑克动画详细教程

作者:佚名    责任编辑:admin    更新时间:2022-06-22

   这篇教程教脚本之家的朋友们用MAYA MEL打造扑克动画,教程难度中等。主要像脚本之家的朋友们介绍MAYA MEL的使用方法。希望大家喜欢这篇教程。先看看效果截图:

MAYA MEL打造扑克动画详细教程    三联

  具体制作步骤如下:

  1、创建一个多边形的Cube,进行三个轴的挤压操作后,得到下图效果。(图01)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图01

  2、对多边形进行加线,这样便于制作“倒角”效果。(图02)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图02

  3、对模型进行UV平面投射处理。(图03)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图03

  4、给扑克模型赐予新材质lambert。(图04)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图04

  5、对lambert的color贴图,这里是贴图文件(来源于zcool网)。(图05)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图05

  6、对2D坐标进行调整后。(图06)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图06

  7、进行平滑处理,对模型执行2次smooth命令。(图07)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图07

  8、这一步很重要,把模型的轴吸附在模型“脚底”,并且在世界中心冻结属性,这样便于做动画处理。(图08)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图08

  进行场景搭建

  1、选择扑克模型,ctrl+d复制,向X方向平移1个单位。(图09)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图09

  2、立即使用shift+d进行智能变换复制,复制50个。(图10)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图10

  进行动画设置

  1、选择所有扑克模型,在第1帧定义动画rotateZ为-89.333。(图11)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图11

  2、选择所有扑克模型,在第24帧定义动画rotateZ为89.333。

  MEL提取

  在这里我们的思路是做措关键帧处理。因为关键帧可以在DopeSheet列表中调整,但是50个或者100甚至1000个物体措关键帧的话,一个一个来做并不是明智之举,所以在这里我们选择使用MEL来处理这个问题。

  1、首先打开DopeSheet菜单,我们会看到如下图所示关键帧列表。(图12)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图12

  2、我们需要提取2行MEL:一个是选择关键帧的MEL,一个是移动关键帧的MEL。如果能得到这两行MEL,操作一个模型,那么我们就可以操作n个模型。所以我们需要打开Script Editor观察操作与执行结果脚本。(图13)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图13

  3、首先我们在DopeSheet中选择2个关键帧,并观察Script Editor中反馈信息。(图14)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图14

  4、我们得到了三行脚本:

  selectKey -add -k -t 1 -t 24 pCube2_rotateX ;

  selectKey -add -k -t 1 -t 24 pCube2_rotateY ;

  selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;

  5、我们在DopeSheet中移动关键帧,向右用鼠标中键移动关键帧1格,并观察ScriptEditor反馈。(图15)

MAYA MEL打造扑克动画 脚本之家 MAYA动画教程

  图15

  6、我们又得到3行脚本:

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateX ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateY ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;

  进行MEL筛选与编辑

  虽然我们通过提取脚本行可以得到一些和移动关键帧相关的指令,但是有一些并不实用,所以我们要进行提取和精炼。

  1、一下句子中X轴和Y轴虽然有动画,但是并没有用。有用的是我们的Z轴动画:

  selectKey -add -k -t 1 -t 24 pCube2_rotateX ;

  selectKey -add -k -t 1 -t 24 pCube2_rotateY ;

  selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateX ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateY ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;

  所以我们要对其进行精简。可以精简为:

  selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;只保留这两句即可。

  2、selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;

  keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;

  通过脚本分析,我们可以看到,以上脚本只是对pCube2这个物体的旋转Z轴进行操作,并没有通用性,所以我们需要借助循环语法for来进行操作。

  //For循环基本语法

  int $i;

  for($i=起始;$i<结束;$i++)

  {做什么事;}

  3、因为我们要对选择物体操作,所以需要进行字符串数组控制语法

  string $selections[]=`ls -sl`;

  之后我们直接提取$selections[$i]变量就可以了。