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濾鏡的效果一樣,最後把時間線拉的長一些,把時間放到任意時刻播放動畫, 或是再轉轉發條,感覺一下,完。