国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

三維人體模型動(dòng)態(tài)仿真技術(shù)的研究與實(shí)現(xiàn)

2019-09-10 18:25陳小滿

陳小滿

摘要:三維人體模型動(dòng)態(tài)仿真技術(shù)已經(jīng)成為當(dāng)前計(jì)算機(jī)動(dòng)畫領(lǐng)域的研究熱點(diǎn),基于此,本文提出了一種運(yùn)動(dòng)捕捉數(shù)據(jù)驅(qū)動(dòng)的三維人體模型動(dòng)態(tài)仿真方法.首先,對(duì)運(yùn)動(dòng)捕捉數(shù)據(jù)ASF/AMC文件進(jìn)行解析,提取運(yùn)動(dòng)信息;其次,建立包括骨骼層和皮膚層的雙層人體模型;最后,通過骨骼蒙皮技術(shù)實(shí)現(xiàn)三維人體骨骼層和皮膚層的綁定,并采用所提取的運(yùn)動(dòng)數(shù)據(jù)驅(qū)動(dòng)人體模型運(yùn)動(dòng).仿真結(jié)果表明,本文所提出的方法能較好的實(shí)現(xiàn)三維人體動(dòng)態(tài)仿真效果.

關(guān)鍵詞:三維人體模型;動(dòng)態(tài)仿真;運(yùn)動(dòng)捕捉數(shù)據(jù);綁定

中圖分類號(hào):TP391.9? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1673-260X(2019)04-0055-04

1 引言

三維人體模型動(dòng)態(tài)仿真技術(shù)是三維動(dòng)畫的核心技術(shù),被廣泛應(yīng)用于影視、游戲、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)等領(lǐng)域中[1].通過精密儀器捕捉到的真實(shí)人體運(yùn)動(dòng)的數(shù)據(jù),驅(qū)動(dòng)三維虛擬人體模型做動(dòng)態(tài)仿真,實(shí)現(xiàn)高度逼真的動(dòng)態(tài)效果,帶來強(qiáng)烈的視覺沖擊和震撼感受,以滿足人們?nèi)找嬖鲩L(zhǎng)的精神需求.

三維動(dòng)畫經(jīng)過長(zhǎng)期的發(fā)展和演變可以分為四種[2,3],分別是桿狀動(dòng)畫,頂點(diǎn)動(dòng)畫、蒙皮動(dòng)畫和多層模型動(dòng)畫.桿狀動(dòng)畫和頂點(diǎn)動(dòng)畫都是單層模型,桿狀動(dòng)畫只有骨骼層,頂點(diǎn)動(dòng)畫只有皮膚層,都有一定的局限性.蒙皮動(dòng)畫使用骨骼皮膚模型,包含兩層模型,分別是骨骼層和皮膚層,將骨骼和皮膚綁定在一起,通過骨骼運(yùn)動(dòng)帶動(dòng)皮膚變形.多層模型動(dòng)畫則是在皮膚層與骨骼層之間添加肌肉層和脂肪層,需要通過更復(fù)雜的控制和約束進(jìn)行動(dòng)畫制作.蒙皮動(dòng)畫和桿狀動(dòng)畫相比,模型更具有真實(shí)感;和頂點(diǎn)動(dòng)畫相比,內(nèi)存消耗小,具備交互性,并且控制層次高便于修改動(dòng)畫數(shù)據(jù);和多層動(dòng)畫相比,控制機(jī)制更簡(jiǎn)單,技術(shù)更容易被推廣.隨著應(yīng)用中真實(shí)感和交互性的需求越來越高,蒙皮動(dòng)畫技術(shù)成為了目前被廣泛應(yīng)用的三維動(dòng)畫技術(shù)和主要的發(fā)展方向[4].

基于此,本文將重點(diǎn)研究蒙皮動(dòng)畫的三維人體模型動(dòng)態(tài)仿真技術(shù),使用運(yùn)動(dòng)捕捉數(shù)據(jù)驅(qū)動(dòng)虛擬人體運(yùn)動(dòng).首先,解析運(yùn)動(dòng)捕捉數(shù)據(jù),得到人體骨架模型和運(yùn)動(dòng)數(shù)據(jù);其次,創(chuàng)建三維人體模型;最后,重點(diǎn)研究骨骼皮膚綁定技術(shù),實(shí)現(xiàn)三維人體動(dòng)態(tài)仿真.

2 運(yùn)動(dòng)捕捉數(shù)據(jù)的解析

本文采用Carnegie Mellon University圖形實(shí)驗(yàn)室提供的運(yùn)動(dòng)捕捉數(shù)據(jù),分為ASF和AMC兩種文件,ASF文件用于存放骨架信息,AMC文件用于存放運(yùn)動(dòng)數(shù)據(jù)[5].將骨架信息和運(yùn)動(dòng)數(shù)據(jù)分開的優(yōu)點(diǎn)是一個(gè)ASF骨架可以運(yùn)用不同的AMC運(yùn)動(dòng)數(shù)據(jù),實(shí)現(xiàn)不同的動(dòng)作,而不必每個(gè)AMC數(shù)據(jù)都自帶骨架信息,減少了數(shù)據(jù)的冗余.

2.1 ASF數(shù)據(jù)解析

ASF是一個(gè)層次定義的文件,包括文檔信息描述、根節(jié)點(diǎn)描述、骨骼信息描述、關(guān)節(jié)層次結(jié)構(gòu)定義等,如表1所示:

在ASF文件中,根節(jié)點(diǎn)(root)定義了人體骨骼模型在世界坐標(biāo)系中的位置和朝向,而骨骼模型結(jié)構(gòu)中其他所有的骨骼(或關(guān)節(jié)點(diǎn))位置信息等都是在根節(jié)點(diǎn)的位置和朝向的基礎(chǔ)之上獲取的,骨骼本身不帶平移信息,只有旋轉(zhuǎn)信息,此外還定義了旋轉(zhuǎn)的自由度(即旋轉(zhuǎn)的范圍).最后在:hierarchy中規(guī)定了骨骼模型的層次結(jié)構(gòu).

2.2 AMC數(shù)據(jù)解析

AMC是以幀序列存儲(chǔ)的運(yùn)動(dòng)姿態(tài)信息,一幀表示一種運(yùn)動(dòng)姿態(tài),依照ASF中定義的骨骼的自由度給出相應(yīng)的數(shù)值,包括根節(jié)點(diǎn)的平移和旋轉(zhuǎn)信息以及各關(guān)節(jié)點(diǎn)的旋轉(zhuǎn)信息,如表2所示:

在一套完整的運(yùn)動(dòng)過程中,假設(shè)有m個(gè)幀序列,則運(yùn)動(dòng)數(shù)據(jù)可以采用以下方式表達(dá)出來:

式中,fi表示第i幀的運(yùn)動(dòng)數(shù)據(jù),ti0表示第i幀中根節(jié)點(diǎn)的平移信息,ri0表示根節(jié)點(diǎn)的旋轉(zhuǎn)信息,rij表示第i幀中第j段骨骼的旋轉(zhuǎn)信息.

ASF/AMC運(yùn)動(dòng)捕捉數(shù)據(jù),能夠?qū)⒛P椭械墓趋佬畔⑴c運(yùn)動(dòng)信息相互分離,使一個(gè)骨骼信息與多個(gè)運(yùn)動(dòng)信息匹配,這種方式能夠降低運(yùn)動(dòng)數(shù)據(jù)在存儲(chǔ)過程中需要的空間,進(jìn)而提升空間的應(yīng)用效率.

3 三維人體建模技術(shù)

本文采用三維建模軟件創(chuàng)建人體模型,一個(gè)完整的人體模型包括模型和貼圖兩個(gè)部分.

在建造一個(gè)人體模型時(shí),需要對(duì)人體的結(jié)構(gòu)特征有細(xì)致的觀察和深入的了解,由于人體模型最終不是為了靜態(tài)的演示,而是動(dòng)態(tài)的表演,所以還需要掌握人體的運(yùn)動(dòng)特點(diǎn),在制作模型時(shí),需要合理布線,符合人體的運(yùn)動(dòng)需要.由于本文使用的是真實(shí)人體的運(yùn)動(dòng)數(shù)據(jù),因此設(shè)計(jì)人體結(jié)構(gòu)時(shí)采用與真人比例一致的模型.首先,制作頭部,創(chuàng)建一個(gè)多邊形立方體,修改立方體的分段方便調(diào)整頭部的大型比例,調(diào)整立方體,制作出模型的大體輪廓.使用編輯網(wǎng)格的工具組劃出五官的位置和比例,并逐步調(diào)整和細(xì)化.其次,制作軀干部分,創(chuàng)建一個(gè)多邊形立方體,調(diào)節(jié)分段,調(diào)整輪廓.再次,制作四肢,方法和軀干大體相同,都是從基本的幾何體開始,先調(diào)整大型再逐步加線細(xì)化.最后,將這幾個(gè)部分縫合,縫合時(shí)需注意是否有遺漏的頂點(diǎn),縫合后需保證布線整齊一致.

創(chuàng)建出多邊形模型后,還需要為模型的表面繪制紋理.要使三維的立體模型轉(zhuǎn)換為二維的平面圖像,就需要將模型的表面通過裁剪等手段展開,映射到二維紋理貼圖坐標(biāo)(即UV)上.展開的基本原則是,在UV拉伸較小的時(shí)候,盡量保證面的完整性.在選擇邊切開的時(shí)候,盡量選擇比較隱蔽或在鏡頭中不常出現(xiàn)的部位.在進(jìn)行模型UV劃分時(shí),各個(gè)部分之間不要相差過大.在測(cè)試紋理不會(huì)發(fā)生明顯的變形下展平模型表面,渲染出UV模板,導(dǎo)入繪圖軟件中,繪制人體表面紋理,包括面部、皮膚和衣服等.繪制完成后,將貼圖賦給之前創(chuàng)建的模型,圖1是人體模型的渲染圖.

4 人體模型動(dòng)態(tài)仿真技術(shù)

在進(jìn)行人體模型動(dòng)態(tài)仿真時(shí),主要通過骨骼層帶動(dòng)皮膚層進(jìn)行變形,以此呈現(xiàn)出人體模型的運(yùn)動(dòng)效果.因此,首先需要?jiǎng)?chuàng)建皮膚層的骨骼,然后通過蒙皮技術(shù),實(shí)現(xiàn)骨骼和皮膚的綁定,最后將運(yùn)動(dòng)捕捉數(shù)據(jù)映射到模型的骨骼上,以骨骼關(guān)節(jié)點(diǎn)的運(yùn)動(dòng),帶動(dòng)皮膚頂點(diǎn)的運(yùn)動(dòng),呈現(xiàn)出多樣化的運(yùn)動(dòng)效果,完成人體模型的動(dòng)態(tài)仿真.

4.1 人體模型的骨骼創(chuàng)建

前文已使用三維建模軟件創(chuàng)建了三維人體皮膚模型,還需進(jìn)一步創(chuàng)建與皮膚模型相匹配的骨骼模型.由于本文采用的是ASF/AMC運(yùn)動(dòng)捕捉數(shù)據(jù),運(yùn)動(dòng)數(shù)據(jù)AMC要映射到人體模型的骨骼上來驅(qū)動(dòng)皮膚模型的運(yùn)動(dòng),因此,要根據(jù)ASF文件中定義的骨骼層次結(jié)構(gòu)創(chuàng)建人體模型的關(guān)節(jié)點(diǎn),保證關(guān)節(jié)點(diǎn)的數(shù)量和名稱都是一致的,以便進(jìn)行姿態(tài)同步.

首先,在皮膚模型的中心添加根節(jié)點(diǎn),作為骨骼模型的起始點(diǎn),并向上依次繪制背、胸、頸、頭的關(guān)節(jié),根據(jù)創(chuàng)建的先后順序,關(guān)節(jié)和關(guān)節(jié)之間會(huì)自動(dòng)形成層級(jí)關(guān)系,以符合運(yùn)動(dòng)骨骼的層次結(jié)構(gòu);其次,以肩關(guān)節(jié)和胯關(guān)節(jié)為起始,依次繪制手和腿的關(guān)節(jié);再次,將肩關(guān)節(jié)和胸關(guān)節(jié)連接,使肩關(guān)節(jié)成為胸關(guān)節(jié)的子節(jié)點(diǎn).同理,將胯關(guān)節(jié)和根節(jié)點(diǎn)連接,使胯關(guān)節(jié)成為根節(jié)點(diǎn)的子節(jié)點(diǎn).最后,以根節(jié)點(diǎn)為原點(diǎn)鏡像關(guān)節(jié)點(diǎn),這樣,便得到了完整的人體皮膚骨骼結(jié)構(gòu),如圖2所示.

4.2 皮膚骨骼綁定

骨骼和皮膚在初始狀態(tài)下是重合的,但是要在運(yùn)動(dòng)過程中使骨骼驅(qū)動(dòng)皮膚變形,就需要對(duì)骨骼和皮膚進(jìn)行綁定.綁定時(shí)需考慮兩個(gè)問題,第一個(gè)是不同關(guān)節(jié)點(diǎn)對(duì)皮膚頂點(diǎn)變形產(chǎn)生的影響值,即為權(quán)重;第二個(gè)是如何使用骨骼驅(qū)動(dòng)模型,即為蒙皮算法.

權(quán)重指的是運(yùn)動(dòng)過程中不同關(guān)節(jié)點(diǎn)對(duì)皮膚頂點(diǎn)變形產(chǎn)生的影響值.目前權(quán)重的綁定方法主要有:最近距離法,在層次中最近法,和熱量貼圖算法.最近距離法只考慮皮膚頂點(diǎn)和關(guān)節(jié)點(diǎn)的距離,而不考慮骨骼本身的層次結(jié)構(gòu),容易使骨骼和皮膚的關(guān)系產(chǎn)生錯(cuò)亂,例如左腿的運(yùn)動(dòng)會(huì)帶動(dòng)右腿的皮膚產(chǎn)生不合理的拉伸變形.在層次中最近法加入了對(duì)骨骼模型中層次結(jié)構(gòu)的判定,可以將人體的不同部位大體區(qū)分開來,減少一些不必要的錯(cuò)誤,改進(jìn)最近距離法的不足.熱量貼圖算法[6]模擬熱量擴(kuò)散原理,熱量會(huì)隨著與熱量源的距離增加而減少,距離關(guān)節(jié)點(diǎn)近的權(quán)重值高,距離關(guān)節(jié)點(diǎn)遠(yuǎn)的,權(quán)重值低.此外,距離越遠(yuǎn),衰減越快,這樣使得權(quán)重更接近影響的對(duì)象,限制了小權(quán)重的擴(kuò)散,減少錯(cuò)誤的影響范圍.熱量貼圖算法是目前自動(dòng)綁定效果最好的一種算法.

權(quán)重值確定了骨骼和皮膚的關(guān)聯(lián)系數(shù),而如何使用骨骼驅(qū)動(dòng)模型,即為蒙皮算法.蒙皮算法是通過骨骼的權(quán)重值和骨骼的變換矩陣將初始姿態(tài)下的皮膚頂點(diǎn)位置變換到新的位置.現(xiàn)在主流的蒙皮算法是線性混合蒙皮算法,算法容易實(shí)現(xiàn),但其缺陷是容易在關(guān)節(jié)處產(chǎn)生“塌陷”和“打結(jié)”現(xiàn)象.這種缺陷是由于線性混合的過程中原本剛性的變換在混合后可能會(huì)變?yōu)榉莿傂缘?,不能保持皮膚體積的恒定.因而需要對(duì)線性混合蒙皮算法進(jìn)行改進(jìn),使得模型能夠平滑變形.一種改進(jìn)方法是對(duì)三維坐標(biāo)的變換矩陣進(jìn)行球面線性插值[7],從前文分析得知,只有根節(jié)點(diǎn)有平移變換,其余的關(guān)節(jié)點(diǎn)只有旋轉(zhuǎn)變換,因此對(duì)旋轉(zhuǎn)變換進(jìn)行插值.根據(jù)皮膚點(diǎn)與關(guān)節(jié)點(diǎn)的權(quán)重值計(jì)算皮膚點(diǎn)對(duì)應(yīng)的旋轉(zhuǎn)變換,然后通過根節(jié)點(diǎn)的平移和骨骼結(jié)構(gòu)中各層級(jí)的旋轉(zhuǎn)得到皮膚點(diǎn)更新后的實(shí)際位置.由于不再對(duì)結(jié)果點(diǎn)的位置進(jìn)行插值,因此可以保持皮膚的體積恒定.另一種方法是使用對(duì)偶四元數(shù)[8],對(duì)偶四元數(shù)具有剛性變換的性質(zhì),可以將皮膚頂點(diǎn)的全局變換矩陣轉(zhuǎn)換為對(duì)偶四元數(shù),用權(quán)重與對(duì)偶四元數(shù)進(jìn)行線性混合,將線性混合得到的新的對(duì)偶四元數(shù)進(jìn)行單位化,最后將單位化的對(duì)偶四元數(shù)轉(zhuǎn)換為變換矩陣,更新頂點(diǎn)位置,即可滿足剛性變換,解決“塌陷”和“打結(jié)”的缺陷.

4.3 基于AMC三維人體運(yùn)動(dòng)仿真

骨架結(jié)構(gòu)是連接人體模型及運(yùn)動(dòng)數(shù)據(jù)的橋梁,使用運(yùn)動(dòng)捕捉數(shù)據(jù)驅(qū)動(dòng)人體模型,首先必須得保證模型的骨架和運(yùn)動(dòng)數(shù)據(jù)的骨架在結(jié)構(gòu)上是一致的.另外,由于虛擬人是根據(jù)動(dòng)畫或者游戲的內(nèi)容而設(shè)定的角色,具有千姿百態(tài)的外形,相應(yīng)的骨骼比例也是各不相同,要使運(yùn)動(dòng)數(shù)據(jù)能夠更好地驅(qū)動(dòng)虛擬角色,就必須使得虛擬人模型的骨架和運(yùn)動(dòng)數(shù)據(jù)自定義的骨架相匹配.

根據(jù)前文解析的ASF/AMC文件制作插件,將運(yùn)動(dòng)骨骼和運(yùn)動(dòng)數(shù)據(jù)導(dǎo)入三維動(dòng)畫軟件Maya,在Maya中得到運(yùn)動(dòng)骨骼和相應(yīng)的幀序列動(dòng)作.使用HumanIK將運(yùn)動(dòng)骨骼映射到模型骨骼上,使模型骨骼具有運(yùn)動(dòng)姿態(tài).HumanIK是反向運(yùn)動(dòng)學(xué)解算器和重定目標(biāo)工具,可以對(duì)場(chǎng)景角色全身和身體部位的關(guān)鍵幀進(jìn)行設(shè)置和操控,也可以在不同的角色之間對(duì)動(dòng)畫進(jìn)行重定目標(biāo).具體做法是,在HumanIK中新建骨架定義,將運(yùn)動(dòng)骨骼中的各個(gè)層次關(guān)節(jié)賦給角色控制器相應(yīng)的部位.完成骨架定義后,將角色控制器的骨架賦予模型的骨骼,即完成了映射,使模型骨骼與運(yùn)動(dòng)骨骼姿態(tài)同步,并通過骨骼和皮膚的綁定帶動(dòng)模型皮膚頂點(diǎn)變化,實(shí)現(xiàn)了基于AMC三維人體運(yùn)動(dòng)仿真.圖3截取了行走運(yùn)動(dòng)中四個(gè)關(guān)鍵幀的運(yùn)動(dòng)姿態(tài)來展現(xiàn)三維人體動(dòng)態(tài)仿真的效果.

5 結(jié)束語

隨著三維動(dòng)畫仿真的應(yīng)用范圍不斷的擴(kuò)大,如何提高仿真的效果成為相關(guān)領(lǐng)域關(guān)注的重點(diǎn)問題.通過運(yùn)動(dòng)捕捉設(shè)備采集真實(shí)的人體數(shù)據(jù),從而驅(qū)動(dòng)三維人體模型實(shí)現(xiàn)動(dòng)態(tài)仿真成為研究的熱點(diǎn).本文對(duì)運(yùn)動(dòng)捕捉數(shù)據(jù)ASF/AMC文件進(jìn)行了詳細(xì)分析,建立了具有骨骼層和皮膚層的雙層人體模型,并實(shí)現(xiàn)了骨骼和皮膚的綁定,在此基礎(chǔ)之上采用運(yùn)動(dòng)捕捉數(shù)據(jù)驅(qū)動(dòng)了人體模型,實(shí)現(xiàn)了動(dòng)態(tài)仿真.本方法的提出,在一定程度上提高了三維人體動(dòng)態(tài)仿真效果,為三維人體動(dòng)畫提供了一種切實(shí)可行的途徑.后續(xù)將繼續(xù)研究骨骼和皮膚的綁定算法,以解決運(yùn)動(dòng)狀態(tài)下的皮膚變形失真的問題,使得骨骼對(duì)皮膚頂點(diǎn)的控制更加平順.

參考文獻(xiàn):

〔1〕夏開建,王士同.改進(jìn)的骨骼蒙皮算法模擬皮膚變形[J].計(jì)算機(jī)應(yīng)用與軟件,2009,26(12):174-176.

〔2〕Mahoney J V, Fromherz M P. Handling ambiguity in constraint-based recognition of stick figure sketches[C]. Electronic Imaging 2002. International Society for Optics and Photonics, 2001: 89-100.

〔3〕葉大海,莊越挺,劉豐.骨粒串主導(dǎo)的自由曲面變形算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2005, 16(12):1719-1723.

〔4〕黃永坤,侯進(jìn),戚福洲.三維虛擬人皮膚變形與塌陷部位的調(diào)整[J].計(jì)算機(jī)應(yīng)用與軟件,2015(9):184 -187.

〔5〕劉賢梅.基于運(yùn)動(dòng)捕獲數(shù)據(jù)的虛擬人動(dòng)畫研究[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(8):113-114.

〔6〕Baran llya. Automatic Rigging and Animation of 3D Characters[C]// Acm Siggraph. ACM, 2007.

〔7〕Kavan L, ára J. Real time skin deformation with bones blending[J]. 2003.

〔8〕Kavan L, Collins S, O'Sullivan C. Skinning with dual quaternions[J]. Symposium on Interactive 3d Graphics and Games. ACM, 2007:39-46.

博爱县| 邯郸市| 彭山县| 谢通门县| 双流县| 诸城市| 林甸县| 绵阳市| 锡林浩特市| 杭锦后旗| 隆回县| 曲水县| 承德县| 彰武县| 广平县| 延长县| 衡东县| 内江市| 德江县| 赫章县| 吉木萨尔县| 营口市| 肃南| 平武县| 孙吴县| 嘉义市| 禄丰县| 分宜县| 抚松县| 普安县| 江阴市| 灵川县| 丰台区| 湖南省| 永宁县| 棋牌| 绥化市| 鹤岗市| 宿迁市| 紫云| 奎屯市|