一種適用于頭發(fā)和物體碰撞的實(shí)時(shí)運(yùn)動(dòng)仿真方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)運(yùn)動(dòng)仿真領(lǐng)域,尤其涉及對(duì)虛擬角色頭發(fā)進(jìn)行實(shí)時(shí)運(yùn)動(dòng)仿真的 方法。
【背景技術(shù)】
[0002] 本發(fā)明相關(guān)的研宄背景簡(jiǎn)述如下:
[0003] 逼真的虛擬頭發(fā)運(yùn)動(dòng)建模與仿真在計(jì)算機(jī)動(dòng)畫(huà)、虛擬現(xiàn)實(shí)等領(lǐng)域有非常重要 的應(yīng)用。從早期的完全不考慮發(fā)絲之間相互作用的工作(R〇senblum,R.E.,Carlson,W. E. ,andTripp,E. 1991.Simulatingthestructureanddynamicsofhuman hair!modelling,renderingandanimation.TheJournalofVisualizationand ComputerAnimation2, 4, 141 - 148. ) (Anjyo,K. -I. ,Usami,Y. ,andKurihara,T. 1992. Asimplemethodforextractingthenaturalbeautyofhair.InACMSIGGRAPH ComputerGraphics,vol. 26,ACM,111 - 120.)開(kāi)始,頭發(fā)運(yùn)動(dòng)仿真一直是一個(gè)熱門(mén)的研究 課題D
[0004] 針對(duì)高質(zhì)量的頭發(fā)運(yùn)動(dòng)仿真,最常見(jiàn)的方法是對(duì)每個(gè)單獨(dú)的發(fā)絲進(jìn)行仿真,從 而獲得最為精細(xì)的運(yùn)動(dòng)細(xì)節(jié)。為了盡可能模擬真實(shí)世界中的發(fā)絲運(yùn)動(dòng),許多研究工作 針對(duì)單獨(dú)發(fā)絲的運(yùn)動(dòng)提出不同的運(yùn)動(dòng)仿真模型jd(Bertails,F(xiàn).,Audoly,B.,Cani,M.-P. ,Querleux,B. ,Leroy,F. ,andLeveque,J. -L. 2006.Super-helicesforpredicting thedynamicsofnaturalhair.InACMTransactionsonGraphics(TOG),vol.25,A CM,1180 - 1187. ) (Selle,A.,Lentine,M.,andFedkiw,R. 2008.Amassspringmodel forhairsimulation.ACMTrans.Graph.(SIGGRAPH2008) 27, 3 (Aug. ). ) (Bergou,M. ,Wardetzky,M. ,Robinson,S. ,Audoly,B. ,andGrin-spun,E. 2008.Discreteelastic rods.InACMTransactionsonGraphics(TOG),vol. 27,ACM,63.) (Casati,R.,and Bertails-DescoubesjF. 2013.Superspaceclothoids.ACMTransactiononGraphics.) 等?;谶@些發(fā)絲運(yùn)動(dòng)模型,許多在單獨(dú)發(fā)絲尺度上進(jìn)行運(yùn)動(dòng)仿真并考慮復(fù)雜的頭發(fā)相 互作用的方法被證明可以得到較高真實(shí)度的結(jié)果。其中,(Selle,A.,Lentine,M.,and Fedkiw,R.2008.Amassspringmodelforhairsimulation.ACMTrans.Graph. (SIGGRAPH2008)27,3(Aug.).)把頭發(fā)的相互作用表示為發(fā)絲吸引力與幾何碰撞兩方 面,從而實(shí)現(xiàn)發(fā)簇結(jié)構(gòu)動(dòng)態(tài)變化的效果;(Mcadams,A.,Selle,A.,Ward,K.,Sifakis,E.,a ndTeran,J. 2009.Detailpreservingcontinuumsimulationofstraighthair.ACM TransactionsonGraphics-TOG28,3,62.)提出了一個(gè)魯棒的頭發(fā)相互作用的模擬方 法,通過(guò)基于流體的碰撞松弛來(lái)使得大量發(fā)絲之間的幾何碰撞變得更容易求解;(Daviet ,G. ,Bertails-DescoubesjF. ,andBoissieux,L. 2011.Ahybriditerativesolverfor robustlycapturingcoulombfrictioninhairdynamics.InACMTransactionson Graphics(TOG),vol. 30,ACM,139.)提出了一個(gè)混合方法來(lái)魯棒地模擬發(fā)絲之間的庫(kù)侖摩 檫力現(xiàn)象。但是,所有這些方法都專(zhuān)注于效果的質(zhì)量并需要大量的離線(xiàn)運(yùn)算時(shí)間,使得模擬 過(guò)程非常緩慢,無(wú)法用于實(shí)時(shí)應(yīng)用之中。
[0005] 另一類(lèi)相關(guān)方法更專(zhuān)注于高效的頭發(fā)運(yùn)動(dòng)仿真,通過(guò)采用多種簡(jiǎn)化表示來(lái) 加速仿真以及相互作用的解算。其中一個(gè)常用的思路是基于流體的保持體積、局部 運(yùn)動(dòng)相似性等特性,采用流體來(lái)隱式地處理頭發(fā)交互作用。例如,(Hadap,S.,and Magnenat-ThalmannjN. 2001.Modelingdynamichairasacontinuum.InComputer GraphicsForum,vol. 20,WileyOnlineLibrary,329 - 338.)利用流體仿真模型來(lái)求解 頭發(fā)的自碰撞現(xiàn)象;(Bando,Y.,Chen,B. -Y.,andNishita,T. 2003.Animatinghairwith looselyconnectedparticles.InComputerGraphicsForum,vol. 22,WileyOnline Library,411 - 418.)將頭發(fā)表示為弱相關(guān)的粒子,并通過(guò)類(lèi)似流體的方法對(duì)其進(jìn)行運(yùn)動(dòng)仿 %; (Petrovic,L. ,Henne,M.,andAnderson,J. 2005.Volumetricmethodsforsimulation andrenderingofhair.PixarAnimationStudios.)針對(duì)風(fēng)格化發(fā)型的運(yùn)動(dòng)仿真,使用 空間體結(jié)構(gòu)來(lái)對(duì)發(fā)絲速度密度等進(jìn)行濾波來(lái)模擬相互作用;(Muller,M.,Kim,T. -Y.,and Chentanez,N. 2012.Fastsimulationofinextensiblehairandfur.InWorkshop onVirtualRealityInteractionandPhysicalSimulation,TheEurographics Association,39 - 44.)也采用類(lèi)似方法來(lái)快速模擬發(fā)絲相互排斥效果;(Mcadams,A. ,Selle,A.,Ward,K.,Sifakis,E.,andTeran,J.2009.Detailpreservingcontinuum simulationofstraighthair.ACMTransactionsonGraphics-TOG28, 3, 62.)也米用了 混合流體求解方法來(lái)加強(qiáng)仿真效果。
[0006] 與本方法關(guān)系最密切的一個(gè)思路是使用聚集發(fā)絲模型,這類(lèi)模型通過(guò)少量引導(dǎo) 發(fā)絲的插值來(lái)表示所有最終發(fā)絲并在體網(wǎng)格(Tariq,S.,andBavoil,L. 2008.Realtime hairsimulationandrenderingonthegpu.InACMSIGGRAPH2008talks,ACM, 37.) 或使用簡(jiǎn)化幾何體(例如三角帶(Chang,J.T.,Jin,J.,andYu,Y. 2002.Apractical modelforhairmutualinteractions.InProceedingsofthe2002ACMSIGGRAPH/ EurographicssymposiumonComputeranimation,ACM,73 - 80.)、 圓柱體 (Choe,B. ,Choi,M.G. ,andKojH. -S. 2005.Simulatingcomplexhairwithrobust collisionhandling.InProceedingsofthe2005ACMSIGGRAPH/Eurographics symposiumonComputeranimation,ACM,153 - 160.)、 球體(Iben,H. ,Meyer,M. ,Pe trovic,L.,Soares, 0. ,Anderson,J. ,andWitkin,A. 2013.Artisticsimulationof curlyhair.InProceedingsofthe12thACMSIGGRAPH/EurographicsSymposium onComputerAnimation,ACM,63-71.))等來(lái)處理發(fā)絲的自碰撞D另外,自適應(yīng)的發(fā)絲 聚集模型(Bertails,F(xiàn).,Kim,T. -Y.,Cani,M. -P.,andNeumann,U. 2003.Adaptivewisp tree:amultiresolutioncontrolstructureforsimulatingdynamicclustering inhairmotion.InProceedingsofthe2003ACMSIGGRAPH/Eurographicssymposium onComputeranimation,EurographicsAssociation, 207 - 213.) (Ward,K. ,andLin,M. C.2003.Adaptivegroupingandsubdivisionforsimulatinghairdynamics.In ComputerGraphicsandApplications, 2003.Proceedings.IlthPacificConference on,IEEE, 234 - 243. ) (Ward,K. ,Lin,M.C. ,Joohi,L. ,Fisher,S. ,andMaori,D. 2003. Modelinghairusinglevel-of-detailrepresentations.InComputerAnimationand SocialAgents,2003. 16thInternationalConferenceon,IEEE,41 - 47.)通過(guò)在特定情 況下增加運(yùn)動(dòng)細(xì)節(jié)但不對(duì)效率產(chǎn)生太大影響來(lái)進(jìn)一步拓展這一類(lèi)方法。所有這一類(lèi)啟發(fā)式 模型實(shí)質(zhì)上都是在效果與效率上的折衷,無(wú)法保證在大幅度減小計(jì)算開(kāi)銷(xiāo)的同時(shí)能夠達(dá)到 類(lèi)似于高精度仿真的效果,因此通常其質(zhì)量會(huì)受到較大影響。
[0007] 最近,一個(gè)基于運(yùn)動(dòng)簡(jiǎn)化模型的頭發(fā)實(shí)時(shí)運(yùn)動(dòng)仿真方法(Chai,M.,Zheng,C.,and Zhou,K. 2014.AReducedModelforInteractiveHairs.ACMTransactionson Graphics, 2014, 33(4))可以做到實(shí)時(shí)的頭發(fā)運(yùn)動(dòng)仿真,但是無(wú)法準(zhǔn)確處理與物體的精細(xì)碰 撞。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的在于針對(duì)現(xiàn)有技術(shù)的不足,提供一種適用于頭發(fā)和物體碰撞的實(shí)時(shí) 運(yùn)動(dòng)仿真方法。
[0009] 本發(fā)明的目的是通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn)的:一種實(shí)時(shí)頭發(fā)物體碰撞運(yùn)動(dòng)仿真的 方法,其特征在于,包括如下步驟:
[0010] (1)簡(jiǎn)化模型的預(yù)計(jì)算生成:對(duì)目標(biāo)頭發(fā)模型基于離線(xiàn)運(yùn)動(dòng)仿真數(shù)據(jù)選取代表發(fā) 絲,并計(jì)算所有的基于代表發(fā)絲蒙皮插值的簡(jiǎn)化模型;
[0011] (2)實(shí)時(shí)運(yùn)動(dòng)仿真與插值:實(shí)時(shí)進(jìn)行步驟(1)代表發(fā)絲的運(yùn)動(dòng)仿真,并選取步驟 (1)中符合場(chǎng)景物體碰撞情況的簡(jiǎn)化模型,插值得到目標(biāo)頭發(fā)模型的所有發(fā)絲;
[0012] (3)碰撞修正:對(duì)步驟(2)的目標(biāo)頭發(fā)模型的所有發(fā)絲進(jìn)行碰撞檢測(cè),并通過(guò)雙向 修正的方式將碰撞修正作用在步驟(1)的代表發(fā)絲上以此修正目標(biāo)頭發(fā)模型,得到修正后 的目標(biāo)頭發(fā)模型的所有發(fā)絲。
[0013] 進(jìn)一步地,所述步驟(1)包括如下子步驟:
[0014] (I. 1)根據(jù)目標(biāo)頭發(fā)模型錄制訓(xùn)練頭部運(yùn)動(dòng)序列Tf,基于錄制的訓(xùn)練頭部運(yùn)動(dòng)序 列Tf,使用通用的頭發(fā)運(yùn)動(dòng)仿真技術(shù)對(duì)目標(biāo)頭發(fā)模型進(jìn)行離線(xiàn)的運(yùn)動(dòng)仿真,并進(jìn)行對(duì)齊,得 到目標(biāo)頭發(fā)模型的訓(xùn)練運(yùn)動(dòng)仿真數(shù)據(jù)Hf;
[0015] (1.2)利用步驟(I. 1)中得到的目標(biāo)頭發(fā)模型的訓(xùn)練運(yùn)動(dòng)仿真數(shù)據(jù)Hf,使用稀疏 編碼方法優(yōu)化得到一組稀疏基M以及線(xiàn)性組合系數(shù)a,使得這些稀疏基通過(guò)線(xiàn)性組合可以 近似且稀疏地重構(gòu)訓(xùn)練運(yùn)動(dòng)仿真數(shù)據(jù)Hf,并從目標(biāo)頭發(fā)模型中選取同樣數(shù)量的代表發(fā)絲G 擬合這些稀疏基,并對(duì)目標(biāo)