Maya教程:扑克波浪动画特效解析

相信很多人看过相关特效的视频:翻扑克波浪效果。也就是说当我们翻动第一张扑克的时候,后面会有连带翻滚的效果。这里我们选择Maya这款三维软件来制作,应用简单的MEL就可以做出这个特效,希望大家喜欢。

全面解析如何用Maya制作男人手臂

大家好,在这篇教程中,作者详细的讲述了如何用Maya进行男子手臂的建模,教程很简单,适合新手的学习,希望对新手朋友们有所帮助。 第一步 用挤压命令从肩部拉出整条手臂的基础模型,一直到手腕位置为止。

Maya教程:扑克波浪动画特效解析插图

导言:
相信很多人看过相关特效的视频:翻扑克波浪效果。也就是说当我们翻动第一张扑克的时候,后面会有连带翻滚的效果。这里我们选择Maya这款三维软件来制作,应用简单的MEL就可以做出这个特效,希望大家喜欢。

 

模型制作
虽然说扑克牌只是一张纸,但是如果在三维软件中只用一个面片,会显得很辣手,而且没有厚度也不好看,所以我们选择从一个方盒子开始制作,这样会使扑克牌看起来比较有厚度。

 

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

 

Maya教程:扑克波浪动画特效解析插图(1)

图01

 

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

 

Maya教程:扑克波浪动画特效解析插图(2)

图02

 

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

 

Maya教程:扑克波浪动画特效解析插图(3)

图03

 

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

 

Maya教程:扑克波浪动画特效解析插图(4)

图04

 

5、对lambert的color贴图,这里是贴图文件。(图05)

 

Maya教程:扑克波浪动画特效解析插图(5)

图05

 

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

 

Maya教程:扑克波浪动画特效解析插图(6)

图06

 

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

 

Maya教程:扑克波浪动画特效解析插图(7)

图07

 

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

 

Maya教程:扑克波浪动画特效解析插图(8)

图08

 

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

 

Maya教程:扑克波浪动画特效解析插图(9)

图09

 

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

 

Maya教程:扑克波浪动画特效解析插图(10)

图10

 

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

 

Maya教程:扑克波浪动画特效解析插图(11)

图11

 

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

 

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

 

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

 

Maya教程:扑克波浪动画特效解析插图(12)

图12

 

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

 

Maya教程:扑克波浪动画特效解析插图(13)

图13

 

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

 

Maya教程:扑克波浪动画特效解析插图(14)

图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教程:扑克波浪动画特效解析插图(15)

图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]变量就可以了。

 

4、进行整合就是
string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;
}

 

这样虽然嵌套成功,但是并没有让pCube2这个物体变成变量操作,所以我们要对脚本进行修改.将pCube2_rotateZ变成通配属性($selections[$i]+”_rotateZ”),这样$i在循环1~50的同时对50个模型也就进行了操作。由于keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;中的1代表做1帧偏移,但是每往后推1个模型,帧数就需要累加1.所以这里就形成了一个n=n+1的状态,但是这并不难解决,我们把1套为$i就可以了,因为$i是变量,从1~50自动变化。经过以上考虑,我们把脚本修改为:

string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 ($selections[$i]+”_rotateZ”) ;
keyframe -e -iub true -r -o over -tc ($i) ($selections[$i]+”_rotateZ”) ;
}

 

最终执行
1、在大纲中顺序选择pCuble1到pCube50。

 

2、在Script Editor中输入脚本,并且按ctrl+enter执行。(图16)

 

Maya教程:扑克波浪动画特效解析插图(16)

图16

 

3、观察时间条,50个扑克的关键帧就在一瞬间全部错开。(图17)

 

Maya教程:扑克波浪动画特效解析插图(17)

图17

 

4、此时我们的动画效果就完成了。(图18)

 

Maya教程:扑克波浪动画特效解析插图(18)

图18

 

 

 

Maya教程:扑克波浪动画特效解析插图

导言:
相信很多人看过相关特效的视频:翻扑克波浪效果。也就是说当我们翻动第一张扑克的时候,后面会有连带翻滚的效果。这里我们选择Maya这款三维软件来制作,应用简单的MEL就可以做出这个特效,希望大家喜欢。

 

模型制作
虽然说扑克牌只是一张纸,但是如果在三维软件中只用一个面片,会显得很辣手,而且没有厚度也不好看,所以我们选择从一个方盒子开始制作,这样会使扑克牌看起来比较有厚度。

 

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

 

Maya教程:扑克波浪动画特效解析插图(1)

图01

 

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

 

Maya教程:扑克波浪动画特效解析插图(2)

图02

 

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

 

Maya教程:扑克波浪动画特效解析插图(3)

图03

 

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

 

Maya教程:扑克波浪动画特效解析插图(4)

图04

 

5、对lambert的color贴图,这里是贴图文件。(图05)

 

Maya教程:扑克波浪动画特效解析插图(5)

图05

 

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

 

Maya教程:扑克波浪动画特效解析插图(6)

图06

 

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

 

Maya教程:扑克波浪动画特效解析插图(7)

图07

 

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

 

Maya教程:扑克波浪动画特效解析插图(8)

图08

 

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

 

Maya教程:扑克波浪动画特效解析插图(9)

图09

 

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

 

Maya教程:扑克波浪动画特效解析插图(10)

图10

 

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

 

Maya教程:扑克波浪动画特效解析插图(11)

图11

 

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

 

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

 

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

 

Maya教程:扑克波浪动画特效解析插图(12)

图12

 

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

 

Maya教程:扑克波浪动画特效解析插图(13)

图13

 

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

 

Maya教程:扑克波浪动画特效解析插图(14)

图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教程:扑克波浪动画特效解析插图(15)

图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]变量就可以了。

 

4、进行整合就是
string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;
}

 

这样虽然嵌套成功,但是并没有让pCube2这个物体变成变量操作,所以我们要对脚本进行修改.将pCube2_rotateZ变成通配属性($selections[$i]+”_rotateZ”),这样$i在循环1~50的同时对50个模型也就进行了操作。由于keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;中的1代表做1帧偏移,但是每往后推1个模型,帧数就需要累加1.所以这里就形成了一个n=n+1的状态,但是这并不难解决,我们把1套为$i就可以了,因为$i是变量,从1~50自动变化。经过以上考虑,我们把脚本修改为:

string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 ($selections[$i]+”_rotateZ”) ;
keyframe -e -iub true -r -o over -tc ($i) ($selections[$i]+”_rotateZ”) ;
}

 

最终执行
1、在大纲中顺序选择pCuble1到pCube50。

 

2、在Script Editor中输入脚本,并且按ctrl+enter执行。(图16)

 

Maya教程:扑克波浪动画特效解析插图(16)

图16

 

3、观察时间条,50个扑克的关键帧就在一瞬间全部错开。(图17)

 

Maya教程:扑克波浪动画特效解析插图(17)

图17

 

4、此时我们的动画效果就完成了。(图18)

 

Maya教程:扑克波浪动画特效解析插图(18)

图18

 

 

 

作者: 791650988

为您推荐

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部