Blender 3D︰從入門到精通/骨骼的使用

維基教科書,自由的教學讀本


骨骼用於移動模型並使其可造型。如果你尚未準備好學習這點並希望繼續簡易建模,請跳過本節教程到下一章節。

骨骼是一種對動畫角色尤為重要的建模工具。骨骼讓你能夠通過比每次都試圖重排頂點更簡易的方式移動角色的肢體。

其基本原理是讓每根骨頭同某些頂點相關聯,當處於姿態模式時,這些頂點會隨骨頭姿勢變化而變動。一旦你學會其要領,使用骨骼是相當容易的事情,不過就像 Blender 中的很多東西一樣,乍一看可能會讓人氣餒。不用怕——這就是教程所要的!

模型[編輯]

骨骼只做其分內的事——實際上渲染的時候它們是不可見的!所以,我們需要一個模型一同使用它。用前邊教程創建一個簡單模型,如果還沒有創建的話,然後我們要開工了。

本節教程里,我們將使用一個人體協調模型,不過骨骼可以用於幾乎任何體型。同樣的想法可以應用於貓、蜘蛛等等。

安放骨骼[編輯]

注意:這裡只是示範下給物體添加骨骼的基礎。到 advanced animation 頁來看更詳細的指南

首先,我們需要一個模型來安放骨骼!本節教程里,我們會使用一個人形模型。我使用基於 Blender 3D: Noob to Pro/Modeling a Simple Person 第一個教程製作的快捷模型。它相當的塊狀,但這不是一個精細的教程。當然,你可以在這裡找到一個為你預建好的模型。


OK,首先,這是我們的裝備,一個「塊狀仔」站在平面上。

現在,我們給塊狀仔安放一些骨骼!物體模式(Object Mode)下,在空格鍵 -> 添加(Add)-> 骨架(Armature)。

我們所看到的是一個骨架,這是一根骨頭。現在,我們需要把骨頭放進塊狀仔里!移動並且旋轉骨頭以使其位於小人的胸部。如果你建的骨頭尺寸不合適,那麼通過移動骨頭的一端來改變它的大小:切換到編輯模式(Edit Mode),選擇骨頭的一個端點,然後通過 GKEY 來移動它(你也許會想縮放骨頭,但是這樣會弄亂)。如果是在實體模式(solid mode)下,你可能需要切換回線框模式(wireframe mode)——簡單的按 ZKEY 來在它們之間切換。

以第一根骨頭的一個端點為起點,創建第二根骨頭,確定下你是在編輯模式(Edit mode),選擇第一根骨頭的端點,然後按 EKEY。第二根骨頭出現了,其起點是第一根骨頭上剛才所選的那個端點。移動滑鼠在終點的位置按 LMBENTER 或者 SPACE。現在,按需要拉伸(EKEY)並縮放骨頭以放進它的身體!確定下是在編輯模式(Edit mode),然後單擊骨頭一端的粉色的點來進行像拉伸這樣的操作。這些操作同頂點的操作非常類似,可以拉伸、旋轉、平移以及細分。你完成的成果應該看起來是這樣的:

現在,要的事情簡單了些,我們將為骨骼命名。例如,我建的骨骼命名為 RT_Forearm、Left_Forearm、RT_Upper_Arm 等等。選擇骨頭然後按 F9 來顯示編輯面板(Editing panel),在其中「骨架骨骼」("Armature Bones")字面板左上框中編輯名字,在下圖截屏中以紅色箭頭指示的。(新手注意:當你為骨骼命名是請記住如果你是從前面看小人,那麼你的左側是小人的右側。為便於命名,通過 CTRL+NUM1 切換視圖到從後面看小人。)

現在我們需要設置骨骼為網格的父對象。返回物體模式(Object Mode)然後選擇盒狀仔。這時再選擇骨架並按 CTRL+PKEY(新手注意:在定義誰是父對象時選擇的順序很重要,所以你不可以同時選擇兩個物體),會彈出菜單,選擇骨架(Armature),然後選 Create From Bone Heat(blender 2.46 以前版是 Create From Closest Bones)。選擇骨架然後進入姿態模式(Pose Mode)(CTRL+TAB)(你需要選擇骨架來使這一選項出現!)。試著小幅移動骨頭,如果你之前操作都正確,當你移動骨骼的時候,網格會跟著動!如果沒有,放大下骨骼使其在網格內更相匹配,放大骨骼直到它們合乎你的意願。(如果你平移/旋轉骨骼的時候沒反應,閱讀以下關於調整骨骼封套的註解)。現在有骨骼了,你可以把盒狀仔放置各種不同的姿勢而不用移動每一個獨立的頂點了。

注意:Create From Bone Heat 在同骨架相關聯的子對象中創建頂點組,這是根據骨骼的姿勢和尺寸自動完成了。要麼,如果你不希望 Blender 自動分配組的話,選擇 Name Groups 代替 Create From Bone Heat,然後手動分配組。手動頂點組要在編輯模式(Edit Mode)[編輯模式(Edit Mode)F9連結與材質(Links and Materials)標籤]然後使用分配(Assign)移除(Remove)按鈕。「分配」向組內添加頂點(不會移除當前未選中的任何成員),而相反地「移除」會移除選中的頂點。頂點可以分配到多個組。

回應前文注釋,如果得當地分配頂點到骨骼,它們會移動,無論骨骼是否在軀殼內部。(當然,這會影響它們如何變形的)。我猜測你的錯誤是創建軀殼並且(更重要地是)指定父對象到骨架,而骨架在軀殼的外面,這導致 Blender 根本沒有分配頂點到任何骨頭。你可以通過編輯軀殼來檢查這點,在連結與材質(Links and Materials)標籤選擇頂點組,然後點選擇(select)按鈕。這樣會使關聯到骨頭的頂點高亮。如果什麼都沒有選中,那就意味著之前沒有分配任何頂點組——這時你需要按照上文所述手動分配它們。

如果這沒起作用,選擇編輯(Edit)或者姿態(Pose)模式,骨頭(或骨骼)選擇封套顯示(Envelope display)模式[F9 -> 骨架(Armature)-> 封套(Envelope)],然後按 Alt+S 並增加其擴大其區域,以包含所有應該受骨頭影響的面。

最後,這是一個如何通過骨骼移動盒狀仔的例子:

  新手:有人能告诉我如何单独移动骨骼吗?
  在物体模式(object mode)我可以移动骨骼的整体,然后小人跟着走。
  在物体模式(object mode)我不能单独选择一根骨头。
  在编辑模式(edit mode)我可以单独选择一根骨头,并且小人不会有任何相随的变化。
  在物体模式(object mode)选择骨架,然后在姿态模式(pose mode)就可以了。
  新手2:我在姿态模式(pose mode)骨骼不能旋转或者平移。。。。之后,
  我发现问题所在了:“只移动物体中心”("Move Object Centers Only")按钮[就在
  旋转/缩放轴心(Rotation/Scaling Pivot)按钮的右边]。