三維角色動(dòng)畫設(shè)計(jì)論文
時(shí)間:2022-01-28 03:27:00
導(dǎo)語:三維角色動(dòng)畫設(shè)計(jì)論文一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
一、相關(guān)工作
在骨架提取方面,已經(jīng)有很多自動(dòng)生成骨架的方法。①②③Baran等的Pinocchio系統(tǒng)創(chuàng)造性地提出了骨架嵌入的方法。在自動(dòng)角色動(dòng)畫方面,骨架嵌入比骨架提取要好的原因是對于復(fù)雜骨架的角色,骨架提取可能會(huì)產(chǎn)生不同的拓?fù)浣Y(jié)構(gòu),這就讓使用者很難將原來有的骨架運(yùn)動(dòng)數(shù)據(jù)運(yùn)用到其中來。雖然可以通過附屬肢體模板來鑒別復(fù)雜的附屬肢體,但是由于拓?fù)浣Y(jié)構(gòu)的復(fù)雜性,自動(dòng)生成時(shí)也會(huì)產(chǎn)生各種不同的誤差。骨架嵌入相對于骨架提取的另一個(gè)優(yōu)勢就是它能夠在骨架中定義角色所需要的很多的結(jié)構(gòu)信息,這是在提取的純幾何骨架圖中難以得到的。
幾乎所有的網(wǎng)格變形技術(shù),無論是基于表面的還是基于體積的,都可以用來作為基于骨架運(yùn)動(dòng)動(dòng)畫中的對表面進(jìn)行蒙皮。④⑤不幸的是,到目前為止,這些方法都不能實(shí)現(xiàn)實(shí)時(shí)的動(dòng)畫。Baran等的線性混合蒙皮(LBS)具有簡單高效并且能夠利用GPU進(jìn)行運(yùn)算,并可以根據(jù)骨架進(jìn)行子空間變形等優(yōu)點(diǎn)。雖然在質(zhì)量上的不能夠達(dá)到很好的效果,但是它仍然成為在實(shí)踐應(yīng)用中最常用的方法。所以我們的系統(tǒng)采用該方法。⑥
二、原型系統(tǒng)設(shè)計(jì)設(shè)計(jì)過程
對于輸入的三維角色模型,我們首先嵌入骨架,然后通過定義骨骼運(yùn)動(dòng)對表面網(wǎng)格上每個(gè)頂點(diǎn)的變化的影響權(quán)值,將表面皮膚依附在骨骼上。對于不同的角色,我們建立不同的罰函數(shù)去懲罰那些我們不期望的骨架嵌入方式?;跇颖居弥С窒蛄繖C(jī)的方法求得最大邊緣解,然后對不同罰函數(shù)賦予不同的權(quán)值。用人工智能中A*啟發(fā)式的方法在指數(shù)級的搜索空間里加速尋找最優(yōu)的骨架嵌入方式。在蒙皮階段用熱擴(kuò)散方程的方法去計(jì)算骨架運(yùn)動(dòng)時(shí)每一塊骨骼對表面網(wǎng)格上頂點(diǎn)的影響權(quán)值。據(jù)骨架的變化情況,插值計(jì)算出骨架的“蒙皮”模型的各個(gè)頂點(diǎn)的位置變化。對于某個(gè)特定骨骼,“蒙皮”模型的頂點(diǎn)變換矩陣=初始姿勢的變換矩陣的逆×姿勢變換后的矩陣。另外還要考慮到一個(gè)頂點(diǎn)可能受多個(gè)骨骼運(yùn)動(dòng)的共同影響。
1.骨架嵌入
由于骨架嵌入需要將骨架重新定義大小和定位使得它能夠正確的嵌入到模型當(dāng)中,所以它能公式化為一個(gè)優(yōu)化的過程:計(jì)算關(guān)節(jié)點(diǎn)的位置和朝向使它能夠更好的適合于給定的模型。但是這個(gè)優(yōu)化是一個(gè)三維空間的問題,所以連續(xù)優(yōu)化的方法是不可行的。因此可以建立一個(gè)用頂點(diǎn)表示潛在關(guān)節(jié)點(diǎn),用邊表示獨(dú)立的骨骼的圖來簡化優(yōu)化問題。建立這樣一個(gè)圖是具有一定挑戰(zhàn)的,因?yàn)槲覀兛梢杂梦粗獢?shù)量的頂點(diǎn)和邊來表示相同模型的關(guān)節(jié)和骨架。我們在近似模型垂直等分的平面上建立中軸面,并且建立圓心在中軸面上的圓的一個(gè)特定的集合,將這些圖的圓心連接起來形成一個(gè)圖。然后使用自定義的離散的罰函數(shù)來最優(yōu)化的骨架嵌入這個(gè)圖。為了幫助優(yōu)化,在給定的骨架中可以包括一些關(guān)節(jié)點(diǎn)的額外的信息。比如說對稱的部位應(yīng)該以相同的名稱命名,又比如如果一個(gè)關(guān)節(jié)被命名為腳,那么就表示它應(yīng)該事在模型中位置最低的一個(gè)關(guān)節(jié)。由于定義的罰函數(shù)是獨(dú)立于具體的模型的,所以并沒有減弱它的通用性。
2.簡化骨架
前面的步驟建立了幾何圖G=(V,E)來表示骨架,我們需要將它嵌入到我們給定的骨架當(dāng)中。給定骨架原先是以有s個(gè)節(jié)點(diǎn)的樹的形式給出(在一般人形的骨架上會(huì)取s=18),但是如果這s個(gè)節(jié)點(diǎn)沒有經(jīng)過簡化,嵌入的優(yōu)化過程是很難處理的。因此我們需要一個(gè)簡單的骨架,所以在嵌入骨架之前,需要將骨架簡化。所有的自由度為2的關(guān)節(jié)都將被除去(比如說膝關(guān)節(jié)),關(guān)節(jié)兩端的骨骼塊被連在一起。簡化后的骨架將會(huì)只有r個(gè)連接點(diǎn)。那么骨架嵌入以后缺少某些必要關(guān)節(jié)的骨架怎么讓角色動(dòng)起來呢?我們根據(jù)未簡化骨架上關(guān)節(jié)在整條邊上的比例,重新計(jì)算出該關(guān)節(jié)在簡化骨架上的位置,然后插入到骨架中。在我們的系統(tǒng)中,簡化的骨架中r=7。簡化后的結(jié)果就是我們可以將簡化的骨架嵌入到系統(tǒng)中以最小化罰函數(shù)懲罰的對象。否則這樣的工作是很難實(shí)現(xiàn)的。
3.離散的嵌入骨架和優(yōu)化
一般不可能計(jì)算離散的嵌入方式時(shí)使罰函數(shù)最小,因?yàn)榍度氲臄?shù)量是指數(shù)級的。但是可以用類似分支定界的方法在問題的解空間樹T上搜索問題解。我們使用這樣一種方法:首先根據(jù)部分嵌入的下界估計(jì)保存優(yōu)先級隊(duì)列。然后在每一步,取出在隊(duì)列中最好的部分嵌入,將它展開,與下一個(gè)關(guān)節(jié)進(jìn)行計(jì)算,然后將結(jié)果保存在隊(duì)列中。所以,第一個(gè)被完整展開的嵌入就是最好的嵌入。為了加速算法并且盡可能少的占用內(nèi)存,如果部分嵌入有一個(gè)很高的下界,那么它將被立即拒絕并不在嵌入到隊(duì)列中。雖然這種算法在最壞的情況下依然是指數(shù)級的,但是在我們測試實(shí)際情況它都是很快的。
在骨架嵌入前將骨架進(jìn)行了簡化,省略了很多的關(guān)節(jié),比如說膝關(guān)節(jié),但簡單骨架嵌入以后,要讓角色真正的動(dòng)起來,還是需要重新插入這些關(guān)節(jié)。在這里可以通過按比列分割骨架圖中路徑最短的邊來得到。我們希望嵌入后的骨架能夠很好的滿足角色的形態(tài)比列,但是,有時(shí)候骨架并不能很好的適應(yīng)我們的角色。同時(shí),一些小的被忽略的骨骼塊并沒有被賦予正確的朝向。骨架優(yōu)化的過程就是為了解決這些問題的提出的。
4.蒙皮
我們的角色和嵌入的骨架在將皮膚依附到骨架上之前是沒有任何關(guān)聯(lián)的。骨架并不能夠驅(qū)動(dòng)角色運(yùn)動(dòng)。因此我們需要指定骨架運(yùn)動(dòng)與角色表面網(wǎng)格變化之間的聯(lián)系。雖然在這里我們可以用很多的網(wǎng)格編輯技術(shù)來進(jìn)行網(wǎng)格變形,但是我們選擇標(biāo)準(zhǔn)的LBS方法:假設(shè)表示網(wǎng)格頂點(diǎn)j的坐標(biāo),表示第i塊骨骼的變形矩陣,表示第i塊骨骼對第j個(gè)網(wǎng)格頂點(diǎn)的變形權(quán)值。LBS把j變形后的位置表示為。我們的目標(biāo)就是找到每一塊骨骼變化對所有頂點(diǎn)的影響權(quán)值。我們所期望權(quán)值有以下幾個(gè)特性:首先它應(yīng)該與網(wǎng)格的大小無關(guān),其次權(quán)值的變化應(yīng)該平滑,最后關(guān)節(jié)間兩塊骨骼的移動(dòng)寬度必須與關(guān)節(jié)到表面網(wǎng)格的距離成一定的比例。即使有一個(gè)方案能夠得到權(quán)值使得骨骼能夠滿足這些特性,但是它們很可能失敗因?yàn)樗麄兒雎粤私巧牡膸缀螌W(xué)特性。作為代替,我們用熱平衡原理來尋找權(quán)值。假設(shè)我們把角色的體積認(rèn)為是一個(gè)不占容積的熱導(dǎo)體,然后我們強(qiáng)迫骨骼i的溫度為1,而其他骨骼的溫度為0。當(dāng)熱平衡以后,我們就可以把表面上每個(gè)頂點(diǎn)的溫度值作為該骨骼對它影響的權(quán)值。
三、實(shí)驗(yàn)結(jié)果
盼盼動(dòng)畫系統(tǒng)設(shè)計(jì)時(shí)主要依照三個(gè)標(biāo)準(zhǔn):①廣泛性。適應(yīng)于盡可能多的模型。對一些結(jié)構(gòu)比較特殊,或者會(huì)產(chǎn)生歧義的模型能夠盡可能的正確嵌入骨架。②質(zhì)量。關(guān)鍵在于蒙皮的技術(shù),讓表面皮膚能根據(jù)骨架運(yùn)動(dòng)驅(qū)動(dòng)正確的位和形變,以期與視頻游戲中的模型相媲美。③性能。運(yùn)行在大多數(shù)的家用計(jì)算機(jī)上。在盼盼動(dòng)畫系統(tǒng)里對采用的模型進(jìn)行了一些簡單的限制:模型必須是全封閉的,并且是以最自然的姿勢站立,這樣能大幅度的提高骨架嵌入的準(zhǔn)確性。當(dāng)然模型需要是一個(gè)有四肢能被嵌入人體骨架的。
圖3為盼盼三維角色動(dòng)畫系統(tǒng)的一張截圖畫面。系統(tǒng)主要包括模型選取、BVH運(yùn)動(dòng)數(shù)據(jù)選取、運(yùn)行、視圖操作、工具條等功能。該系統(tǒng)的運(yùn)行環(huán)境為英特爾酷睿雙核CPU,主頻為1.73Mhz,內(nèi)存為1GB。因?yàn)榕闻蝿?dòng)畫系統(tǒng)是單線程的,所以雙核的CPU幾乎沒有什么影響。測試發(fā)現(xiàn),計(jì)算的主要消耗花費(fèi)在分離過程中距離場的計(jì)算上。
4、展望
雖然盼盼動(dòng)畫系統(tǒng)在人體動(dòng)畫領(lǐng)域取得了一定的進(jìn)展,但是它依然存在著不足,限制著它的應(yīng)用范圍。在技術(shù)方面,建立骨架圖的時(shí)候可以用橢圓來建立初始骨架圖。在應(yīng)用方面,首先它的蒙皮質(zhì)量在某些地方還可以改進(jìn),可以通過在骨架上自動(dòng)蒙皮的技術(shù)來提高質(zhì)量;其次,它的骨架中的關(guān)節(jié)與一般人體的關(guān)節(jié)有出入,不能由一般人體骨架運(yùn)動(dòng)的數(shù)據(jù)來驅(qū)動(dòng),這樣就不能很好地利用網(wǎng)絡(luò)上大量的表現(xiàn)復(fù)雜運(yùn)動(dòng)的運(yùn)動(dòng)數(shù)據(jù)。另外,盼盼動(dòng)畫系統(tǒng)依然不能夠表現(xiàn)手部動(dòng)畫、臉部動(dòng)畫這些需要細(xì)節(jié)的動(dòng)作。如果能在后期中加入這些方面的應(yīng)用,一定能夠得到更為廣泛的應(yīng)用,并且大大減少人體動(dòng)畫開發(fā)的整個(gè)周期。
注釋
①LiuP,WuF,MaW,LiangR,OuhyoungM,“Automaticanimationskeletonusingrepulsiveforcefield”,Proc.ofPacificGraphics’2003,pp.309-413.
②TeichmannM,TellerS.“Assistedarticulationofclosedpolygonalmodels.”Proc.ofComputerAnimationandSimulation’98,pp.87-102.
③KatzS,TalA,“Hierarchicalmeshdecompositionusingfuzzyclusteringandcuts”,ACMTransactionsonGraphics,2003,22(3):954-961.
④WadeL.Automatedgenerationofcontrolskeletonsforuseinanimation.PhDthesis,TheOhioStateUniversity,2000.
⑤BaranI,Popovi?J,“Automaticriggingandanimationof3Dcharacters”,ACMTransactionsonGraphics,2007,26(3):72.
⑥KryP,JamesD,PaiD,“EigenSkin:Realtimelargedeformationcharacterskinninginhardware”,Proc.ofSymposiumonComputerAnimation(SCA)’2003,pp.153-160.
摘要本文研究了怎樣把現(xiàn)有的人體運(yùn)動(dòng)數(shù)據(jù)重新定向到新的動(dòng)畫角色對象上,并實(shí)現(xiàn)了一個(gè)原型系統(tǒng)——盼盼三維角色動(dòng)畫系統(tǒng)。通過這種方法,用戶只需要從動(dòng)畫庫中選擇所需的人體運(yùn)動(dòng),便可方便地控制任意三維動(dòng)畫角色的運(yùn)動(dòng)和變形,從而重用現(xiàn)存的人體運(yùn)動(dòng)數(shù)據(jù)去控制新的角色,創(chuàng)作出一些夸張的動(dòng)畫效果。
關(guān)鍵詞運(yùn)動(dòng)重用三維角色計(jì)算機(jī)動(dòng)畫人體動(dòng)畫
熱門標(biāo)簽
三維設(shè)計(jì)論文 三維目標(biāo) 三維動(dòng)畫 三維動(dòng)畫設(shè)計(jì) 三維動(dòng)畫廣告 三維動(dòng)畫專業(yè) 心理培訓(xùn) 人文科學(xué)概論