萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> MAYA教程 >> MAYA教程之骨骼動力學

MAYA教程之骨骼動力學

  骨骼制作標志著用戶已進入到高級特征動畫制作的領域,在 Maya 中使用骨骼比較容易,但也有可能變得復雜。在我們為骨骼制作動畫之前,首先要了解動力學的一些屬性,這對於制作好的骨骼動畫至關重要。

  正向動力學

  Forward Kinematics 對於處理諸如行走時手臂的擺動或人轉身時脊柱的旋轉之類的自由運動是非常有效的。對於 Forward Kinematics ,主要關心的是給動畫正確建立關節,下面就用 Joint 工具來建立一個人體骨骼。

  首先要做的是創建有骨骼的腿部,這需要放置腿、膝和足關節。具體操作步驟如下:

  (1) 執行 Skeleton → Joint Tool

  命令,單擊 Reset Tool 將所有的選項都設置為默認狀態,然後執行 Auto Joint Limits 。

  (2) 進入側視圖,按住 X 鍵並單擊關節,將它捕捉到柵格上,如圖 13-8 所示。創建完所有的關節後,按 Enter 鍵完成制作。

  提示:

  在關節創建過程中的任何時候,用戶可以用鼠標中鍵拖動以調整創建的最後一個關節的位置,或者用向上箭頭鍵回到其他關節。注意:如果返回少許幾個關節,並用鼠標左鍵單擊的話,就會在關節外得到另一個關節分支。

MAYA教程之骨骼動力學 三聯

  圖 13-8 創建骨骼

  (3) 分別給關節命名為 Lleg , Lknee 和 Lfoot(L 代表左的意思 ) 。現在沒必要考慮關節鏈中的最後一個關節,因為現在還用不上。

  (4) 進入透視圖,執行膝或足關節並試著轉動它,這時可以發現它僅能繞 Z 軸旋轉,且對 Z 旋轉還有一個限制。用 Auto Joint Limit 設置可以創建一個 Hinge 關節,這種關節旋轉時不會通過父關節或者說該關節彎曲不會超過 180 度。因此,和膝關節一起使用是最好不過了,如圖 13-9 所示。

  [NextPage]

  如果還要使足繞關節 X 或 Y 軸旋轉,可以在 Attribute Editor 中進行設置。在 Joint 欄,設置 Degrees of Freedom 為 X 和 Y ,繼續對 Z 軸應用關節限制,除非在 Limit Information 欄關閉 Rot Limit Z 設置。

  在創建腿時一定要注意,創建的骨頭間是傾斜的,而不是一條直線。因為,在骨頭之間的角度決定了骨頭彎曲的方式。另外,在 Maya 中默認的關節方向是由該關節與其子關節的關系決定的。是指創建一個關節時,局部坐標的 X 軸沿著骨頭方向, Y 軸指向彎曲方向, Z 軸垂直於彎曲方向。執行 Display → Components Object → Local Rotation Axes 命令,可以顯示出一個關節的局部旋轉軸,如圖 13-10 所示。

  圖 13-9 旋轉骨骼

  圖 13-10 局部旋轉軸

  當用默認設置創建一個關節時, Z 軸旋轉方向始終是指向彎曲骨頭的方向, Y 軸旋轉方向就是骨頭從一邊到另一邊的旋轉方向。這樣,執行要創建關節的窗口就非常重要了,因此應指出要使骨頭如何彎曲,然後相應地在正確的窗口中創建這些骨頭。例如,模型面向前視圖,則可以在側視圖中創建脊椎和腿。這樣,當創建其他的骨骼時,就可以在不同的窗口觀察創建關節的示例。

  移動和鏡像關節

  用戶可以使用 Move 工具移動創建的關節。如果執行一個關節並用 Move 工具移動它,該關節層級下的關節也會一起移動。如果執行 Move 工具,然後按 Insert 鍵顯示軸心點控制器並移動該軸心點,則只要移動該執行的關節即可以。當然也可以使用 Maya 的 Skeleton 菜單中的其他工具來編輯創建的關節,通過插入、刪除、連接和斷開關節 —— 甚至重新創建關節。

  [NextPage]

  下面用鏡像來創建另一條腿,因為關節的運動與一般物體節點有區別,所以需要使用 Mirror Joint 功能對稱地復制右腿,其具體操作步驟如下。

  (1) 將腿層級移動到 (2 , 0 , 0) ,然後執行 Skeleton → Mirror Joint

  命令。執行 YZ 作為設置,並單擊 Mirror 。

  (2) 試試同時旋轉左、右膝蓋,這兩個膝蓋會像彼此的鏡像圖像一樣旋轉,如圖 13-11 所示。

  (3) 將被鏡像的關節命名為 Rleg 、 Rknee 和 Rfoot 。

  在鏡像關節時,旋轉的限制信息應該也拷貝到被鏡像的關節上,但用戶也許會發現它們並未被激活。如果出現這種情況,可以選擇 Attribute Editor 並激活它們 ( 在那裡有這些數字信息 ) 。如果有一些 Rotate 域是灰色的但關節仍可以旋轉,那麼可以在 Degree of Freedom 框中雙擊鼠標左鍵以解鎖。

  圖 13-11 同時旋轉兩個骨骼

  如果發現關節鏡像得不對,可以在另一個關節下把它們編成組,先鏡像它們然後再解散它們。

  建立人體其余的骨骼

  下面是增加脊椎和肩部關節層級的方法,具體操作步驟如下:

  (1) 進入側視圖,用默認的 Joint Tool 選項設置創建脊椎鏈,如圖 13-12 所示。脊椎關節需要的是 Ball 關節形式。在頂視圖中創建左肩骨骼鏈,如圖 13-13 所示 ( 記住現在創建的是一個非常簡單的骨骼 ) 。

  圖 13-12 脊椎骨形狀

  圖 13-13 左肩骨骨鏈

  [NextPage]

  (2) 將脊椎層級命名為 waist 、 chest 、 neck 和 head ,並將肩部層級命名為 Lshoulder 、 Larm 、 Lforearm 和 Lhand 。

  (3) 在前視圖中,將肩部骨骼鏈向上移至稍稍低於頸骨的位置。

  (4) 在 Hypergraph 或者 Outliner 中,將腰以下的腿骨鏈編為一組,並把胸部下方的 Lshoulder 鏈編為一組,這時應看到像層級和圖片的一些東西,如圖 13-14 所示。

  圖 13-14 改變層級

  (5) 要在肩部關節加上旋轉限制,打開 Attribute Editor 並執行 Lshoulder 關節。因肩部不需要繞 X 軸旋轉,因此可以在 Degrees of Freedom 設置中關閉 X 。因為要使 Larm 像 Ball 關節一樣旋轉,因此它的設置不改變。 Lforearm 是一個普通關節,不能繞 Y 軸旋轉,因此關閉 Y ; Lhand 也是一個普通關節,不能繞 X 軸旋轉,因此關閉 X 。

  (6) 對這些關節和其他關節也可以設置具體的最小和最大旋轉范圍。下面以 Lforearm 關節為例加以說明。執行 Lforearm ,在 Attribute Editor 中打開 Limit Information 和 Rotate 屬性,這時可以看到 3 個 Rot Limit 域,且 Y 旋轉為灰色。選中 4 個 Rot Limit X 和 Z 框,並使 Min 和 Max 域解鎖。

  (7) 在頂視圖中將 Lforearm 繞 Z 軸旋轉。當前臂變直時,其度數大約為– 28 ,因此輸入– 30 作為 Min 值,當前臂彎曲與 Larm( 胳膊 ) 重疊時,度數大約為 137 ,因此輸入 130 作為 Max 值。

  (8) 對於 X 旋轉,假設掌心是朝下的。在這種情況下, Lforearm 應能夠旋轉– 90 度使掌心朝前,在起始位置旋轉 45 °可以使掌心朝後。輸入– 90 和 45 作為 Min 和 Max 值,如圖 13-15 所示。

  [NextPage]

  提示:

  同樣,對 Translate 和 Scale 也有限制,這個限制也許有時會用到。 Maya 還有 Rotation Limit Damping 設置,該設置允許關節在旋轉限制之內或之外移動。

  圖 13-15 旋轉限制

  (9) 執行 Lshoulder 關節並鏡像該關節,此時可以得到一個雖然非常簡單,但是完整

copyright © 萬盛學電腦網 all rights reserved