下麵我們就通過一個簡單動畫的製作過程,來了解3DS MAX的動畫原理和生成動畫的技術。請看shake.avi,在場景中我們使用幾段管狀物,模擬類似搖椅的晃動,這是一個簡單的動畫過程,但是它卻包含了大量的動畫技巧,是一個簡單卻實用的例子。對於剛剛入門的朋友來說,能熟練地掌握這個例子,對以後的學習大有幫助,對於有經驗的朋友,這個練習也將給你很大的啟發,好讓我們啟程把。
1、建模:
對於一個好的動畫過程,建模部分是十分重要的,因為一個模型往往有幾種建模的方法,不同的建模方法對動畫的加入會有不同的影響。一個要加入動畫的模型,在建模之初就要考慮到模型建立對動畫的影響。因此我們在此沒有省略建模的部分。首先,我們在前視窗建立一個管狀物,並將其命名為:LEG1。分別調整其外徑R1為100、內徑R2為95、管高為5、邊數為32、其他片段數為1,勾選切片功能(Slice on)開關,將之打開,輸入數值從-145~145切片。
在頂視圖,使用SHIFT鍵,並向Y軸負向移動LEG1約40個單位,移動並複製出LEG2。
同樣,向Y軸負向移動約5個單位並複製出第三個管狀物,命名為FACE,分別調整其外徑R1為96、內徑R2為95、管高為40,其它參數不變。最後生成的模型如圖一。
2、手工生成關鍵幀動畫
對於初學者來說,在大多數情況下,完成了簡單的建模過程以後,接下來的步驟就是是用手工設定關鍵幀動畫。手動設定關鍵幀,是最簡單的一種方法,他易於掌握,隻需要指定動畫兩端的變換狀態,中間的部分會自動生成,是初學者常用的方法。
在製作動畫之前,首先確定在那個視窗進行工作,由於搖椅的運動是平行於前視圖的,因此我們應選擇在前視圖工作。點選前視圖,按W鍵使之滿屏顯示。點選LEG1,按下動畫按鈕,打開動畫記錄,在第0幀處,將LEG1沿Z軸逆時針旋轉30度,將動畫調整到第50幀處,將LEG1沿Z軸順時針旋轉60度。再次按下動畫按鈕,關閉動畫記錄。觀看動畫。
發現LEG1隻是進行了一小段圓周運動,可不管怎麼說它畢竟是動了,但為了使他產生搖椅的搖擺晃動效果,我們必須分析它的運動原理,其實很多運動都不是簡單的運動,不能通過一種運動方式模擬出來,需要把它的運動進行分解,我們發現這種搖擺運動是由兩個運動組成的,一個是我們剛才製作的圓周運動,另一個是水平的移動,其實這很好理解,球的滾動就是一樣的(這需要對運動進行很好的觀察)。通過數學的方法,可以得到轉動角度和水平移動距離關係的數學公式:D=2πR*α/360。如圖二。本例中順逆時針各旋轉30度,左右各移動約52。
下麵讓我們來根據計算結果製作出動畫,在第0幀處,打開動畫記錄,將LEG1沿X軸正向移動52個單位,將動畫調整到第50幀處,將LEG1沿X軸負向移動104個單位,關閉動畫記錄。觀看動畫,現在的動畫已經有了正確的運動規律,隻是運動了半個周期,下麵我們用簡單的辦法生成另外半個運動周期。
3、使用運動軌跡視窗(Track View)製作動畫
運動軌跡視窗式3DSMAX調整和修改動畫的重要工具,我會在以後的文章中詳細講解,現在請大家一步一步跟我做。首先為了使搖椅有幾個周期的運動,我們將時間軸長度設為400幀。然後點擊工具欄上的Track View按鈕,打開運動軌跡視窗,在左側的項目欄找到Objects下的LEG1打開位置動畫項目(Position),按下動畫曲線按鈕,如圖三,可以看到物體沿X、Y、Z軸的動畫曲線,X為紅色、Y為綠色、Z為藍色。
為了以後將動畫複製給其他物體,我們將X、Y、Z軸的位置動畫進行分離。按下指定控製器按鈕,如圖四,彈出控製器類型窗口,選擇Position XYZ控製器,如圖五,按OK,回到運動軌跡視窗,可以看到在Position下又分別產生了三個獨立的項目,點選X Position,可以看到動畫曲線。這樣準備工作就基本完成了。
接下來我們利用已經生成的動畫,來完成後續動畫。在運動軌跡視窗按下越界曲線類型(Parameter Curve Out-of Range Type)按鈕,如圖六,在彈出的窗口中選擇PingPong類型,將其左右兩個按鈕按下,按OK,回到運動軌跡視窗,可以看到生成了四個周期的運動曲線,如圖七。
對旋轉(Rotation)進行同樣的操作,先分離軸向上的動畫,然後對其使用PingPong越界曲線類型,注意分離旋轉控製器的類型為Euler XYZ。完成後觀看動畫。
4、精確控製動畫
在上一步完成以後,LEG1的動畫就可以說基本完成了,可觀看動畫以後發現,在旋轉的兩個最大值處,轉折生硬好,像被物體彈回,而實際上應該是動能漸漸轉化為勢能的過程。再次回到運動軌跡視窗,LEG1裏的Position下的點選X Position項,選中曲線第0幀上的控製點,按鼠標右鍵,彈出其屬性窗口如圖八,在OUT項上選擇慢進(Slow),按右側箭頭將選擇傳給下一個控製點。這樣我們就完成了LEG1的動畫的過程。
我們可以重複上述步驟來完成LEG2和FACE的動畫過程,但那樣太過麻煩,我們可以用複製的辦法,來生成LEG2和FACE的動畫過程。需要注意的是複製過程應在同等級別的項目之間進行,所以我們先要對LEG2和FACE的Position和Rotation兩個項目進行分離,千萬不能直接複製Position項,那樣Y、Z兩軸的位置也會完全一樣,三個物體移動到了同一位置,但可以複製Rotation項,因為其他兩個軸向上沒有動畫,角度會保持不變。複製和粘貼的按鈕位置如圖九。我們先選中要複製的項目Objects下的LEG1-Position下點選X Position,按下複製按鈕,選擇LEG2對其的position項進行分離,然後點選X Position,再按下粘貼按鈕,同樣的方法複製Rotation項和Face的動畫。看看完成的動畫是不是和前麵的一樣。賦上材質就完工了。
製作這樣一個動畫,關鍵在於製作前的建模和運動的分解,其它的隻是技巧上的差別,你可以用不同的建模方法嚐試製作這個動畫,如使用Blend彎曲的Box物體,看看有沒有不同。有好的經驗歡迎交流