鄭利平, 周乘龍, 程亞軍, 陳 星
(合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009)
虛擬角色頭佩附件自動(dòng)組合算法
鄭利平, 周乘龍, 程亞軍, 陳 星
(合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009)
在虛擬角色仿真過(guò)程中,虛擬人物外觀多樣性很大程度上取決于角色模型本身的差異性。而角色模型的差異性主要體現(xiàn)在兩方面:模型的高矮胖瘦以及模型穿戴的頭佩附件。為體型各異的角色模型自動(dòng)穿戴合適的附件可大大增強(qiáng)仿真的真實(shí)感。基于此問(wèn)題,提出一種頭佩附件自動(dòng)組合算法,首先為角色模型自動(dòng)嵌入骨骼,其次為附件模型添加簡(jiǎn)單骨骼并選取骨骼的錨點(diǎn),再通過(guò)附件自動(dòng)組合算法快速生成組合角色模型,最后通過(guò)嵌入的骨骼驅(qū)動(dòng)該組合模型運(yùn)動(dòng)。實(shí)驗(yàn)證明該方法簡(jiǎn)單快捷,能夠?yàn)槎鄻踊慕巧P妥詣?dòng)穿戴頭佩附件,提高角色模型的多樣化程度。
頭佩附件;自動(dòng)組合;角色模型;自動(dòng)嵌入骨骼
虛擬角色仿真廣泛應(yīng)用于影視作品、3D動(dòng)畫(huà)、游戲創(chuàng)作等領(lǐng)域。人物角色的真實(shí)性主要體現(xiàn)在模型本身的高矮胖瘦以及模型的附件方面。目前人物角色的多樣性研究主要集中在角色模型本身,可通過(guò)模型本身體型的差異性來(lái)體現(xiàn)人物角色的多樣性。而事實(shí)上這種多樣性只是模型多樣性的一部分,實(shí)驗(yàn)證明讓虛擬角色擁有不同的附件,特別是頭佩附件能夠更加顯現(xiàn)人物角色外觀的多樣化,例如給模型添加不同的帽子、眼鏡等附件,能夠大大增加人物角色的真實(shí)感和多樣性。
由于帶附件的虛擬角色模型復(fù)雜度比較高,建模師需要花費(fèi)大量時(shí)間且進(jìn)行細(xì)致地處理才能設(shè)計(jì)出真實(shí)感較高的模型。如果對(duì)群體動(dòng)畫(huà)進(jìn)行仿真,建模師需要手動(dòng)建模各種不同的角色模型,這種復(fù)雜度和時(shí)間代價(jià)是相當(dāng)巨大的。如果能夠分別建模角色模型以及附件模型,將角色模型與附件模型進(jìn)行自動(dòng)組合生成帶附件的角色模型,可降低建模的復(fù)雜度、縮短時(shí)間周期;另一方面在自動(dòng)組合過(guò)程中同種附件模型的變形程度不同也能提高模型的重用性。
本文從此實(shí)際問(wèn)題出發(fā),首先為人物角色模型自動(dòng)嵌入骨骼,其次為附件模型添加簡(jiǎn)單骨骼并選取骨骼的錨點(diǎn),再通過(guò)附件自動(dòng)組合算法快速生成組合角色模型方法,最后通過(guò)嵌入的骨骼,驅(qū)動(dòng)該組合模型的運(yùn)動(dòng)。實(shí)驗(yàn)結(jié)果證明該方法能夠?yàn)椴煌慕巧P妥詣?dòng)穿戴附件,更大程度上體現(xiàn)了角色模型的多樣性,尤其在群體動(dòng)畫(huà)仿真中該方法的作用體現(xiàn)的更為明顯。
虛擬角色多樣化研究問(wèn)題一直是面向?qū)嶋H應(yīng)用的熱點(diǎn)研究問(wèn)題之一。在虛擬角色模型多樣化方面目前的研究工作主要從3個(gè)方面進(jìn)行研究,分別是模型本身的多樣化、模型動(dòng)作的多樣化以及模型外觀的多樣化。模型本身多樣化方面,Zhou等[1]通過(guò)將3D模型的變形映射到二維圖片,實(shí)現(xiàn)模型體型高矮胖瘦的變形。鄭利平等[2]通過(guò)使用 Hasler模型庫(kù),實(shí)現(xiàn)了角色模型體型的差異化,得到了體型各異的角色模型。在模型動(dòng)作多樣化方面,李石磊等[3]詳細(xì)介紹了目前各種主流的角色模型運(yùn)動(dòng)生成與控制方法。在模型外觀多樣化方面,主要根據(jù)穿著情況分為兩類(lèi):模型的衣服以及模型的附件。McDonnell等[4]提出在群體仿真時(shí),進(jìn)行簡(jiǎn)單的角色克隆會(huì)大大降低群體的真實(shí)感,通過(guò)將克隆的模型賦予隨機(jī)的方向,將模型的衣服、褲子賦予不同的顏色、再附加克隆的動(dòng)作來(lái)生成多樣化的人群。鄭利平等[5]提出了一種多樣化群體外觀方法,首先,角色模型通過(guò)UV展開(kāi)并獲取UV展開(kāi)圖,再利用圖像分割算法處理該UV展開(kāi)圖得到紋理的衣飾語(yǔ)義信息,最后實(shí)現(xiàn)紋理著色和圖案填充。但是該方法得到的多樣化人群的衣服外觀效果類(lèi)似于體繪和紋身效果,沒(méi)有較好地反映出衣服的動(dòng)態(tài)效果。McDonnell等[6]通過(guò)眼球追蹤設(shè)備,提出了在群體仿真中影響人群多樣性的是人體模型的面部、頭部以及頭發(fā)等部分,另外適當(dāng)增加帽子、眼鏡等附件能夠大大增強(qiáng)模型間的差異,實(shí)現(xiàn)群體仿真多樣化程度的最大化。但是該方法只是通過(guò)簡(jiǎn)單的幾個(gè)模板模型,沒(méi)有考慮模型附件的添加方法。
在骨骼嵌入方面,早期的Teichmann和Teller[7]提出了一種Voronoi骨架方法,但是在生成該骨架的過(guò)程中需要用戶(hù)交互來(lái)選取骨架的關(guān)節(jié),并不能真正實(shí)現(xiàn)自動(dòng)的嵌入。Lu等[8]將CVT計(jì)算問(wèn)題視為一個(gè)連續(xù)的變分問(wèn)題,并將其應(yīng)用到骨骼適應(yīng)中,提高了模型無(wú)關(guān)性以及解決了模型細(xì)小連接處的骨骼問(wèn)題,得到精確的骨骼適配效果,但是該方法的計(jì)算過(guò)程比較慢。Bharaj等[9]提出了一種針對(duì)多組元角色模型骨骼嵌入算法,首先為輸入的初始模型建立目標(biāo)骨骼,計(jì)算出其剛性蒙皮權(quán)重,最后實(shí)現(xiàn)目標(biāo)骨骼關(guān)節(jié)和初始輸入的帶運(yùn)動(dòng)信息的骨骼關(guān)節(jié)直接的運(yùn)動(dòng)映射。該方法操作自動(dòng)化程度高,需要人為干涉少,但其受模型的局限性較大。吳偉和等[10]首先自動(dòng)提取出人體模型的四肢以及頭部共5個(gè)特征點(diǎn),計(jì)算出模型的中心線(xiàn),然后根據(jù)人體特征學(xué)確定關(guān)節(jié)點(diǎn)的位置,最后精確定位關(guān)節(jié)點(diǎn),提取出人物模型的骨架信息。目前使用較為普遍的是Baran和Popovi?[11]提出的自動(dòng)骨骼嵌入方法,該方法較其他方法突出的優(yōu)點(diǎn)為:①能夠較好地適應(yīng)各種拓?fù)浣Y(jié)構(gòu)的角色模型;②經(jīng)優(yōu)化后嵌入的骨骼效果較好。
在模型包圍盒生成方面,早期的研究[12]主要采用較為簡(jiǎn)單的八叉樹(shù)數(shù)據(jù)結(jié)構(gòu),先用大的正方體來(lái)包圍模型,其后將該正方體迭代劃分生成子正方體,直至劃分到需要的深度為止,最后對(duì)每個(gè)子正方體構(gòu)建球體來(lái)創(chuàng)建球樹(shù)(sphere-tree)。泥宗濤和余英林[13]提出了一種人機(jī)交換的方法來(lái)為復(fù)雜物體構(gòu)建包圍盒樹(shù),該方法效率不高且包圍盒樹(shù)的緊湊程度直接取決于人為交互過(guò)程的處理。朱元峰等[14]提出了將球狀包圍盒與有向包圍盒相結(jié)合的一種復(fù)合包圍盒策略,對(duì)于模型的不同部分采用不同的包圍盒,該方法雖然能獲得緊湊的包圍效果,但是計(jì)算過(guò)程復(fù)雜。Bradshaw和O′Sullivan[15]提出用自適應(yīng)中軸算法來(lái)計(jì)算并生成包圍球樹(shù),能生成不同精度的包圍盒且包圍盒的緊湊程度較好。
為了實(shí)現(xiàn)模型的運(yùn)動(dòng)以及更加便利地實(shí)現(xiàn)人物模型和附件模型之間的自動(dòng)組合,需要分別為角色模型以及附件模型添加骨骼。
2.1 模型的骨骼嵌入
考慮兩種模型的復(fù)雜程度不同,同時(shí)為加快系統(tǒng)的運(yùn)行速度,需為兩種模型選取不同的方法。
在為人物模型添加骨骼時(shí),為了能夠提高整個(gè)組合系統(tǒng)的自動(dòng)化程度以及系統(tǒng)的適應(yīng)性,本文采用文獻(xiàn)[11]提出的自動(dòng)嵌入骨骼算法。算法的主要步驟如下:
(1) 構(gòu)建 KD-tree來(lái)計(jì)算出模型任意點(diǎn)到模型表面的距離。通過(guò)這些距離來(lái)建立離散的自適應(yīng)距離場(chǎng)。
(2) 根據(jù)自適應(yīng)距離場(chǎng)來(lái)計(jì)算模型的近似中軸面(approximate medial surface)。
(3) 根據(jù)頂點(diǎn)到模型表面的距離排序,按照從大到小進(jìn)行球形包裹,球心作為骨骼關(guān)節(jié)點(diǎn),連接球心的邊作為骨骼的關(guān)節(jié)。
(4) 構(gòu)建骨骼的幾何圖,G=(V, E),其中V表示關(guān)節(jié)點(diǎn),E表示骨骼。
(5) 通過(guò)離散的懲罰函數(shù)來(lái)精確關(guān)節(jié)點(diǎn)位置,重新調(diào)整骨架大小。
(6) 通過(guò)連續(xù)懲罰函數(shù)來(lái)進(jìn)行骨骼嵌入效果的優(yōu)化。
通過(guò)上述步驟,實(shí)現(xiàn)了人物骨骼的自動(dòng)添加。
為附件模型添加骨骼時(shí),由于附件模型的種類(lèi)繁多,且不同的附件模型之間的差異性較大,難以構(gòu)建出一個(gè)統(tǒng)一的骨骼來(lái)實(shí)現(xiàn)不同附件的自動(dòng)嵌入。然而另一方面附件模型相對(duì)于人體模型來(lái)說(shuō)較為簡(jiǎn)單,同時(shí)需要嵌入的骨骼也相對(duì)比較簡(jiǎn)易。故本文對(duì)附件模型采用傳統(tǒng)添加骨骼的方法:先進(jìn)行幾何建模,然后手動(dòng)標(biāo)定骨架位置。圖1和圖2分別表示的是人物和附件模型骨骼的自動(dòng)嵌入結(jié)果,(點(diǎn)M表示附件模型的錨點(diǎn))。
圖1 人物模型骨骼嵌入結(jié)果
圖2 附件模型骨骼嵌入結(jié)果
2.2 包圍球樹(shù)的構(gòu)建
為了實(shí)現(xiàn)附件模型和角色物模型的自動(dòng)組合綁定,首先確定附件需要組合到人物模型的身體部分(即對(duì)應(yīng)的骨骼關(guān)節(jié)點(diǎn)),附件的類(lèi)型與此緊密相關(guān)。附件根據(jù)組合到人物模型的位置不同分為兩類(lèi):粗糙類(lèi)和精致類(lèi)附件。粗糙類(lèi)附件,如帽子、鞋子等,這類(lèi)附件通常是穿戴在人物頭部、腳部等節(jié)點(diǎn)部位,這些關(guān)節(jié)是人物骨骼的某個(gè)節(jié)點(diǎn),比較容易綁定。精細(xì)類(lèi)附件如眼鏡、項(xiàng)鏈之類(lèi)的附件通常處于人體模型某節(jié)點(diǎn)對(duì)應(yīng)的身體部位的某部分區(qū)域內(nèi)(如臉上、胸口上),該部位需要更加精確地定位才能保證組合結(jié)果更加真實(shí)。為此,需引入常用在碰撞檢測(cè)中的層次包圍盒概念,構(gòu)建精細(xì)程度不同的包圍盒來(lái)進(jìn)行組合,使得組合的結(jié)果更加精確。
本文基于文獻(xiàn)[15]提出的算法來(lái)實(shí)現(xiàn)不同精細(xì)程度的包圍盒的構(gòu)建,主要步驟如下:
步驟1. 選取模型表面特定區(qū)域的采樣點(diǎn)將模型進(jìn)行分段。
步驟2. 選取每段模型的采樣點(diǎn)構(gòu)造用Voronoi圖來(lái)計(jì)算出每段模型的近似中軸。物體內(nèi)部的Voronoi頂點(diǎn)就是其中軸。
步驟3. 由每段的中軸調(diào)用包圍球生成算法生成初級(jí)包圍球。
步驟4. 使用文獻(xiàn)[16]球樹(shù)構(gòu)造方法構(gòu)建球樹(shù)來(lái)存儲(chǔ)不同層次的包圍球,且在每生成一層包圍球的同時(shí)更新Voronoi圖。
通過(guò)使用骨骼自動(dòng)嵌入算法嵌入的骨骼就是文獻(xiàn)[11]的中軸,因此本文使用該算法時(shí)只需執(zhí)行步驟3和步驟4,提高了算法的重用性并減少了算法的時(shí)間損耗。通過(guò)上述算法為人物角色模型構(gòu)建了包圍球樹(shù)。圖3是二級(jí)層次包圍盒,圖4展示的是人物模型在不同層次包圍球之間相對(duì)應(yīng)的映射關(guān)系。在后續(xù)的組合算法中對(duì)于粗糙類(lèi)附件采用圖3(b)的一級(jí)層次包圍盒,而對(duì)于精細(xì)類(lèi)附件除了采用一級(jí)層次包圍盒,還需要采用圖3(c)的二級(jí)層次包圍盒。
圖3 二級(jí)層次包圍盒示意圖
圖4 不同級(jí)層次包圍球映射關(guān)系圖
不同的附件對(duì)于角色模型多樣化的影響程度明顯不同。本文參考文獻(xiàn)[6]的測(cè)試結(jié)果主要對(duì)角色模型添加眼鏡、帽子等頭佩附件模型。
3.1 組合因子的確定
首先對(duì)常見(jiàn)的附件類(lèi)型進(jìn)行編號(hào),附件的編號(hào)與人體關(guān)節(jié)點(diǎn)的編號(hào)(同一節(jié)點(diǎn)多種附件時(shí),編號(hào)前綴)需保持一致。該方法能夠有效減少組合處理時(shí)間,加快了在群體仿真中的運(yùn)行速度。對(duì)于要添加的附件根據(jù)其編號(hào)可確定要組合的人體關(guān)節(jié)點(diǎn),并同時(shí)選擇該關(guān)節(jié)點(diǎn)對(duì)應(yīng)的包圍球(可能是連續(xù)的幾個(gè)球)。根據(jù)該包圍球以及附件模型計(jì)算出組合因子,繼而實(shí)現(xiàn)二者的自動(dòng)組合和綁定。組合因子Φ可用三元組來(lái)表示:Φ=(α, β, γ)。其中α為放縮因子,β為偏移因子,γ為旋轉(zhuǎn)因子。組合因子的計(jì)算公式為:
其中,pro表示三維空間中平面的集合,pro={YOZ,XOZ,XOY};LENGTH表示模型在pro的平面上進(jìn)行投影的最長(zhǎng)長(zhǎng)度;LOCAT表示模型錨點(diǎn)的三維坐標(biāo);ORIET表示模型錨點(diǎn)的法向向量;latt表示附件模型;lboun表示與附件模型相對(duì)應(yīng)的包圍球模型;latt(i)表示附件模型往i方向投影;lboun(i)表示對(duì)應(yīng)的包圍球模型往i方向投影εf(f=1,2,3)。表示一個(gè)彈性變量,用來(lái)微調(diào)組合因子。微調(diào)自動(dòng)組合結(jié)果時(shí),不同的附件選取的值不同,其中:
3.2 附件自適應(yīng)組合
根據(jù)放縮因子α確定附件模型相對(duì)于人物模型的整體大小。可將附件模型分別乘以α在3個(gè)平面的分量αxoy、αyoz、αxoz,實(shí)現(xiàn)對(duì)附件模型及骨骼的整體放縮。
對(duì)于偏移因子,先定義要組合的人體關(guān)節(jié)點(diǎn)為錨點(diǎn)(附件模型的錨點(diǎn)為圖2的M點(diǎn),人物模型為與附件類(lèi)型編號(hào)一致的節(jié)點(diǎn)),其次選取附件骨骼的錨點(diǎn),根據(jù)人體學(xué)特征及附件的實(shí)際穿戴情況,將兩種模型的錨點(diǎn)進(jìn)行綁定,實(shí)現(xiàn)了附件模型以及骨骼的整體定位。
對(duì)于旋轉(zhuǎn)因子,因?yàn)楦郊P蛯?dǎo)入的方向不固定,如果要進(jìn)行自動(dòng)組合,首先需要計(jì)算旋轉(zhuǎn)角度,涉及標(biāo)準(zhǔn)參照物選取問(wèn)題以及向量的計(jì)算,需要的人為干涉太多,會(huì)影響系統(tǒng)的自動(dòng)化程度,所以本文在預(yù)處理階段將所用的附件模型和人物模型正向地處于三維空間坐標(biāo)系統(tǒng)中,即旋轉(zhuǎn)因子γ=0.0(此時(shí)的εf=0.0),避免了組合角度的誤差。
經(jīng)過(guò)上述3種操作之后,附件模型及人物模型實(shí)現(xiàn)了初步綁定,再將附件的錨點(diǎn)和人物模型的錨點(diǎn)進(jìn)行綁定,因?yàn)楦郊P屯ǔ6际歉街诮巧P蜕?,且和角色模型運(yùn)動(dòng)基本保持一致,兩種模型之間是“剛性”運(yùn)動(dòng)。故在二者實(shí)現(xiàn)自動(dòng)組合并且綁定之后,刪除附件的骨骼并更新最終得到的人物模型骨骼。算法的具體過(guò)程如下:
算法:附件自動(dòng)組合算法
輸入:人物模型M,帶編號(hào)人物模型的簡(jiǎn)易骨骼H,附件模型A,類(lèi)型為T(mén)ype,手動(dòng)嵌入的附件模型簡(jiǎn)易骨骼S及S上的標(biāo)定的錨點(diǎn)P。記一級(jí)包圍球樹(shù)為Sphere-L1,二級(jí)包圍球樹(shù)為Sphere-L2
輸出:組合好的組合模型
1. 使用Baran算法實(shí)現(xiàn)H與M的自動(dòng)適應(yīng)嵌入
2. 使用文獻(xiàn)[15]算法根據(jù)H為M構(gòu)建層次包圍球樹(shù)
3.IF (A 為粗糙類(lèi)附件)
4. 投影Sphere-L1中Type編號(hào)對(duì)應(yīng)的節(jié)點(diǎn)
5.ELSE
6. 投影Sphere-L1中Type編號(hào)對(duì)應(yīng)的節(jié)點(diǎn)
7. 投影Sphere-L2中Type編號(hào)對(duì)應(yīng)的節(jié)點(diǎn)
8.END IF
9. 存儲(chǔ)模型投影后的最大長(zhǎng)度L、寬度W、高度H
10. 由 L、W、H按式(1)、(2)、(3)計(jì)算出組合因子Φ ← (α,β,γ)
11. 確定附件模型整體大小A×α
12. 根據(jù)錨點(diǎn)確定附件模型位置A+β
13. 更新組合模型骨骼
所得效果如圖5所示,圖5(a)包括了更新前角色模型的自動(dòng)嵌入后的骨骼及為附件模型手動(dòng)添加的簡(jiǎn)易骨骼,在圖5(b)中更新后的骨骼將附件模型作為角色模型頭部的一部分,刪除了附件模型的骨骼。
圖5 骨骼更新示意圖
3.3 組合效果修正
由于組合因子的3個(gè)分量為單獨(dú)計(jì)算,所以在對(duì)附件模型(主要是帽子模型,因?yàn)槠涓叨茸冃螣o(wú)法用角色模型的頭部來(lái)進(jìn)行約束)進(jìn)行組合放縮時(shí),可能會(huì)產(chǎn)生變形,因此,增加分量之間的比例約束來(lái)避免這種可能的變形,即:在算法的第9步計(jì)算出的附件模型的長(zhǎng)度L、寬度W、高度H,計(jì)算出L(或W)與H的比例,在自動(dòng)組合過(guò)程中進(jìn)行放縮時(shí),實(shí)現(xiàn)比例縮放,解決上述變形問(wèn)題。
對(duì)于比較怪異的模型或者比例失調(diào)的模型,該自動(dòng)組合算法得出的結(jié)果比較差。如圖6(a)中,由于在人物模型自動(dòng)嵌入骨骼之后,由骨骼來(lái)構(gòu)建包圍球樹(shù),同時(shí)人物模型的耳朵比較大,造成了嚴(yán)重的比例失調(diào),在構(gòu)建頭部結(jié)點(diǎn)的包圍盒時(shí),包圍盒的半徑選取的是從頭部結(jié)點(diǎn)到耳朵的距離,此半徑是不精確的,造成了在后續(xù)計(jì)算中組合因子存在較大的誤差,導(dǎo)致在兩種模型組合的時(shí)候真實(shí)感較差。由于在仿真過(guò)程中會(huì)遇到上述模型,若完全采用文獻(xiàn)[15]的方法,需要的交互(采點(diǎn))太多較為費(fèi)時(shí)間且結(jié)果難以保證。為提高本文算法的普適性而添加了部分交互功能,方便用戶(hù)在自動(dòng)組合的基礎(chǔ)上進(jìn)行手動(dòng)修改組合效果,圖6(b)為手動(dòng)修改組合效果然后進(jìn)行兩種模型的重綁定效果圖,得到了較為真實(shí)的組合效果。
圖6 怪異模型組合效果圖
本文的實(shí)驗(yàn)環(huán)境為64位Windows 7操作系統(tǒng),主機(jī)CPU類(lèi)型為Intel(R) Core Q8400,內(nèi)存為8 G,編程環(huán)境為 Microsoft Visual Studio 2013,采用MFC、OPENGL作為仿真交互平臺(tái)。
圖7(a)為眼鏡附件對(duì)比展示圖,為了比對(duì)多樣化差距,其中有部分模型為不穿戴附件的基本模型,圖7(b)為帽子附件對(duì)比展示圖??梢钥闯鰣D7(a)中針對(duì)體型不同的人物模型使用同一種眼鏡模型來(lái)進(jìn)行自動(dòng)組合,得到的效果不同(圖7(b)類(lèi)似),女性人物模型組合出的眼鏡模型效果相對(duì)于健壯的男性人物模型而言,因二者面部的比例不同,計(jì)算出的組合因子不同,造成了附件的變形程度不同,從而組合出的效果前者較為扁長(zhǎng)。圖 8為 50人多種附件對(duì)比展示圖。可以看出穿戴附件的角色模型一方面附件模型在組合過(guò)程中的變形程度不同,另一方面附件模型自動(dòng)組合之后產(chǎn)生的模型也不同,這樣就能夠在很大程度上提高模型之間的差異性和多樣性。
圖9是將仿真結(jié)果導(dǎo)出,并使用3DMAX渲染之后的結(jié)果,其中圖9(a)和圖9(b)展示的是同一模型的正側(cè)面展示效果,圖9(a)和圖9(c)展示的是不同角色模型組合的差異,圖9(d)為多附件的整體效果圖。結(jié)果表明本文的自動(dòng)組合算法組合的頭佩附件效果較為精確,渲染出的效果真實(shí)感較高,大大提高了模型的多樣性。圖 10為經(jīng)過(guò)本文算法自動(dòng)穿戴附件之后的虛擬角色模型的運(yùn)動(dòng)效果渲染圖,效果較為真實(shí)、自然。
圖8 多種附件對(duì)比展示圖
圖10 自動(dòng)組合附件之后的運(yùn)動(dòng)效果圖
本文通過(guò)人物模型附件的差異性來(lái)體現(xiàn)人物的差異性,所用方法便利快捷,大大減少了虛擬角色制作的復(fù)雜性,提高模型的多樣性和真實(shí)感。實(shí)驗(yàn)結(jié)果可直接應(yīng)用于游戲、仿真等平臺(tái)。但是由于附件模型的種類(lèi)繁多、樣式各異,本文主要針對(duì)比較經(jīng)典的頭佩附件進(jìn)行自動(dòng)穿戴,對(duì)于怪異的模型或者比例嚴(yán)重失衡的人物模型自動(dòng)組合的效果較差,需要通過(guò)手動(dòng)交互加以調(diào)整。另一方面附件模型有可能在自組合的過(guò)程中和人物模型發(fā)生貫穿,即網(wǎng)格融合沒(méi)有處理。這些都是本文進(jìn)一步工作需要研究和解決的問(wèn)題。
[1] Zhou Shizhe, Fu Hongbo, Liu Ligang, et al. Parametric reshaping of human bodies in images [J]. ACM Transactions on Graphics, 2010, 29(4): 126-136.
[2] 鄭利平, 張 娟, 趙建明, 等. 多樣化虛擬人群生成方法研究[J]. 圖學(xué)學(xué)報(bào), 2013, 34(4): 112-118.
[3] 李石磊, 梁加紅, 吳 冰, 等. 虛擬人運(yùn)動(dòng)生成與控制技術(shù)綜述[J]. 系統(tǒng)仿真學(xué)報(bào), 2011, 23(9): 1758-1771.
[4] McDonnell R, Larkin M, Dobbyn S, et al. Clone attack! Perception of crowd variety [J]. ACM Transactions on Graphics, 2008, 27(3): 26-34.
[5] 鄭利平, 張 娟, 周乘龍, 等. 人群仿真中角色模型紋理多樣化生成方法[J]. 圖學(xué)學(xué)報(bào), 2014, 35(1): 110-114.
[6] McDonnell R, Larkin M, Hernández B, et al. Eye-catching crowds saliency based selective variation [J]. ACM Transactions on Graphics, 2009, 28(3): 55-65.
[7] Teichmann M, Teller S. Assisted articulation of closed polygonal models [C]//ACMSIGGRAPH98 Conference Abstracts and Applications. Lisbon, Portugal, 1998: 87-101.
[8] Lu Lin, Lévy B, Wang Wenping. Centroidal Voronoi tessellation of line segments and graphs [J]. Computer Graphics Forum, 2012, (31): 775-784.
[9] Bharaj G, Thorm?hlen T, Seidel H P, et al. Automatically rigging multi-component characters [J]. Computer Graphics Forum, 2012, (31): 755-764.
[10] 吳偉和, 郝愛(ài)民, 趙永濤, 等. 一種人體運(yùn)動(dòng)骨骼提取和動(dòng)畫(huà)自動(dòng)生成方法[J]. 計(jì)算機(jī)研究與發(fā)展, 2012, 49(7): 1408-1419.
[11] Baran I, Popovi? J. Automatic rigging and animation of 3d characters [J]. ACM Transactions on Graphics, 2007, 26(3): 72.
[12] O′Sullivan C, Dingliana J. Realtime collision detection and response using sphere-trees [J]. Computer Graphics, 1999, 12(2): 83-92.
[13] 泥宗濤, 余英林. 基于分層包圍盒的連續(xù)碰撞檢測(cè)加速算法[J]. 計(jì)算機(jī)工程與應(yīng)用, 2000, 36(10): 24-26.
[14] 朱元峰, 孟 軍, 謝光華, 等. 基于復(fù)合層次包圍盒的實(shí)時(shí)碰撞檢測(cè)研究[J]. 系統(tǒng)仿真學(xué)報(bào), 2008, 20(2): 372-377.
[15] Bradshaw G, O′Sullivan C. Sphere-tree construction using dynamic medial axis approximation [C]// Proceedings of the 2002 ACM SIGGRAPH/Eurographics Symposium on Computer Animation. New York, USA, 2002: 33-40.
[16] White D. Smallest enclosing ball of points/balls [EB/OL]. (1995-07-01) [2015-01-01]. http://www.geom.uiuc.edu/~nina/cglibdocs/ball.txt.
Automatic Matching Method for Head Accessory of Virtual Human
Zheng Liping, Zhou Chenglong, Cheng Yajun, Chen Xing
(School of Computer and Information, Hefei University of Technology, Hefei Anhui 230009, China)
The diversity of virtual humanfor simulation is mainly exhibited by the character. The differences between models consist of two parts: the somatotype and the head accessories. Automatic matching head accessories for virtual human will observably increase the realistic of the simulation. A new method for automatic matching is presented. Firstly, we assign simple skeleton to the accessories and choose anchor points after automatic rigging skeleton for virtual models, then execute the matching method to achieve matched model. Finally, we assign various postures to the model by embedskeleton. The result shows our method can match the head attachments to diverse virtual human automatically, and pretty improve the diversification of virtual models.
head accessory; automatic matching; virtual human; automatic rigging skeleton
TP 391.9
A
2095-302X(2015)05-0655-07
2015-02-09;定稿日期:2015-04-02
國(guó)家自然科學(xué)基金資助項(xiàng)目(61300118);安徽省科技強(qiáng)警資助項(xiàng)目(1401b042009)
鄭利平(1978-),男,湖北麻城人,副教授,博士。主要研究方向?yàn)橛?jì)算機(jī)圖形學(xué)與仿真。E-mail:zhenglp@hfut.edu.cn