【導言】
很多吧友都著急了,詢問什么時間研究骨骼系統?
我想問你的建模功夫過關了嗎?你的“動畫曲線”調整完全掌握了嗎?
著急學這個,也非常值得理解,對于一個自學者,總想在很短的時間掌握簡單地基礎知識,在頭腦中拼湊整個體系構架之后,然后在倒回去“細致”地去研究各個模塊。這可能也是一個好的自學方法。
一直拖著沒有編寫的原因:一方面用圖文研究骨骼系統,有點難度啊!另一方面涉及的知識廣、建模、骨骼調整、權重調整、裝配等等,截圖工作量也大啊!
前面談了約束,又研究XPRESSO這些都是為了最后研究骨骼動畫做準備,本來還想先研究“時間軸”和“角色建模”,最后再研究“骨骼系統“會更好一些,但為了應付吧友,試寫一篇基礎知識,看看反應如何?
【研究】
我感覺C4D的骨骼系統基于MAYA,有很多相似的地方,但又比其簡單而強大(個人思想)。C4D提供的角色工具,允許你自己隨意定制骨骼,而且骨骼系統還支持動力學喲。
同時,又給你提供一個“角色模塊”,讓你利用模板快速建立一套骨骼,再配合“CMOTION模塊”,無縫配合就能簡單而快速地制作角色動畫了。這就是說,只要你建立好“角色”模型,你就可以立即為它套上骨骼模板制作‘走、跑等’動畫了。太方便了。
一、計算機的骨骼系統
動物的骨骼起著對動物的支撐和保護作用。如人體的外形由骨骼、肌肉、皮膚決定,人的骨骼自身不同運動,是由肌肉帶動骨骼運動的。
而計算機圖形的骨骼系統可不是干這個用的,它的根源來自父子關系,對模型起著變形運動影響作用。模型的外形表面就是模型的“皮膚”,骨骼起著聯系和影響模型表面各個部分的作用。(可沒有支持和保護模型的作用哦)
三維軟件中的肌肉控制器,主要也是為了使角色模型在變形運動中更加逼真,控制模型表面起伏。比如制作下列的恐龍大腿,添加兩塊肌肉控制器,當骨骼帶動模型變化時,模型表面就會按照需要突出或凹下跟著變化。
二、骨骼動畫?
當你制作完成一個站立的角色模型,如果你想調整它的模型姿態,或者你想讓他“動”起來,如何處理?
三維軟件動畫分類有好多,但基本上默認是兩種模型動畫的方式:頂點動畫和骨骼動畫。
1、 頂點動畫中,每幀動畫其實就是模型特定姿態的一個“快照”,然后通過在幀之間插值的方法,得到平滑的動畫效果。
在早期的游戲中,實現三維動畫演示是通過二維圖片巧妙的組織和旋轉進行處理的,?早期的三維游戲利用較少的系統資源就實現了相當逼真三維動畫效果。隨著電腦能力的迅速增強和玩家對游戲越來越高的要求,三維動畫陣容空前強大,新出現的游戲開始采用真正的三維動畫模型。一個著名的例子是idSoftware的MD2?動畫模型.?MD2?動畫模型被應用在Quake2中,MD2?文件保存了角色動畫關鍵幀的頂點信息,游戲運行時,對兩個關鍵幀?(Keyframe)?的信息進行插值計算以得到對應時間的動畫數據.。這種動畫通常被稱為頂點動畫?(vertex?animation),它的優點是實現簡單,?所需的計算量也很少.?但它同宣傳片具有一些問題.?象是需要大量的內存,?插值計算時動畫容易產生變形,?以及不能實現游戲角色與游戲環境的交互。
2、骨骼動畫中,模型具有互相連接的“骨骼”組成的有機結構,通過改變骨骼的朝向和位置來為模型生成動畫。骨骼動畫比關鍵幀動畫要求更高的處理器性能,但同時它也具有更多的優點,骨骼動畫可以更容易、更快捷地創建。
由于頂點動畫的種種問題,?研究人員又研究出了新的方法:?骨胳動畫?(Skeletal?Animation)。骨胳動畫是一種計算機動畫技術,?它特別適合于人物和其他的脊椎動物的動畫模擬。一般來說,?被模擬的角色由兩個部分來表示.?一個部分是形成層次的一系列骨胳,?我們通常稱它為骨架(skeleton)。?另一個部分是蒙在骨架上的皮膚(skin),通過對骨架進行動畫模擬,?再利用骨胳控制皮膚變形就達到了角色動畫模擬的目的.。骨胳動畫帶來了許多好處:?較少的內存需求,?與游戲環境更好地交互等等。與頂點動畫相比,?骨胳動畫的復雜性大大地提升了.?它雖然提供了與環境交互的途徑,?但這是通過復雜的運算實現的。為了使游戲盡可能的真實,使動畫更豐富多彩,制作動畫能在成本能降低,在時間提高效率 , 游戲業者引進了運動捕捉?(Motion?Capture)?的技術,運動捕捉技術最早應該是應用在電影業里,,但到現在可能沒有任何其它行業比游戲業應用這項技術更為普遍了。
三、骨骼系統可以有效解決哪些動畫?
在學習動力學的時候,我們知道可以把模型設為剛體和柔體。實際上在研究模型動畫時,按照模型的結構也應該分為剛體動畫、柔體動畫、復合體動畫三個部分。
1、剛體動畫。剛體不變形,模型上不同部分運動都是以剛體的質心為基礎,進行平移和旋轉運動的疊加。制作可以用動力學仿真、關鍵幀動畫直接K幀、XPRESSO、各種標簽控制等方法制作。比如說鋼球運動、飛機飛行等等。
2、柔體動畫。物體本身變形,不是以質心為中心的各種運動的疊加,而是不同部分的運動是不同的,但運動又是相互影響和關聯的。比如人體的運動,身體與手臂和腿的運動是不同的,身體帶動四肢運動,運動又不同;再如魚的游動,身體每個部分運動也是不同的。
3、復合體動畫(物體由幾個相互關聯的剛體或幾個柔體組成)。模型不同的部位的運動即不相同又相互聯系,如下圖的機械手:(機械手是由幾個剛體構成)
小結:上訴三類動畫:剛體不涉及到變形,非常適合用關鍵幀制作動畫;柔體涉及到變形,非常適合用變形控制器和骨骼系統制作動畫;復合體動畫(各個部分可變性或部分變形)可以利用父子關系、約束、XPRESSO、骨骼系統來控制彼此聯系又不同的運動。
所以說骨骼系統對模型變形運動是一個好的動畫解決方案。重點用來節解決柔體變形運動和復合物體運動。
拓展:你不要認為骨骼系統是3D動畫的專屬工具,在2D動畫也廣泛使用,如Anime studio 、FLASH等都有應用,控制圖形(是shape,非mesh)變形運動。
四、IK和FK是什么意思?
對于骨骼動畫來說,有兩種設置關鍵幀方式:(用哪一種取決于你的工作需要和個人愛好)
FK正向動力學。(Forward Kinematics)調整一個姿勢,需要從根關節開始,然后順著骨骼層級依次旋轉子骨骼,每個部位的動作都需要一定的弧度,操作起來符合人體工學。
1、點擊角色--關節工具,按CTRL建立四個關節。
2、如果要把骨骼變彎曲,從關節開始,然后關節.1 ,關節.2,關節.3,逐個旋轉調整。
比如玩芭比娃娃,如果擺個造型,你必須用手去掰玩具的各個關節。芭比娃娃是靠活動各個關節來帶動下個關節的運動,比如你想調整一個手的位置,你必須依次旋轉肩膀,再轉動胳膊,最后調整手。
IK反向動力學。(Inverse Kinematisc)
調整骨骼,只需調整最后節點,其他的關節會逆著層次依次跟進。
1、還是上述的骨骼,點擊關節,右鍵浮動菜單--角色標簽--IK標簽。然后,把最末"關節.3"拖進結束欄目中。再點擊右側的添加目標按鈕,添加一個控制點(實際它是一個空物體。你在場景中,總不能點擊關節進行調整吧?)
2、點擊這個新建立的空物體---關節.3.目標,設置如下,讓它突出一些,便于操作和控制。
3、在場景中,用鼠標點擊正方體,移動它,其他的關節依次跟隨。
比如提線木偶。提線木偶是靠末關節的運動,帶動上面關節跟著運動,比如說你拉一下提線木偶的手部關節,會帶動胳膊和肩膀一起運動
小結:沒有什么時候用IK,什么時候用FK這么一說,因為人的運動一直都是FK和IK一起的作用。只要適合的場合用適合的動作就OK。再舉例,比如交警指揮馬路,就是FK的作用;比如用手推箱子,就是IK的作用。在骨骼動畫制作中,可以方便進行轉換FK和IK 。
五、什么是綁定和蒙皮?
三維軟件中,在創建的模型基礎上,為模型添加了骨骼。由于骨骼系統與模型是相互獨立的,為了讓骨骼能驅動模型產生合理的變形運動。把模型與骨骼進行關聯,發生關系叫綁定。骨骼以蒙皮控制器為中介,來控制模型的各個面。每個關節對模型的影響范圍通過權重來控制和調節。你想要改變每個關節的影響模型表面的范圍,那么你就必須“刷權重”。
蒙皮簡單地說就是:把模型上的點,匹配到骨骼上,然后用骨骼的運動帶動模型運動。
具體操作步驟:
下面舉個簡單例子:
1、在場景中建立一個圓柱,細分多一些,轉化為多邊形,刪除上下兩個面。然后菜單角色--關節工具。在正視圖模型上,按住CTRL建立三個關節點。
2、點擊“根對象”,你可以移走骨骼,模型和骨骼彼此是獨立的,互不影響。
3、點擊關節.1,旋轉它,骨骼是以父子關系為基礎的,關節.2跟著旋轉,模型沒有反應。(因為現在還沒有聯系)
4、選中所有關節點和圓柱模型,點擊菜單角色--命令--綁定。在圓柱下面出現一個“蒙皮”變形器,一個"權重“標簽。骨骼和模型建立了聯系。
5、點擊關節.1,旋轉它,發現模型也發生了變形,產生了效果。
6、雙擊”權重“標簽。蒙皮是骨骼(關節組成)與模型之間的聯系橋梁,骨骼中的每一個關節對模型表面的影響程度是由權重決定的。你可以通過權重工具對影響范圍和程度進行更改。
7、點擊關節,你會發現它的控制范圍。
8、點擊關節.1 ,這是它的控制范圍。
9、重新刷關節權重。
10、重新刷關節.1權重。
11、在旋轉關節.1,發現轉折過度自然了。
以上為了說明問題,有點“粗”。
以下還必須寫:
六、什么是簇?
..................
七、什么是裝配 RIG?
...............................
【感悟】
? ? ? ? 1、記得小學的時候,有很多數學難題,用小學的思維真是非常難做。等到了中學用二元一次方程很容易解決這些問題;高中有些很難的數學題,用大學的微積分也非常容易解決。不是時間問題,而是換了一種數學解決的方法而已。
在三維軟件中,對于即變形又運動的模型動畫,如果用常規的動畫制作方法,真的很難。比如魚的游動。魚模型每個部分運動不一樣 ,身體還發生扭曲變形;再比如植物的擺動,翻動的書頁等。這類動畫難度雖然很大,但利用骨骼系統很容易解決。
? ? ? ? ?2、學習建議:最好是在“角色”建模過關以后,再學習完“動畫曲線”,掌握動畫運動規律,再去研究骨骼系統及其動畫制作。否則你學完之后,只能用這套系統處理正方形和球組成的模型,有什么意思?不掌握物體的動畫運動規律,你用骨骼系統制作的動畫,運動起來一定很“獨特”,怪怪的感覺。所以,建議大家初步掌握骨骼系統,一定翻回去筑牢建模功夫。再認真學習動畫規律,多多觀察生活中的物體運動特點,做到心中有數。
推薦幾本書吧:
聲明:
1、 以上不是教科書的知識,是我自己學習之后的總結。看不看、信不信由你,以免誤導。
2、為了快速編寫,在網上搜索許多相關圖片,使圖文并茂而生動、學習研究,沒有商業用途。