萬盛學電腦網

 萬盛學電腦網 >> 圖文處理 >> MAYA教程 >> Maya—FBIK系統研究和使用方法介紹

Maya—FBIK系統研究和使用方法介紹

   FBIK——FullBodyIK:全身反向動力學系統,是maya7.0後新加入的骨骼系統。雖然它是motionBuilder骨骼系統的精簡版,但功能依舊強大。新版本的Maya除了改進FBIK和Maya動畫模塊的結合,在外觀上也有了一些變化(骨骼效應器的標記由原先的線框變成了實體小球)。

Maya—FBIK系統研究和使用方法介紹  三聯
Maya—FBIK系統研究 腳本之家 MAYA動畫教程

  FBIK系統可快速的完成二足和四足骨架的綁定,且操作方便靈活。要使用FBIK系統,首先要了解它的幾個特點:

  1.FBIK是通過核對層級或骨骼名稱進行解算器生成的。

  2.骨骼的初始Pose應盡量是T造型(手臂骨骼應是平行於地面),朝向必須是Z軸正向,腳掌骨骼應和地面形成夾角而不是平放,膝蓋間關節角度應小於180度。當然,四足角色的手臂骨骼和腿部是一樣的。具體可參考Visor中的范例。

Maya—FBIK系統研究 腳本之家 MAYA動畫教程

  3.新的Maya版本中,為了規范骨骼層級的名稱,已經去掉了傳統層級的命名,直接采用FBIK的命名方式。而層級名稱中,有兩個比較特殊: LabelArm和LabelLeg。使用這兩個名稱,將會自動將所選骨骼的子級按順序自動命名。例如對肩膀骨骼執行LabelArm,就會出現Shoulder,Elbow,Hand……直到最後一個子骨骼。

  4.可以對FK骨架和反應器設置動畫關鍵幀,但不應對原骨架設置。

  5.FBIK系統中,IK和FK模式在於交互預覽時區別不大,使用它們的不同在於動畫關鍵幀之間的解算效果:IK是以直線計算效應器間的路線,而FK則是弧線。

  6.FBIK系統中一個重要的功能就是Pin(固定)。Pin不是約束,你所看到的效果只是交互的過程,必須對反應器設置動畫關鍵幀才能看到真正的動畫效果。

  7.FBIK效應器由於內置復雜連接,初始位置常常非零,在動畫數值上的操作會比較棘手;在使用過程中,效應器偶爾會出現無法通過撤銷操作而返回原位的情況,因此需要使用GoToStancePose功能。8.fbik效應器可增加多個輔助效應器和輔助軸心,實現靈活的關節控制。

  【fbik的創建基礎】

maya—fbik系統研究 腳本之家 maya動畫教程

  創建fbik系統,首先角色的關節或關節層級必須使用規范的命名。

  fbik有四種關節:basejoints(基本關節),rolljoint(旋轉關節),auxiliaryjoints(輔助關節),accessory and additional joints(附加關節)。基本關節是角色骨架中的主要關節,嚴格對應fbik的規定名稱,如臀部,脊椎,頭部,膝蓋,腳踝,肩膀,手肘,手腕;

  旋轉關節主要用於輔助創建真實的關節扭曲運動,如肩膀和手肘之間的關節,手肘和手腕之間的關節,臀部和膝蓋之間的關節,膝蓋和腳踝之間的關節;輔助關節用於制作細小的關節分支效果,如脖子,肩膀領口處,手掌,手指,腳掌,腳趾;附加關節並不包含於fbik系統中,它們僅用於額外的運動,如辮子,尾巴用的關節鏈。基本關節是必須的,其他的關節可根據需要進行選擇。

  jointlabels(關節層級)並不是場景物體的名稱,而是一個標簽分類,用於識別效應器應當控制的關節效果;jointnames(關節名稱)則是關節物體的實際名稱。

maya—fbik系統研究 腳本之家 maya動畫教程

  "關節層級"和"關節名稱"實際上並沒有太大的聯系,它們是在增加fbik effector(fbik效應器)時可選的識別方法:bylabel或者byname。"關節層級"在使用上較為簡單方便,但無法使用更復雜的輔助關節,如"旋轉關節"和部分"輔助關節";"關節名稱"即可使用特定的fbik效應器,同時在蒙皮權重繪制時易於識別所選關節。不過通過bylabel的方式,建立basejoints(基本關節)加auxiliaryjoints(輔助關節)的組合足以應付多數情況。

  以下圖表是規范的關節層級和關節名稱,以及系統識別它們後所生成的效應器名稱。

maya—fbik系統研究 腳本之家 maya動畫教程
maya—fbik系統研究 腳本之家 maya動畫教程
maya—fbik系統研究 腳本之家 maya動畫教程

  #表示數字,如1,2,3,4……

  此外,如collar(領口),chest(胸部),wrist(手腕),ankle(踝關節)等此類非標准名稱,fbik不會對其進行識別,也就是不會增加相應的效應器來控制這些骨骼。

  接著上文

  相對於傳統的骨骼綁定,fbik對於骨骼關節的朝向細節並沒有嚴格的要求,因為它是通過特殊的fbik解算器來計算結果的,就像內核布料系統的內核節點一樣。fbik系統是基於命名創建的,這裡我選擇較為實用的label方式進行。

  1.創建角色骨架。在正交視圖中創建符合角色動畫需要的骨架,可以有兩個選擇:手動繪制或者從visor庫中將fbik范例的骨架拖入場景後刪除附帶的fbik解算器。

maya—fbik系統研究 腳本之家 maya動畫教程

  2.顯示關節標簽。在此更正上篇內容中的小錯誤:jointlabel直譯是"關節標簽"的意思,不過為了更好的理解名稱的結構,因此我習慣稱它為關節層級,於是就忽略了它的字面意思。

  顯示關節標簽有兩種方法:displyanimationjointlabels;skeletonjointlabeling。不過 disply的功能只相當於jointlabeling菜單下的toggleselectedlabels,需要先選擇關節。我直接執行 showalllabels顯示所有關節標簽。

maya—fbik系統研究 腳本之家 maya動畫教程

  3.添加關節標簽。如果是手動創建的骨架,關節標簽會顯示為none,也就是沒有;如果是fbik范例,關節名稱和關節標簽都已經具備。

  (1)將addjointlabels菜單拖拽至一邊,先選擇骨架z軸正向的右邊關節,添加labelright;

maya—fbik系統研究 腳本之家 maya動畫教程

  (2)選擇手臂(腿部)的主關節,添加labelarm(labelleg),系統將會自動賦予每個子關節一個標簽;

maya—fbik系統研究 腳本之家 maya動畫教程

  (3)如果不是按范例骨架那樣的關節層級,出錯的標簽就需要手動添加,手臂和腿部的結構應該是(從高到低):collar(領口)-shoulder(肩膀)-elbow(手肘)-hand(手腕)-finger(手指);hip(臀部)-knee(膝蓋)-foot(腳踝)-toe(腳趾)。

  *labelfingerbase和labeltoebase比較特殊,可以理解為手掌和腳掌部位,五指(趾)的根部,在添加這兩個標簽時是不會顯示後綴base的。

maya—fbik系統研究 腳本之家 maya動畫教程

  (4)脊椎的層級關系是:root(根部:盆骨)-spine(腰部脊椎)-spine(胸部脊椎)-none(胸腔)-neck(頸部)-head(頭部)。

maya—fbik系統研究 腳本之家 maya動畫教程

  (5)為了在bindskin(蒙皮)後繪制權重時對關節的識別,此時可對右邊的關節進行命名,格式可參考列表。當然,你也可以跳過這一步,只要你覺得後期操作沒太大影響。

maya—fbik系統研究 腳本之家 maya動畫教程

  4.鏡像關節。此時右邊的關節已經包含了關節標簽,為了省事,不用對左邊的關節添加標簽;如果創建了完整的骨架,此時應刪除左邊的手臂和腿部關節,選擇右邊關節,執行skeletonmirrorjoint(鏡像關節)。

maya—fbik系統研究 腳本之家 maya動畫教程
copyright © 萬盛學電腦網 all rights reserved