MAYA動畫教程:制作Kitty貓的角色設(shè)置
目標(biāo):
1.學(xué)習(xí)簡單模型通過使用包裹變形器,來控制復(fù)雜模型進(jìn)行動畫的方法
2.學(xué)習(xí)一種有利于動畫的角色設(shè)置方法(略)
內(nèi)容:
Setup Intro
Translation&Orientation
Toe Roll
Spline Handles
一.Setup Intro
在這個教程,我們將為一個小貓建立IK設(shè)置、控制器,并且進(jìn)行綁定。
第一步是建立一個模型,這里的是NURBS模型,當(dāng)然你也可以建立一個細(xì)分面的模型。
MODELING
建立一些曲線環(huán),移動它們直到象下圖所示的那樣(我沒說過這是個建模教程)。
放樣上面的曲線,成為下圖的形狀。在縫合的地方有些粗糙,但是之后我給它賦予毛發(fā)后就不是問題了。
SKINNING
建立一套骨架然后在上面設(shè)置IK鏈。(我在它的脊背上使用spline IK,在腿上建立ikRPsolves,為尾巴的每一個骨節(jié)建立大量的小IK。)
現(xiàn)在,我們準(zhǔn)備給骨骼綁上皮膚。但是由于我不喜歡在擁有很多控制點(diǎn)的NURBS物體上進(jìn)行編輯,我們就建立一個簡單的Polygon參考物體(看上圖所示),然后將這個參考物體綁
在骨架上。這種方法只需要較少的點(diǎn)進(jìn)行編輯,所以綁定工作就比較容易。
然后只要用wrap變形器(包裹變形器)將NURBS物體與這個參考物體聯(lián)系起來,這樣就完成你的任務(wù)了。
這種綁定方法之“酷”在于:我擁有一個虛擬物體,我可以用這個數(shù)據(jù)量很小的參考物體代替我的數(shù)據(jù)量很大的NURBS物體進(jìn)行動畫(看下文),這樣動畫工作較快。
我甚至可以將NURBS模型unwrap(卸載包裹變形器),對NURBS模型進(jìn)行修改。然后重新進(jìn)行wrap(包裹)操作,而避免了不得不對NURBS模型重新進(jìn)行刷權(quán)重的操作工作,因?yàn)闄?quán)重
已經(jīng)刷在參考物體上了(簡單的Polygon物體)。
CHARACTER CONTROLS
現(xiàn)在,你就可以做你一直盼望的事情了:角色設(shè)置!我們準(zhǔn)備做些復(fù)雜的工作了。
二.Translation and Orientation Controlls
正如上圖你所見到的,我們用曲線來對角色進(jìn)行控制。曲線不會被渲染而且比IK更容易選擇,你可以用它們獲得比IK更多的控制。我們在下文就會看到。
現(xiàn)在,讓我們開始進(jìn)行Translation Control和 Orientation Control的設(shè)置。這種方法就如對手和手臂進(jìn)行控制一樣,用一個控制器放在手腕上,我可以用它來移動整個手臂,而
且通過旋轉(zhuǎn)它來移動手掌。同樣,在這只小貓上我也要對它的頭進(jìn)行這樣的控制,這樣它可以旋轉(zhuǎn)它的頭也可以壓低它的肩膀。這個控制器就是上圖中被選中的綠色曲線。
Translation Control
?。保┰谀P鸵晥D窗口,將曲線的捕捉到骨節(jié)上(比如象手腕等的骨頭處)。
?。玻┰诔瑘D里,使曲線成為這個骨節(jié)的子物體,(請看上圖所示)。重要的是這個曲線應(yīng)該在IK effect(那個帶紅點(diǎn)虛線的東西)的上一級。
3) 把這條曲線的變換通道進(jìn)行凍結(jié)操作。這樣可以避免你在動畫時出現(xiàn)“瘋狂”的數(shù)值。J
?。矗K handle設(shè)置為曲線的子物體。現(xiàn)在你有了Transformation的控制,下面我們做Rotation的控制:
Orietation Control
5)將一個Locator設(shè)置為曲線的子物體,同樣將Locator的位置捕捉到相同的骨節(jié)點(diǎn)上。
?。叮┯肔ocator對用于旋轉(zhuǎn)的骨骼(比如手掌)進(jìn)行方向約束。
三.Toe Roll
Toe Roll(腳尖滾動)也用相似的方法完成。這種設(shè)置方法在“Learning Maye3”書中被用于各種地方,只不過我用Locator代替了骨節(jié)。我喜歡這種方式,因?yàn)槲野l(fā)現(xiàn)骨節(jié)太丑陋了
。L
由于IK是獨(dú)立于角色的層級的,你可以只做一次基本的設(shè)定,然后需要時將它導(dǎo)入任何場景,稍微調(diào)整一下就可以用了。
為了繼續(xù)我們的教程,請下載Toe Roll setup設(shè)定文件,或者參考上圖,自己理解完成這個設(shè)置。但是你要在其中為toe roll進(jìn)行 Set Driven Key的設(shè)置。
在你將你下載的設(shè)定文件導(dǎo)入場景中后,
?。保┯肎lobalScale節(jié)點(diǎn)來縮放它,然后將footControll節(jié)點(diǎn)捕捉移動到你的小貓的IK joint位置上。
2)將Locator捕捉移動到你的骨架位置上,就如下圖所示(因?yàn)榇嬖趯蛹夑P(guān)系,順序很重要)。
在你進(jìn)行第一步footControll節(jié)點(diǎn)捕捉之后,hell locator應(yīng)該自動處于正確的位置了。正如下面圖解所示,Point_IK locator和hell處于同一位置,如果你的骨架與上圖不同,
你應(yīng)該將Point_IK locator移動到你的IK handle的位置上。
?。常┯肙rient_ankle Locator和 Orient_ball Locator對你的小貓骨架的ball joints 和 ankle joints進(jìn)行方向約束。
4)用Point_IK locator對你的小貓的IK handle進(jìn)行點(diǎn)約束。
5)因?yàn)槟阋獎赢嫷氖乔€而非locator,請將hell locator(在層級頂部) 設(shè)置為模板化(Template)。
四.Spline Handle Controlls
在這里我們要做的是,先建立一個spline IK,在上面建立一些cluster來控制它。然后,將“曲線控制器”與這些cluster相聯(lián)系,然后用曲線來進(jìn)行動畫制作。其中有技巧的地方
是,將cluster與骨骼層級相結(jié)合,從而避免出現(xiàn)奇怪的問題。
1)在你的spline IK上需要動畫的所有的CVs點(diǎn)設(shè)置cluster。
?。玻┰诤线m的地方建立曲線控制器。給它們改容易記憶的名字(在這個例子里,我給一個曲線控制器取名為“ShoulderControll”,如果拼寫錯誤,請?jiān)彙#?br />
?。常┦?ldquo;曲線控制器”成為你的骨骼層級中Spline IK curve的子物體。
?。矗榱朔奖汶S后進(jìn)行得動畫工作,對“曲線控制器”的transformations通道盒進(jìn)行凍結(jié)操作。
?。担┰诔瑘D中選擇“Options->display->shape nodes”,然后打開cluster shape節(jié)點(diǎn)的屬性編輯器。在"weightedNode" 欄,鍵入你的“曲線控制器”的名稱。
?。叮┮矊luster設(shè)置為你的骨骼層級中Spline IK curve的子物體。就象上圖所示那樣。
當(dāng)你在場景中有大量的cluster時(你肯定會的),它們看起來就象下圖所示的那樣。
五.最后
最后要做的一件事情是:The hips(臀部)。這相當(dāng)容易,但是我最好提一下為好。
它們的設(shè)置應(yīng)該象下圖所示那樣(一般是這樣的,你建立一個“曲線控制器”,然后將帶有層級的骨骼“粘”在控制器下面,使控制器來控制骨骼進(jìn)行動畫。)
如果你希望你的臀部相對于肩膀獨(dú)立地進(jìn)行旋轉(zhuǎn)運(yùn)動(可以達(dá)到那種搖擺舞的運(yùn)動效果),你可以加上下面的表達(dá)式。
注意:我將這個表達(dá)式加在一個肩部曲線控制器下的Locator上,這樣我不會在對肩部曲線控制器進(jìn)行動畫時,陷入困境(正如我們在第一節(jié)中知道的)。表達(dá)式如下:
shoulderLocator.rotateX = hipsCurve.rotateX * -1;
shoulderLocator.rotateY = hipsCurve.rotateY * -1;
shoulderLocator.rotateZ = hipsCurve.rotateZ * -1;
?。希?,就這樣了,學(xué)習(xí)開心。