MAYA怎么使用表达式制作钟表的动画?

所属分类: 媒体动画 / maya 阅读数: 131
收藏 0 赞 0 分享

用MAYA表达式制作钟表的动画,这个教程内容是使用 MAYA 的表达式制作一个时钟的动画,动画的内容包括:

1)秒针,分针,时针的运动。

2)用发条控制秒针,分针,时针的运动,以改变当前时间。

3)动画一个时码

1、制作前先分析场景中需要的模型,分别是,秒针,分针,时针,表盘,时间刻度,发条和用来显示时码的数字,根据个人喜好开始建模,比我这个模型好点就行。

2、模型做好,将秒针,分针,时针,表盘的变换中心统一。时码数字包括个位和十位,个位是 0-9 ,十位是 0-6 ,放到合适的地方。然后命名,由于 MAYA 不支持中文名,所以我用汉语拼音代替。

3、开始动画秒针,分析秒针转一周用的时间是 60 秒,那么 1 秒时间,秒针将转 6 度(角度), 2 秒转 12 度, 3 秒 ----- ,由此可见秒针转过角度数(单位:角度) = 时间(单位:秒) *6 (单位:角度 / 秒)

打开表达式编辑器方法(以后不再重复)之一是在通道框找到 miaozhen.rotateY 这个属性,右键选择 Expressions ,输入 miaozhen.rotateY=time*6, 播放一下动画,发现有错误,秒针方向走反了,应该是顺时针方向才对,该成 miaozhen.rotateY=trunc(time)*(-6) ,尽管写成miaozhen.rotateY=trunc(time)*-6 或 miaozhen.rotateY=-time*6 的结果也正确,但还是符合自己的逻辑为好。

播放一下动画正确,但还不够理想,一般钟表的秒针很少是匀速旋转的,都是 6 度一跳,该成 miaozhen.rotateY=floor(time)*(-6), floor 中文是地板的意思,可以联想一幢楼,每层是 1 米高,每层地板的高度就是 0 米, 1 米, 2 米 ---- , floor 函数就是将每层高度统一变成地板的高度,除去了小数,只有整数。

这样执行 floor ( time ), 0%26lt;time%26lt;1 时, floor ( time ) =0 , 1%26lt;time%26lt;2 时, floor ( time ) =1 , 最后的表达式是 miaozhen.rotateY=floor(time)*(-6) , 或者执行 miaozhen.rotateY=trunc(time)*(-6) 。 trunc 就是取一个数的整数部分,含义不同但好象执行的结果完全相同,但自变量小于 0 的时候 floor 和 trunc 就不同了,这时候 trunt 和 ceil 执行的结果就相同了, ceil 是天花板的意思,与 floor 是一对。

总结这一步骤,最后表达式为 miaozhen.rotateY=floor(time)*(-6) 或 miaozhen.rotateY=trunc(time)*(-6),记住3个函数: floor , ceil , trunc

4、制作分针动画,有了秒针的经验,分针就容易了,表达式为 fenzhen.rotateY=(time*(-6))/60 ,手表的发条是用来对时间的,它控制着分针,加入发条的控制分针的动画 fenzhen.rotateY=(time*(-6))/60+fatiao.rotateX ,现在转动发条,观察时针的变化。

5、制作时针动画,同理 shizhen.rotateY=fenzhen.rotateY/60

6、制作时码的动画,时码个位是0 ,1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 十位是0 ,1 ,2 ,3 ,4 ,5 // 先分析个位上的 0 ,控制它显示的是 visibility 属性,在 0 秒, 10 秒, 20 秒, 30 秒, 40 秒, 50 秒 ---- ,这些时间里 0 是可视的,它们有个共同规律就是头能被 10 整除,其它时间里 0 是不可视的,在 visibility 属性里输入表达式: if (trunc(time)%10==0) gewei|Trim_Char_0_1_1.visibility=1; else gewei|Trim_Char_0_1_1.visibility=0 ; 意思就是 如果 时间取整数除以 10 的余数为 0 个位数字 0 的可视性就等于 1 否则 个位数字 0 的可视性就等于 0////% 是除法取余数 .// // 然后个位上的 1 ,与个位上的 0 不同的是余数为 1 ,输入 if (trunc(time)%10==1) gewei|Trim_Char_1_1_1.visibility=1; else gewei|Trim_Char_1_1_1.visibility=0; 依此类推,最后 if (trunc(time)%10==9)

Trim_Char_9_1_1.visibility=1; else Trim_Char_9_1_1.visibility=0 十位与个位同理,只不过加了一个范围,十位上的 0 表达式为: if (time%60%26gt;=0 %26amp;%26amp; time%60%26lt;10) shiwei|Trim_Char_0_1_1.visibility=1; else shiwei|Trim_Char_0_1_1.visibility=0 例如十位上的 0 ,在余数大于等于 0 并且小于 10 的时候可视,否则不可视。

依次类推最后一个是 if (time%60%26gt;=50 %26amp;%26amp; time%60%26lt;60) shiwei|Trim_Char_5_1_1.visibility=1; else shiwei|Trim_Char_5_1_1.visibility=0 还可以再加几位数字,制作一个标准的 时:分:秒: frame 时码,这就和 after effect 滤镜的效果一样,最后把时间线拉的长一些,把时间放到任意时刻播放动画, 或是再转转发条,感觉一下,完。

相关推荐:

Maya怎么制作龙卷风效果?

Maya 7.0中工具架怎么创建和保存?

Maya中Smooth Proxy光滑代理怎么使用?

更多精彩内容其他人还在看

maya运用表达式制作交叉伸缩器gif动画

这篇教程是向脚本之家的朋友介绍利用maya运用表达式制作交叉伸缩器gif动画方法,教程制作出来的效果真的很不错,难度不是很大,推荐过来,喜欢的朋友可以跟着教程一起来学习
收藏 0 赞 0 分享

教你用maya给千西美少女模型穿衣服

这篇教程是向脚本之家的朋友介绍利用教你用maya给千西美少女模型穿衣服的方法,教程比较简单,很适合新手来学习,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习
收藏 0 赞 0 分享

maya 7.0 变形工具的网格变形工具使用教程

这篇教程是向脚本之家的朋友介绍利用maya 7.0 变形工具的网格变形工具使用方法,教程比较基础,适合新手来学习,推荐到脚本之家,大家一起来学习吧
收藏 0 赞 0 分享

maya打造一个拥有特殊头盔的科幻女性肖像教程

这篇教程是向脚本之家的朋友介绍利用maya打造一个拥有特殊头盔的科幻女性肖像方法,教程制作出来的美女效果科技感十足。推荐过来,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

Maya制作逼真可爱的旧玩具玩偶

这篇教程是向脚本之家的朋友介绍利用Maya制作逼真可爱的旧玩具玩偶方法,教程制作出来的效果真的很不错,难道也不是很大,推荐到脚本之家,喜欢的朋友可以跟着教程一起来学习,希望大家喜欢
收藏 0 赞 0 分享

MAYA制作加勒比海盗:亡灵的宝藏海盗Hype角色

这篇教程是向脚本之家的朋友介绍利用MAYA制作加勒比海盗中亡灵的宝藏海盗Hype角色,教程有一点难度,需要学习者有一定的基础,但通过这篇教程我们能学到不少的东西,希望大家喜欢
收藏 0 赞 0 分享

MAYA打造ganesha智慧的象头神角色教程

这篇教程是向脚本之家的朋友介绍利用MAYA打造ganesha智慧的象头神角色方法,教程制作出来的效果非常不错,不过难度有点大,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

maya制作超酷的科幻动画角色教程

这篇教程是向脚本之家的朋友介绍利用maya制作超酷的科幻动画角色方法,教程制作出来的效果真的很不错,难度不是很大,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

MAYA制作中山舰的海洋部分教程

这篇教程是向脚本之家的朋友介绍利用MAYA制作中山舰的海洋部分,教程介绍地比较详细,也很实用,推荐到脚本之家,喜欢的朋友一起来学习吧
收藏 0 赞 0 分享

MAYA制作中山舰模型之动画绑定篇

这篇教程是向脚本之家的朋友介绍MAYA制作中山舰模型之动画绑定篇,教程和小编发的上一篇同属一个教程,教程很经典,很值得大家学习,推荐过来,一起来学习吧
收藏 0 赞 0 分享
查看更多