国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Maya > 正文

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

2020-10-20 19:16:29
字體:
來源:轉載
供稿:網友

用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光滑代理怎么使用?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙游县| 鞍山市| 农安县| 苏尼特左旗| 石城县| 宁海县| 巴彦县| 峡江县| 东安县| 光山县| 永平县| 广元市| 会宁县| 南汇区| 花垣县| 南丹县| 廉江市| 兴国县| 濮阳市| 靖安县| 运城市| 兴宁市| 蒲城县| 伊春市| 昭觉县| 台北市| 林口县| 怀宁县| 巫溪县| 睢宁县| 云南省| 石阡县| 兴国县| 诸暨市| 襄垣县| 西昌市| 乌兰察布市| 平利县| 阿拉善左旗| 汤阴县| 隆子县|