1. 制作前先分析场景中需要的模型,分别是,秒针,分针,时针,表盘,时间刻度,发条和用来显示时码的数字,根据个人喜好开始建模,比我这个模型好点就行。
2. 模型做好,将秒针,分针,时针,表盘的变换中心统一。时码数字包括个位和十位,个位是0-9,十位是0-6,放到合适的地方。然后命名,由于MAYA不支持中文名,所以我用汉语拼音代替。
点击放大
[page]
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记住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>=0 && time%60<10) shiwei|Trim_Char_0_1_1.visibility=1;else shiwei|Trim_Char_0_1_1.visibility=0 例如十位上的0,在余数大于等于0并且小于10的时候可视,否则不可视。 依次类推最后一个是if (time%60>=50 && time%60<60)shiwei|Trim_Char_5_1_1.visibility=1;elseshiwei|Trim_Char_5_1_1.visibility=0 还可以再加几位数字,制作一个标准的 时:分:秒:frame时码,这就和after effect滤镜的效果一样,最后把时间线拉的长一些,把时间放到任意时刻播放动画, 或是再转转发条,感觉一下,完。