MAYA怎么使用表達式制作鐘表的動畫?

用MAYA表達式制作鐘表的動畫,這個教程內(nèi)容是使用 MAYA 的表達式制作一個時鐘的動畫,動畫的內(nèi)容包括:
1)秒針,分針,時針的運動。
2)用發(fā)條控制秒針,分針,時針的運動,以改變當(dāng)前時間。
3)動畫一個時碼
1、制作前先分析場景中需要的模型,分別是,秒針,分針,時針,表盤,時間刻度,發(fā)條和用來顯示時碼的數(shù)字,根據(jù)個人喜好開始建模,比我這個模型好點就行。
2、模型做好,將秒針,分針,時針,表盤的變換中心統(tǒng)一。時碼數(shù)字包括個位和十位,個位是 0-9 ,十位是 0-6 ,放到合適的地方。然后命名,由于 MAYA 不支持中文名,所以我用漢語拼音代替。
3、開始動畫秒針,分析秒針轉(zhuǎn)一周用的時間是 60 秒,那么 1 秒時間,秒針將轉(zhuǎn) 6 度(角度), 2 秒轉(zhuǎn) 12 度, 3 秒 ----- ,由此可見秒針轉(zhuǎn)過角度數(shù)(單位:角度) = 時間(單位:秒) *6 (單位:角度 / 秒)
打開表達式編輯器方法(以后不再重復(fù))之一是在通道框找到 miaozhen.rotateY 這個屬性,右鍵選擇 Expressions ,輸入 miaozhen.rotateY=time*6, 播放一下動畫,發(fā)現(xiàn)有錯誤,秒針方向走反了,應(yīng)該是順時針方向才對,該成 miaozhen.rotateY=trunc(time)*(-6) ,盡管寫成miaozhen.rotateY=trunc(time)*-6 或 miaozhen.rotateY=-time*6 的結(jié)果也正確,但還是符合自己的邏輯為好。
播放一下動畫正確,但還不夠理想,一般鐘表的秒針很少是勻速旋轉(zhuǎn)的,都是 6 度一跳,該成 miaozhen.rotateY=floor(time)*(-6), floor 中文是地板的意思,可以聯(lián)想一幢樓,每層是 1 米高,每層地板的高度就是 0 米, 1 米, 2 米 ---- , floor 函數(shù)就是將每層高度統(tǒng)一變成地板的高度,除去了小數(shù),只有整數(shù)。
這樣執(zhí)行 floor ( time ), 0%26lt;time%26lt;1 時, floor ( time ) =0 , 1%26lt;time%26lt;2 時, floor ( time ) =1 , 最后的表達式是 miaozhen.rotateY=floor(time)*(-6) , 或者執(zhí)行 miaozhen.rotateY=trunc(time)*(-6) 。 trunc 就是取一個數(shù)的整數(shù)部分,含義不同但好象執(zhí)行的結(jié)果完全相同,但自變量小于 0 的時候 floor 和 trunc 就不同了,這時候 trunt 和 ceil 執(zhí)行的結(jié)果就相同了, ceil 是天花板的意思,與 floor 是一對。
總結(jié)這一步驟,最后表達式為 miaozhen.rotateY=floor(time)*(-6) 或 miaozhen.rotateY=trunc(time)*(-6),記住3個函數(shù): floor , ceil , trunc
4、制作分針動畫,有了秒針的經(jīng)驗,分針就容易了,表達式為 fenzhen.rotateY=(time*(-6))/60 ,手表的發(fā)條是用來對時間的,它控制著分針,加入發(fā)條的控制分針的動畫 fenzhen.rotateY=(time*(-6))/60+fatiao.rotateX ,現(xiàn)在轉(zhuǎn)動發(fā)條,觀察時針的變化。
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 是可視的,它們有個共同規(guī)律就是頭能被 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 ; 意思就是 如果 時間取整數(shù)除以 10 的余數(shù)為 0 個位數(shù)字 0 的可視性就等于 1 否則 個位數(shù)字 0 的可視性就等于 0////% 是除法取余數(shù) .// // 然后個位上的 1 ,與個位上的 0 不同的是余數(shù)為 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 ,在余數(shù)大于等于 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 還可以再加幾位數(shù)字,制作一個標準的 時:分:秒: frame 時碼,這就和 after effect 濾鏡的效果一樣,最后把時間線拉的長一些,把時間放到任意時刻播放動畫, 或是再轉(zhuǎn)轉(zhuǎn)發(fā)條,感覺一下,完。
相關(guān)推薦:
相關(guān)文章
- MAYA怎么制作渲染景深效果?maya中景深效果的渲染過程很麻煩,但是做出的效果卻很好,今天我們就來看看一個實例教程,需要的朋友可以參考下2017-05-07
- maya怎么建一個飛機模型?maya中想要建立一個飛機模型,該怎么建立呢?下面我們就來看看詳細的建立方法,很簡單,需要的朋友可以參考下2017-05-05
- maya怎么為蘑菇刷權(quán)重?maya中刷權(quán)重是一個重要的環(huán)節(jié),可以讓動畫中的物體工逼真,下面我們就來看看maya刷權(quán)重的詳細教程,需要的朋友可以參考下2017-05-04
- maya怎么創(chuàng)建茶杯模型?maya中想要創(chuàng)建一個老式的茶杯,該怎么創(chuàng)建呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-03
- maya三維動畫怎么設(shè)置播放時間?maya制作三維動畫的時候,想要調(diào)節(jié)播放時間,該怎么調(diào)節(jié)呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-05-02
- maya怎么建立一個二層小餐桌?maya中想要制作一個小飯桌茶桌的模型,該怎么創(chuàng)建呢?下面我們就來看看詳細的教程,需要的朋友可以參考下2017-04-28
- Maya怎么制作穆斯林宗教建筑燈光??maya中想給圖片添加一些燈光效果,該怎么添加呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-04-27
- maya怎么制作法線貼圖?maya中想要通過法線貼圖來制作模型的細節(jié),該怎么添加呢?下面我們就來看看maya法線貼圖的制作方法,需要的朋友可以參考下2017-04-26
- maya怎么使用cv曲線繪制花瓶模型?maya中想要繪制一個漂亮的長頸花瓶,該怎么繪制呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-04-25
- maya怎么制作一個室內(nèi)吊燈?現(xiàn)在室內(nèi)的吊燈都很漂亮,想要制作一個很漂亮的吊燈,該怎么制作呢?下面我們就來看看詳細的教程,很簡單,需要的朋友可以參考下2017-04-24