摘要:以人體步行運動為研究對象,通過構造人體幾何和運動模型,引入輔助關節角將插中原理與已有運動控制的方法結合起來,提出一種新的方法自動靈活地控制每個周期下的人體步行的姿態#65377;最后通過仿真證實了該方法的可行性#65377;
關鍵詞:運動控制; 計算機動畫; 插中; 輔助關節角
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)10-0203-03
0引言
計算機動畫主要包括表情動畫和骨架動畫#65377;人體運動控制屬于骨架動畫,它通過控制人體骨架姿態來表現人體運動#65377;人體骨架姿態是由各個關節的位置和關節旋轉角度惟一確定,對人體步行姿態進行控制,就是通過控制生成每個周期下關節位置和旋轉角度值來確定該周期下的幀姿態,連續周期下的幀姿態序列最終構成動畫片斷#65377;
計算機動畫主要研究模型設計#65380;運動控制以及動畫真實感圖形等,其中運動控制是承前接后的關鍵#65377;建立角色的模型是動畫制作的基礎,采取合適的運動控制方法是動畫制作的核心,生成逼真的動畫是目標#65377;如今主要的運動控制方法包括關鍵幀技術#65380;運動捕獲和基于物理的方法[1~5]#65377;
關鍵幀方法由有經驗的動畫師給定關鍵幀,然后通過純幾何的方法插值生成中間幀,最終生成動畫幀序列#65377;這種方法使用簡單,但關鍵幀中的姿態不能與真實的角色運動相匹配,動畫的真實感較差#65377;運動捕獲方法通過對角色運動的直接捕獲來制作動畫,制作的動畫真實感好#65380;效率高;缺點是生成動畫的角色與真實角色不匹配可能導致一定程度的失真#65377;基于物理的方法包括運動學方法和動力學方法,運動學方法如今在關節動畫和人體動畫中應用較為廣泛#65377;正向運動學方法能根據角色運動過程給定各個關節角度,從而設置關鍵幀姿態,最后插值生成動畫幀序列#65377;這種方法在模型簡單時能較真實反映角色運動過程,當角色具有多自由度時,就需要有經驗的動畫師來設置各個關節角度,效率較低#65377;逆向運動學方法是先確定末端位置,再結合運動約束求解各個關節角度#65377;這種方法能夠在給定末端位置的情況下自動確定多個關節角度,但在角色自由度多的情況下,解的個數多,較難確定最符合實際物理運動的解#65377;動力學方法分析人體受力情況,能逼真地反映人體在力的作用下的運動過程,但在應用過程中對力和力矩控制較難[6,7]#65377;上述方法各具優缺點,如何綜合它們的優點生成逼真的動畫是一個新的研究方向#65377;
1人體幾何模型和運動模型
1.1人體幾何模型
人體是一個復雜的關節運動結構,它有上百個自由度,一般采取層次建模方法建模#65377;首先建立人體骨架層次模型,再在此基礎上建立肌肉層和皮膚層,不同的層次在人體運動控制中有著不同的功能,對骨架層的控制能夠很好地反映人體的運動姿態,對肌肉層和皮膚層的控制能較逼真地反映出人的外部特征[8~12]#65377;本文根據人體步行運動特征建立人體步行幾何棍棒模型,整個模型由頭部#65380;軀干#65380;上肢#65380;下肢構成#65377;步行過程中上肢肘關節夾角一般不變,所以在模型中簡化,如圖1所示#65377;
1.2人體運動模型
人體骨架是由關節以及關節之間的骨骼連接而成,人體運動將關節與骨骼連接起來#65377;通過對運動過程中的關節點定位就可以確定人體的運動姿態#65377;
為了明確人體運動過程中關節之間以及關節與骨骼中間的連接關系,建立人體關節骨骼連接圖,如圖2所示#65377;以人體腰關節為根節點,建立運動控制坐標系#65377;定義人體脊柱所在軸線為中心線,骨骼與中心線的空間夾角作為人體步行運動的控制參數#65377;
2人體步行控制方法
正向運動學通過計算股關節和膝關節的夾角來確定人體腿部姿態,逆向運動學在給定末端點位置的情況下,通過各種約束計算關節夾角[13~20]#65377;人體運動的約束包含人體運動的物理規律,本文方法將人體步行運動規律數據通過運動捕獲的方法提取出來,結合正向運動學方法生成人體步行運動姿態#65377;
如圖3所示,該方法首先建立人體步行輔助模型,選取合適的控制參數;然后根據實際給出的運動速度,插中生成每個周期下的參數值,確定步行輔助幀姿態;再根據步行運動規律計算出膝關節位置/夾角,生成步行幀姿態;最后將插中生成的每個幀提取出來構成動畫幀序列#65377;在幀姿態的生成過程中加入了運動因素,所以能逼真地反映出人體步行運動的過程,且幀的選取#65380;編輯靈活#65377;
2.1建立人體步行輔助模型
為了最終生成人體步行姿態,首先建立人體步行輔助模型,以方便對人體步行姿態進行初步控制,在此基礎上再生成完整的人體步行姿態#65377;人體棍棒模型一般選取關節夾角作為控制參數,在這里選取骨骼與定義的中心線的空間夾角作為控制參數#65377;如圖4所示,虛線部分表示輔助腿部模型,它與人體上半身構成人體步行輔助模型,由控制參數向量(α#65380;β#65380;η#65380;θ)決定人體步行輔助姿態#65377;
人體腿部在步行過程中的姿態,一般由腿部和中心線的夾角δ以及膝關節處的夾角χ來確定#65377;本文采取新的方式來確定腿部姿態,輔助構造人體股關節與腿部踝關節的連線,它與中心軸構成的夾角定義為輔助關節角,對人體膝關節進行控制#65377;這樣在運動捕獲中能方便地獲取運動數據,對數據之間的聯系進行挖掘#65377;人在步行過程中輔助關節角θ有規律地變化,且與大腿和人體中心線的夾角δ存在函數關系#65377;基于此,文中通過計算插中每個周期下角θ的值來確定角δ的值,最終確定膝關節的位置,避免了對膝關節夾角的直接獲取,同時通過兩個夾角θ#65380;δ對人體姿態控制顯得更加簡單靈活#65377;
2.2插中輔助幀姿態控制參數
插中方法就是將人體步行運動速度因素單獨提取出來,建立各個姿態控制參數與角速度#65380;角加速度之間的關系#65377;這樣將角色的速度因素作為控制參數來控制中間幀的生成,使得每個周期下幀的選取靈活,且更加符合人體實際運動過程#65377;傳統參數關鍵幀方法通常通過純幾何線性插值選取每個周期下的控制參數,不能反映出人體運動所具有的運動學規律#65377;
3仿真
為了驗證本文方法的可行性,以MATLAB作為算法的仿真平臺,實現對人體步行運動控制進行仿真#65377;圖6(a)顯示出人體步行幀姿態側視圖,在一個場景中給出人體步行姿態的連續10幀;(b)給出單獨每個幀的側視姿態圖#65377;圖7(a)顯示在人體步行幀姿態前方斜視圖;(b)給出單獨每個幀的姿態圖#65377;
從仿真結果可以看出,該方法將人體運動因素作為控制參數應用到幀姿態的生成過程中,能靈活生成反映人體運動規律的幀姿態#65377;
4結束語
本文基于插中原理和其他運動控制方法,將人體步行運動的速度因素從人體控制參數分離出來,結合關節角和輔助關節角控制真實地反映人體步行運動過程#65377;構造的輔助關節角對膝關節進行控制,能方便捕獲人體步行運動規律,且能更加靈活地控制人體步行姿態,提高了動畫師對中間幀的設置和調整的效率#65377;當人體骨架大小改變時,本文方法依然簡單適用,在運動編輯方面有較好的應用前景#65377;同時,此方法可以在多關節肢體動畫的控制上加以拓展應用,這將作為未來的研究方向#65377;
參考文獻:
[1]MAGNENAT T N, THALMANN D. Motion control of syntheticactors: an integrated view of human animation[C]//Proc of Mechanics, Control and Animation of Articulated Figures. Cambridge: MIT Press, 1989.
[2]THALMANN D. Human modelling and animation, Eurographics’93 StateoftheArt Reports[R].1993.[3]HEGRON G, PALAMIDESE P, THALMANN D. Motion control in animation, simulation and visualization[J]. Computer Graphics Forum,1989,8(4):347-352.
[4]XIAO Zhidong, ZHANG J J, BELL S. Control of motion in character animation[C]//Proc of the 8th International Conference on Information Visualisation. Washington, DC:IEEE Computer Society, 2004:841-848.
[5]MOLET T, HUANG Zhiyong ,BOULIC R, et al. An animation interface designed for motion capture[C]//Proc of Computer Animation Conference. Geneva: IEEE Press, 1997:77-85.
[6]金小剛,鮑虎軍,彭生群.計算機動畫技術綜述[J].軟件學報,1997,18(4):241-251.
[7]徐孟,孫守遷,潘云鶴.虛擬人控制技術研究[J].系統仿真學報,2003,15(3):338-346.
[8]洪炳镕,賀懷清.虛擬人的步行和跑步運動控制方法的研究[J].計算機應用研究,2000,17(11):1519.
[9]楊鋒,袁修干.基于舒適度最大化的人體運動控制[J].計算機輔助設計與圖形學學報,2005,17(2):267-272.
[10]楊長水,王兆其,高文,等.個性化虛擬人體模型骨架生成方法[J].計算機輔助設計與圖形學學報,2004,16(1):67-72.
[11]沈行軍,孫守遷,潘云鶴.從運動捕獲數據中提取關鍵幀[J].計算機輔助設計與圖形學學報,2004,16(5):719-723.
[12]羅忠祥,莊越挺,劉豐,等.基于視頻的人體動畫[J].計算機研究與發展,2003,40(2):269-276.
[13]FIORE D F, SCHAEKEN P, ELENS K, et al. Automatic inbetweening in computer assisted animation by exploiting 2.5D modelling techniques[C]//Proc of Computer Animation.[S.l.]: IEEE Computer Society, 2001:192-200.
[14]ALEXANDER K. Computer aided inbetweening[C]//Proc of the 2nd International Symposium on Nonphotorealistic Animation and Rendering. Annecy:[s.n.], 2002:3-5.
[15]BURTNYK N, WEIN M. Interactive skeleton techniques for enhancing motion dynamics in key frame animation[J]. Communications of the ACM, 1976,19(10):564-569.
[16]YU J. Inbetweening for computer animation using polar coordinates linear interpolation, research report 90/R23[R]. Glasgow: Department of Computer Science, University of Glasgow, 1990.
[17]ANTON F, MIOC D, FOURMIER A. 2D image reconstruction using natural neighbour interpolation[C]//Proc of the 8th International Conference on Computer Graphics and Visualization in Central Europe. Plzen City:[s.n.], 2000:263-269.
[18]NEBEL J C. Keyframe interpolation with selfcollision avoidance[C]//Computer Animation and Simulation’99.[S.l.]: Springer Computer Science, 1999:77-86.
[19]NEBEL J C. Keyframe animation of articulated figures using autocollisionfree interpolation[C]//Proc of the 17th Eurographics UK Conference. Cambridge:[s.n.], 1999.
[20]BARTELS R H, HARDOCK R T. Curvetocurve associations in splinebased inbetweening and sweeping [J]. Special Issue on ComputerAided Geometric Design, 1989,8(4):261-371.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”