MAYA動畫教程:暴龍角色骨骼設(shè)置
在開始這個教程之前,我們先來分析一下當(dāng)前層級骨骼的走向,在這個例子中,暴龍的盆骨是骨骼層級的最高層,它是所有骨骼的父級骨骼。
在確定了骨骼的層級走向之后,我們首先來用joint tool工具建立盆骨。建立一個新的層命名為bone,然后給它標(biāo)一個不同的顏色。確認(rèn)bone層被選擇,切換到Animation 模塊,選擇頂部菜單menu -> skeleton -> joint tool 或者選擇工具行的joint tool 工具。
當(dāng)鼠標(biāo)指針變成“+”后,在盆骨的位置上點擊建立joint,點擊幾下建立一個尾巴的骨骼。按enter鍵完成。
4.打開hypergraph超級圖表,察看建立的關(guān)節(jié),選擇第一個關(guān)節(jié)重命名為pelvis.pelvis它為于整個層級列表的頂部即最高層。
5.按y鍵返回以前的工具,從盆骨pelvis開始建立關(guān)節(jié)到頭部,注意在正確的位置脖子關(guān)節(jié),在建立IK手柄之前,可調(diào)整各個關(guān)節(jié)的位置。
6.打開hypergraph能夠發(fā)現(xiàn)有兩個關(guān)節(jié)連。
7.重命名剛才建立的關(guān)節(jié)鏈里的關(guān)節(jié)為backbone shoulder joint 和neck joint,然后我們設(shè)置兩個骨骼的父子關(guān)系,pelvis為父級,使后建立的關(guān)節(jié)變成暴龍的脊柱組織。用中間將backbone骨骼拖向pelvis盆骨,或者選擇backbone接著按SHIFT鍵選擇盆骨,按P鍵進(jìn)行父級連接。
8.在hypergraph中,盆骨始終在骨骼層級列表的最高層。如果不是,檢查一下重做,要不以后會出錯的。
到側(cè)視圖中,看骨骼的連接,盆骨位于它們的中央。
10.在前示圖中確信骨骼位于暴龍的中央,如不是選擇盆骨按w鍵移動到位,你能夠注意到,當(dāng)僅僅選擇盆骨移動的時候,整個骨骼組織全都移動了,這是因為盆骨位于整個骨骼層級的最高層。
11.ok我們開始建立剩下的骨骼。
12.父級新建的骨骼到盆骨關(guān)節(jié)。
13.用同樣的方法建立腿的骨骼,沖命名為Lt_leg, knee, ankle, and toes 也可是自己喜歡的任意的名字。移動左腿骨骼到正確的位置上。
14.鏡像左腿建立右腿骨骼,-> skeleton -> mirror joint option選擇軸向為yz。
15.然后父級兩腿骨骼到為完成的骨骼上。
16.用同樣的方法完成所有的骨骼設(shè)置。
在 超級列表中, pelvis 盆骨位于最頂層。
為了使盆骨節(jié)點很容易選擇,選擇, pelvis 盆骨然后選擇-> Display -> object component -> Selection Handles 來顯示盆骨的手柄,然后選擇Component mode,選“+”
從盆骨關(guān)節(jié)出選擇盆骨關(guān)節(jié)手柄,遠(yuǎn)離盆骨關(guān)節(jié)也能夠移動它,這樣在工作中我們跟方便操作一些。
使用關(guān)節(jié)自身的軸,顯示關(guān)節(jié)自身的軸向,選擇關(guān)節(jié)然后Display -> object components -> Local Rotation Axes
我們看見關(guān)節(jié)自身的軸向已經(jīng)顯示,y軸向下是我們想要的。但是當(dāng)我們調(diào)節(jié)關(guān)節(jié)適配模型的時候,y軸沒有骨骼那樣長來適配,在旋轉(zhuǎn)骨骼的時候非常麻煩,這是我們不愿意看到的。
因此我們需要調(diào)整y軸,我們需要一個MEL 命令來幫我們實現(xiàn)。鍵入joint -e -oj yxz -zso -ch在命令窗口,你能夠編輯yxz到xyz,它能使軸向朝下來適配骨骼.它能夠保存這個命令到你的工具箱里或者用中間拖也行。
用另外一個命令Mel command :select -hi,她幫助我們選擇所有的骨骼,保存這些命領(lǐng)導(dǎo)你的工具箱里,這些東西非常有用。
1.pick拾取盆骨應(yīng)用select -hi命令,在層級列表中選擇所有的骨骼。然后選擇Display -> object components -> Local Rotation Axes顯示所有的關(guān)節(jié)旋轉(zhuǎn)軸。
當(dāng)骨骼背選擇的情況下,應(yīng)用joint -e -oj yxz -zso -ch命令,來適應(yīng)關(guān)節(jié),檢查關(guān)節(jié)的得定位情況,每個關(guān)節(jié)的軸向都不一樣。現(xiàn)在骨骼已經(jīng)建好了,下一步開始建立IK。
1.先給暴龍的左腿設(shè)置關(guān)節(jié),我們需要關(guān)閉一些骨骼上面的軸向設(shè)置來限制它的不必要活動范圍。選擇一個關(guān)節(jié)打開屬性編輯器(CTRL+A),關(guān)閉你認(rèn)為不需要的一個或兩個軸向。
2.然后我們將建立IK,選擇IK工具skeleton -> IK handle tool 或直接從工具面板上選擇。
在IK工具面板IK Handle tool option上,轉(zhuǎn)換Current Solver to ikSCsolver.
3.確認(rèn)工具被選擇,點擊想應(yīng)用IK的左腿關(guān)節(jié)
4.你將注意IK手柄節(jié)點出現(xiàn)在超級列表中,重起個名字。按Y鍵返回到以前的工具,然后建立兩個腳趾的IK手柄。為左腿建立了三個IK手柄。
現(xiàn)在能夠用IK手柄移動骨骼,撤銷移動返回導(dǎo)以前的狀態(tài)。OK,選擇盆骨關(guān)節(jié),你會發(fā)現(xiàn)左腿跟著移動,我們希望她停留在地上,我們要增加locators來控制它。
5.建立a locator 并點擊V鍵激活點的撲捉,然后用中間拖the locator 到heel joint,然后建立另外兩個locator,用同樣的方法放置 locator到toe1 and toe 2。給這些the locators重起名字,然后父級它們到IK上。
現(xiàn)在盆骨在四周移動,左腳停留在地上
6.用同樣的方法用到右腿
7.用spine IK給她的tail尾巴,這個工具非常的有用比如尾巴,蛇等軟體骨骼。
選擇Skeleton -> IK Spine Handle Tool,span的值設(shè)為1,在這個曲線上有四個點,太多的點將使動畫沉悶。
當(dāng)spine IK 建立之后,系統(tǒng)建立一個曲線來控制尾部的運動。在Pick Masks 上面選擇物體類型,確定選擇Select by Type: Curve 選擇曲線,然后右擊選擇cvs點,僅僅選擇第二個點,因為第一個點是根部得點,父級它們到 locators 使cvs點更容易被選擇。
8.選擇第二個cv點 選擇deform -> create cluster面板,選select relative 然后create,你會發(fā)現(xiàn)cv點旁邊有一個c,用同樣的方法作起它的點。
在超級圖標(biāo)中你會發(fā)現(xiàn)cluster nodes 已經(jīng)建立
下面將顯示clusters selection handle ,以被更容易選擇。
9.選擇clusters 然后-> Display -> object components -> selection handles確認(rèn)在 Pick Mask 上選擇 by Component type: Handles在窗口選擇clusters,你會發(fā)現(xiàn)“+”(selection handle變?yōu)辄S色,移動它們遠(yuǎn)離關(guān)節(jié))
現(xiàn)在切換到Select by Object type: handles模式,然后選擇clusters?| handles移動它們。
在以后的動畫中我們將要用到他們。選擇Pelvis joint 并且向前移動,Cluster handles 沒有在它后面,修改它。群組 the cluster handles,并且選擇 Groups ,父系到盆骨,選擇Pelvis joint 并且再次移動它,Cluster handles 出現(xiàn)在了列表下面。
ok,現(xiàn)在我們用spine IK 完成尾巴的設(shè)置,下面用IK or FK 來設(shè)置arm。方法同上省略
下面我們用maya中的Add Attribute 的功能增加新的屬性給我們的骨骼設(shè)置,并且用Set Driven Key 來控制它們。在開始下面的工作以前,我們先清除前面的工作。
1.選擇盆骨關(guān)節(jié) 打開Window -> General Editor -> Channel Control.。
在我們進(jìn)行皮膚捆綁之前,先將teeth and gum 父級連接到 respective joints上,因為teeth and gum 不需要進(jìn)行變形動畫。
在父即連接之后 隱藏teeth and gum。
1.再開始之前,我們先選擇所有的幾何體造型,刪除它們的創(chuàng)建歷史,以免再以后的變形中出錯。選擇Edit -> Delete All by Type -> History
2.確認(rèn)腳色造型背選擇,按shift鍵選擇暴龍骨骼層即列表中的pelvis joint's selection handle ,然后選擇Skin -> Bind Skin ->Smooth Skin option
Bind to: Complete Skeleton
Bind Method: Closest Joint
Max influences: 2
Dropoff Rate: 4
然后點擊Bind.
3.選擇關(guān)節(jié)并移動它們看看使不是正確
從上圖看出 我們需要修改Smooth Skin bind的重力weight,用Paint Smooth Skin weight tool,Skin ->Edit Smooth Skin ->Paint Skin Weight 在它的面板上有不同表面上的paint weight values 。我們用角色的原始造型進(jìn)行皮膚捆綁,如果移動了IK handle那么腳色捆綁就不能進(jìn)行。選擇你認(rèn)為合適的幾何造型paint,然后調(diào)整Stamp Profile value 然后開始paint weight。
角色設(shè)置完成,你也可以用其它的方法完成你的動畫。
----結(jié)束----
高亮顯示要的屬性通道,點擊move使他們不顯示
2.打開Modify-> Add Attribute 把attribute name 命名為 Jaw,Data Type set to Float, Minimum=0, Maximum=10, Default=0. Then O.K。
現(xiàn)在我們在Channel Box設(shè)置Jaw's attribute ,新的屬性已經(jīng)出現(xiàn)在盆骨關(guān)節(jié)中。
下面我們用Set Driven Key 來連接Jaw's attribute
設(shè)置Set Driven Key 功能非常強大,它能夠通過一個通道屬性來控制另外一個通道屬性,它在動畫控制中非常有用。
1.確認(rèn)盆骨被選擇,選擇Animate -> Set Driven Key -> Set option 打開Set Driven Key 窗口。
Jaw's value 0 (Min) 設(shè)置為0,我們將設(shè)置它的值為10。鍵入pelvis joint's Jaw 屬性值為10,Jaw joint's Rotate Z value為-30。
現(xiàn)在來測試Jaw attribute屬性,在pelvis joint中選擇Jaw attribute ,在透視圖中用中鍵左右拖揣,你會注意到the jaw 下巴逐漸張開。這只是一個簡單的例子,通過控制一個屬性來控制另外一個屬性,你可以在你的工作中增加其他的屬性來控制別的屬性,用來更好的控制動畫。下面捆綁角色到骨骼上去。