摘要:動畫制作在人體動作的捕獲技術、運動紋理技術和運動繪圖技術方面采用運動分割的方法進行動畫類聚分析,對相關的捕捉點進行數據分析,通過拼接組成人體運動動畫。這種動畫制作方法是將每一個單獨的運動畫面進行有序排列,根據運動的趨勢與時間推算按照一定的動畫邏輯順序進行類聚分析,但這種動畫制作模式并沒有對人體運動的固定時序問題進行解決,使人體運動出現失真的情況。本文從動作單元分析的角度借用時間分析法和動態單元歸整模式,對單元人體動畫合成技術進行討論。
關鍵詞:動作單元分析;人體動畫合成;數據處理;模擬建圖
動畫合成運用動作單元分析的方法是對人體動畫合成的重要方法,首先通過采用成分分析法(PCA)對運動表現圖像進行數據切分,實現圖像從高維映射方式向低維映射空間的復制,再利用空間樣本分析對距離平面低維映射空間的分割樣本進行數據度量;之后再對分割圖像進行篩選排序,采用時間動態歸整和時間誤差平方原則進行排列,對實現畫面映射排序的部分實行數據模型轉換,建立運動趨勢發展模型,根據動畫合成的約束條件對逼真人體動畫片段進行排序合成。
1動作單元分析
動作單元分析是建立在運動捕捉基礎上的動畫合成技術,通過對人體動作趨勢進行低維分割,重新繪制動畫數據,能夠使動畫在重新映射在高維空間的時候實現三維運動軌跡模擬,使動畫“抽象”運動實現虛擬模型的構建。但由于動畫捕捉技術的工程量大,資金依賴性很強,在制作人體逼真動畫效果中還是一個需要解決的難題。另外,動畫紋理技術是通過對運動紋理的不同長度進行截取,每一條運動紋理都是一個獨立的動畫建模,這種紋理截取可以套用任意時間組合序列,根據已有的動作紋理對需要合成的動畫進行定序排列,這種合成方法需要采用建幀信號處理技術,使動畫紋理更為細節化,對人體動作動畫的合成可以有效增強其細膩感;此外還有采用數據建模的方法對動畫參數進行格式錄入,在數據序列空間模型采用PCA對數據進行高維向低維的映射,提取數據的變量可以根據動畫合成的要求對新數據進行重新編寫,它可以實現對同類動畫場景(運動)的根本性轉化,可以把籃球運動通過數據轉換在同樣動畫元素下變為足球運動,PCA維度轉移的方法同樣可以實現動畫速度變化的合成中。
在動作單元分析的過程中,需要對動作單元數據進行預處理工作,數據模型的人體構造模型可以看作是由骨架和關節連接起來的可以活動的有機整體,每一個關節連接點的坐標方位的改變會使人體基本動作和姿態出現變化。ROOT定義關節一般具有六種自由度可以選擇,ROOT坐標點在模擬空間中有3個可選擇的合理取值位置,另外3個方向是表示ROOT坐標運動趨向。關節的活動旋轉可以采用歐拉角表示,歐拉角的旋轉區間可能會有萬向鎖功能。通常數據表示會采用四位數的坐標編碼來表示關節旋轉的角度和區域指向。如果在建幀模型中對數據進行重組,每一幀的運動參數可以設為x(t),t是可移動幀數在時間方向的運動變量,則有x(t)=(p1(t)·q1(t)·q2(t)……qn(t)t,其中N表示可以運動的關節數量,p1(t)作為應變量ROOT在坐標范圍內的運動區間坐標,q1(t)∈S3,則ROOT在世界坐標的朝向可以根據公式進行定義。關節的旋轉值在空間取值中可以映射在[8,25]區間,以定義向量y(t)為定義域,可以有:y=(p1(t),log(q1(t)),……log(qn(t))t。
2運動數據趨勢成分分析
人體運動趨勢在高維空間中以向量模式進行表示,關節運動的過程中會帶動多個數據坐標域區間發生變化,如人在步行運動中,前腿向前邁出,會帶動另一條腿向上的趨勢,在關節的表現中也會有同樣的情況。如果僅僅對單一發生運動的關節坐標數據進行處理,導致聯動的一個坐標整體發生位移,但另一條腿又是一個獨立的坐標,如果不考慮到運動客觀趨勢的發生,則會使動畫發生失真。因此在利用PCA技術的同時,應該使整個人體部分被映射在低維空間中進行分割,對運動數據進行過濾和分析。
運動的數據在進行序列轉換的過程中,序列的取值相似性需要得到進一步論證。人體運動的表現形式比較豐富,在細節數據上的處理能夠反映出動畫逼真性的程度,因此在對動態數據的合成中需要整合時間歸整技術(DTW),DTW在建幀數據處理方面能夠根據時間軸的計算將非線性運動函數映射在高維空間內,并且對動態函數的相似性參照向量進行類比,使向量的運動變化保持整體變化的形態。在對人體運動的東華合成中還需要對一些重復單元進行序列組合,在提取重復序列中的基本參數是動畫合成的難點。可以充分采用時間歸整技術對運動人體的運動趨勢做動力建模,把原先分割的運動片斷以最小的幀長進行負載。
3人體動畫合成分析
對于已經提取合成的動畫單元可以根據時間軸在幀長中進行排列,對人體運動過程中的整體坐標轉移進行分布建模。動畫合成必須符合人體動力學的原理,才能使動畫制作得更為逼真,根據動畫單元的連續度量轉移,可以在連續幀之間設計過渡平滑轉移,在不懂建模動作之間確立概率轉移的關系。
首先,動作行為主體需要巨臂充分的連續性,這是動畫表現內容的序列特征表現。在通常情況下可以采用Markov鏈對逐個動畫單元構成的序列進行關系轉移;另外根據運動學理論對兩個不同動畫單元過渡平滑區間采用單元數據轉移,單元之間的片段區間可以在一定幀長內進行加載,不同單元的轉移概率具有一定的連續性規則,轉移概率P(x,y)=r1p(x,y)+(1-r1)px(x,y),r是轉移權重因數,且0≤r≤1。
在人體運動合成的基礎上,可以對逐個的捕捉數據進行重組,從而形成具有新的動作表示的新數據序列,在定義域起始單元S中,動畫合成的數據是在所有合成組合序列中尋求最優途徑進行組合排列的,因此在不加控制的基礎上,系統對于動畫數據的排列是按照動作發展趨勢進行的。
根據動作單元對人體運動的模擬合成實驗,可以利用Vicon對信息進行整合處理,幀數的總長度中需要高維空間的數據映射,基本動作單元可以根據動作需要按照不同序列進行二次重組。
參考文獻:
[1] 朱登明,王兆其.基于動作單元分析的人體動畫合成方法研究[J].計算機研究與發展,2009,46(4).
[2] 顧純剛.“運用‘動作路徑’制作動畫”教學設計[J].中國信息技術教育,2011(22).