虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論 課件 梁曉輝 第3、4章 虛擬現(xiàn)實(shí)建模及相關(guān)技術(shù) 虛擬現(xiàn)實(shí)渲染及相關(guān)技術(shù)_第1頁(yè)
虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論 課件 梁曉輝 第3、4章 虛擬現(xiàn)實(shí)建模及相關(guān)技術(shù) 虛擬現(xiàn)實(shí)渲染及相關(guān)技術(shù)_第2頁(yè)
虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論 課件 梁曉輝 第3、4章 虛擬現(xiàn)實(shí)建模及相關(guān)技術(shù) 虛擬現(xiàn)實(shí)渲染及相關(guān)技術(shù)_第3頁(yè)
虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論 課件 梁曉輝 第3、4章 虛擬現(xiàn)實(shí)建模及相關(guān)技術(shù) 虛擬現(xiàn)實(shí)渲染及相關(guān)技術(shù)_第4頁(yè)
虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論 課件 梁曉輝 第3、4章 虛擬現(xiàn)實(shí)建模及相關(guān)技術(shù) 虛擬現(xiàn)實(shí)渲染及相關(guān)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩173頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論第1章概論本講大綱3.1虛擬現(xiàn)實(shí)模型3.2虛擬現(xiàn)實(shí)幾何建模3.3虛擬現(xiàn)實(shí)物理建模3.4虛擬現(xiàn)實(shí)行為建模3.5虛擬現(xiàn)實(shí)建模的特點(diǎn)與評(píng)價(jià)指標(biāo)3.6幾何建模例——點(diǎn)云化簡(jiǎn)3.7物理建模例——虛擬人體運(yùn)動(dòng)合成3.8物理建模例——基于SPH的熱帶氣旋建模3.9習(xí)題3.1虛擬現(xiàn)實(shí)模型模型“模型”是一個(gè)人為構(gòu)造的物體,以便使人們?nèi)菀子^察現(xiàn)實(shí)世界中的物體,例如:物理模型、數(shù)學(xué)模型……。換言之,“模型”是對(duì)物體全部或部分屬性的一個(gè)抽象。對(duì)象模型對(duì)象模型是構(gòu)建虛擬環(huán)境的基礎(chǔ),也是實(shí)物虛化的重要組成部分。一般的,主要包括幾何形狀、表面信息、物理特性、變化屬性等。對(duì)象模型幾何形狀描述對(duì)象形狀的幾何模型包含了點(diǎn)的位置信息和拓?fù)浣Y(jié)構(gòu)信息,主要由點(diǎn)、線(xiàn)、面等幾何元素組成。例如,使用一些現(xiàn)有的圖形庫(kù)來(lái)表現(xiàn)對(duì)象的幾何外形:大小、方向和位置等對(duì)象外表的真實(shí)感主要取決于其顏色、光照和紋理等。通過(guò)紋理元素的色彩、明暗度和透明度的變化來(lái)表現(xiàn)對(duì)象的表面細(xì)節(jié),能夠減少多邊形的數(shù)量和增加對(duì)象在場(chǎng)景中的真實(shí)感。目前,投影法和參數(shù)表示法是兩種常用的表面紋理映射方法。表面信息為了保證視景表示和對(duì)象物體在虛擬環(huán)境中運(yùn)動(dòng)的合理性,經(jīng)常需要建立對(duì)象物體的某些物理模型,使得場(chǎng)景中的對(duì)象遵循客觀的物理規(guī)律,從而生成具有一定真實(shí)感和逼真性的三維視景。一般賦予對(duì)象物體的物理特性主要有質(zhì)量、動(dòng)量、沖量、轉(zhuǎn)動(dòng)慣量、光滑度、柔韌性和可塑性等。物理特性與變化屬性幾何模型從數(shù)學(xué)的角度,對(duì)于一個(gè)物體的幾何表示要考慮物體自身的特征,例如:

有界性、封閉性剛性:物體在剛性變換(平移、旋轉(zhuǎn)等)下是否保持不變規(guī)則性:一個(gè)物體中的點(diǎn)或線(xiàn)具有相同的性質(zhì)光滑:……計(jì)算機(jī)圖形學(xué)與虛擬現(xiàn)實(shí)中,采用“幾何模型”的概念描述現(xiàn)實(shí)中的物體的幾何形狀,對(duì)物體幾何方面的屬性進(jìn)行了抽象?!皫缀文P汀笔俏矬w模型的一個(gè)子集。幾何模型的表示方法基本幾何元素包括:點(diǎn)、邊、面、體。主要表示方法線(xiàn)框表示:結(jié)構(gòu)簡(jiǎn)單,用頂點(diǎn)和鄰邊表示形體表面表示:在上述基礎(chǔ)上,增加面,從而可以滿(mǎn)足對(duì)面的操作參數(shù)曲面三角形表示實(shí)體表示點(diǎn)表示……實(shí)體表示又稱(chēng)為結(jié)構(gòu)立體幾何表示,一般直接用立體基元表示對(duì)象物體,體積表示具有簡(jiǎn)潔、可靠的特性,而且有時(shí)很容易計(jì)算??臻g占有表示和結(jié)構(gòu)立體幾何表示(CSG)是兩種主要的體積表示方法,其中CSG方法將物體表示為一個(gè)三維體積基元的集合和一個(gè)布爾運(yùn)算集:并、交及差,其體積基元有塊、圓柱體、圓錐體和球等。表面或邊界法以Euler定理為基礎(chǔ)的結(jié)構(gòu)規(guī)則,即如果V是多面體的頂角數(shù),E是邊緣數(shù),F(xiàn)是面數(shù),則V–E+F=2,推廣到非簡(jiǎn)單連接體為V–E+F=2(B–H),其中B是體的個(gè)數(shù),H是“孔”或“柄”的個(gè)數(shù)。所以在表面或邊界法中,體結(jié)點(diǎn)描述景物結(jié)構(gòu),面結(jié)點(diǎn)描述表面特征,邊緣結(jié)點(diǎn)提供面,邊緣和頂角間的拓?fù)湫畔?,頂角結(jié)點(diǎn)描述三維頂角的位置等。模型的組織方法(數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)結(jié)構(gòu)主要是為了描述拓?fù)潢P(guān)系(即頂點(diǎn)連接關(guān)系、面片連接關(guān)系等)在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí),空間與速度總是一對(duì)矛盾。線(xiàn)形表、樹(shù)、圖都是可以考慮的結(jié)構(gòu),在具體構(gòu)建時(shí),可以使用數(shù)組也可以使用指針精心的設(shè)計(jì)這樣的數(shù)據(jù)結(jié)構(gòu)對(duì)于繪制有很大的好處往往高效的算法是以對(duì)存儲(chǔ)空間的占用為代價(jià)的繪制過(guò)程實(shí)際是對(duì)上述數(shù)據(jù)結(jié)構(gòu)的遍歷。關(guān)鍵是如何快速的遍歷,查找挑選出需要顯示的物體,將這些內(nèi)容交給底層進(jìn)行繪制模型的組織方法(數(shù)據(jù)結(jié)構(gòu))模型的組織方法(數(shù)據(jù)結(jié)構(gòu))對(duì)于“任意”情況,數(shù)據(jù)結(jié)構(gòu)可能需要存儲(chǔ)額外的信息。例如,如果對(duì)構(gòu)成物體的多邊形的邊數(shù)不加限制,每個(gè)面表必須顯式存儲(chǔ)每個(gè)多邊形邊的數(shù)量,而且涉及到大量的內(nèi)存的申請(qǐng)與釋放對(duì)多邊形的凸凹不加限制,額外計(jì)算量也很大所以,對(duì)多邊形構(gòu)成的物體,往往對(duì)多邊形的類(lèi)型加以約束,例如采用三角形描述(最簡(jiǎn)單的一種凸多邊形)任意的多邊形可以按照一定的方法劃分為多個(gè)三角形(計(jì)算幾何)[關(guān)鍵是算法的效率問(wèn)題]基于三角面片的模型表示三個(gè)頂點(diǎn)的空間坐標(biāo)用途:空間變換,投影三個(gè)頂點(diǎn)的法向量(或面片的整個(gè)法向量)用途:光照計(jì)算三個(gè)頂點(diǎn)的紋理坐標(biāo)或顏色用途:顯示顏色信息VR中采用的幾何表示方法虛擬現(xiàn)實(shí)領(lǐng)域普遍采用的表示方法是表面多邊形(三角形網(wǎng)格)表示法,即以一組表面多邊形來(lái)存儲(chǔ)物體的描述,用多邊形描述的通常被稱(chēng)為“標(biāo)準(zhǔn)圖形物體”。由于所有表面以線(xiàn)性方程形式加以描述,大大簡(jiǎn)化并加速了表面的繪制和顯示。也就是說(shuō),所有的三維模型都將由點(diǎn)、線(xiàn)、面來(lái)構(gòu)造。3.2虛擬現(xiàn)實(shí)幾何建模幾何建模幾何建模形狀建模外觀建模結(jié)構(gòu)建模物理建模剛體建模柔性體建模流體建模行為建模形狀建模要描述虛擬對(duì)象的形狀,最基本的任務(wù)是利用點(diǎn)、線(xiàn)、面等基本幾何元素表征虛擬對(duì)象的外邊界。目前最常用的形狀建模方式可分為顯式表示與隱式表示兩種。其中,顯式表示是指使用點(diǎn)云、網(wǎng)格、體素等表征虛擬對(duì)象外邊界的位置與拓?fù)湫畔ⅲ浑[式表示則是指使用曲線(xiàn)曲面等參數(shù)方程、距離場(chǎng)(Distancefield)、水平集(Levelset)等方法描述虛擬對(duì)象的外邊界。外觀建模虛擬對(duì)象的外觀是指區(qū)別于其他虛擬對(duì)象的質(zhì)地特征,如表面反照率、紋理等影響虛擬對(duì)象真實(shí)感的特征。如果不考慮存儲(chǔ)和計(jì)算的開(kāi)銷(xiāo),通過(guò)增加虛擬對(duì)象形狀多邊形的方法可以表征出十分逼真的表面,但由于VR對(duì)計(jì)算和顯示實(shí)時(shí)性要求高,實(shí)際系統(tǒng)中普遍采用紋理映射(TextureMapping)等技術(shù)刻畫(huà)虛擬對(duì)象的外觀。采用紋理映射技術(shù),一方面可增加細(xì)節(jié)層次以及虛擬對(duì)象的真實(shí)感;二是可減少多邊形的數(shù)量,在不影響實(shí)時(shí)性的同時(shí),增強(qiáng)了虛擬對(duì)象和場(chǎng)景的真實(shí)效果。結(jié)構(gòu)建模除了要模擬虛擬對(duì)象的形狀和外觀,很多時(shí)候還需描述虛擬對(duì)象的空間結(jié)構(gòu)信息,以體現(xiàn)虛擬對(duì)象內(nèi)部結(jié)構(gòu)或虛擬對(duì)象之間的空間關(guān)系。以虛擬人體為例,可使用骨架結(jié)構(gòu)表示各關(guān)節(jié)間的關(guān)系,并應(yīng)用于人體動(dòng)畫(huà)、人體運(yùn)動(dòng)分析、不同人體的匹配等。對(duì)復(fù)雜的工業(yè)裝備來(lái)說(shuō),可建立各個(gè)組成部分(亦稱(chēng)部件)的結(jié)構(gòu)關(guān)系,從而對(duì)不同部分進(jìn)行控制,以滿(mǎn)足虛擬裝配、拆裝維護(hù)等要求。幾何建模幾何建模的常用方法程序構(gòu)造——利用函數(shù)、點(diǎn)線(xiàn)面直接采集——三維掃描儀、視覺(jué)建模工具——利用軟件幾何建模幾何建模的常用方法程序構(gòu)造——利用函數(shù)、點(diǎn)線(xiàn)面直接采集——三維掃描儀、視覺(jué)建模工具——利用軟件幾何建模幾何建模的常用方法程序構(gòu)造——利用函數(shù)、點(diǎn)線(xiàn)面直接采集——三維掃描儀、視覺(jué)建模工具——利用軟件幾何建模中涉及的基本概念層次細(xì)節(jié)(LOD)自由度(DOF)實(shí)例透明紋理映射材質(zhì)動(dòng)畫(huà)序列層次細(xì)節(jié)技術(shù)(LevelofDetail,LOD)LOD技術(shù)用一組復(fù)雜程度(常常以多邊形數(shù)來(lái)衡量)各不相同的層次模型來(lái)描述對(duì)象,并在運(yùn)行過(guò)程中根據(jù)一些主客觀標(biāo)準(zhǔn)在這些LOD模型進(jìn)行切換,從而能夠?qū)崟r(shí)改變場(chǎng)景的復(fù)雜度。當(dāng)視點(diǎn)變化時(shí),所選取的細(xì)節(jié)模型可能各不相同,并在模型切換的瞬間產(chǎn)生跳躍的感覺(jué),此時(shí)就需要使用過(guò)渡算法(比如,瞬時(shí)關(guān)閉技術(shù)和形狀過(guò)渡技術(shù))來(lái)實(shí)現(xiàn)其中的過(guò)渡。LOD在地形表示中的應(yīng)用

顯示地形最理想的情況是僅僅顯示所需的細(xì)節(jié),而用戶(hù)卻認(rèn)為地形是在以最高的分辨率顯示。因此,那些由許多小平面以最高的分辨率建模的地形,我們希望能夠用較少的較大的小平面不斷地代替,直到整個(gè)地形被降低為在所需范圍內(nèi)的最低表示分辨率。層次結(jié)構(gòu)的四叉樹(shù)表示NPSNET(NavalPostgraduateSchoolNetwork)使用了四叉樹(shù)的存儲(chǔ)策略來(lái)實(shí)現(xiàn)LOD。它采用了一種動(dòng)態(tài)模式,可以動(dòng)態(tài)地調(diào)整分辨率和幀速率,即當(dāng)幀速率降低到某一門(mén)限值以下時(shí),調(diào)整分辨率邊界值,則較多的地形自動(dòng)以相對(duì)低的分辨率顯示;相反地,當(dāng)幀速率超過(guò)某一門(mén)限值時(shí),較多的地形自動(dòng)以相對(duì)高的分辨率顯示。

1km*1km的地形塊地形塊的四叉樹(shù)表逸夫館中某窗戶(hù)的LOD模型15-0米時(shí)選用高級(jí)LOD:96個(gè)多邊形的窗子,全部幾何建模35-15米時(shí)選用中級(jí)LOD:34個(gè)多邊形的窗子,部分使用紋理視點(diǎn)距窗子75-35范圍時(shí)選用低級(jí)LOD:2個(gè)多邊形的窗子,全部使用紋理視點(diǎn)在室外時(shí)僅使用逸夫館外觀模型1800個(gè)三角形視點(diǎn)位于某一樓層時(shí),當(dāng)前樓層中的實(shí)體按距離標(biāo)準(zhǔn)選用LOD模型,其它樓層的大部分實(shí)體暫不繪制室外室內(nèi)某一樓層遠(yuǎn)距離中距離近距離

0個(gè)0個(gè)2個(gè)34個(gè)96個(gè)自由度(DegreeOfFree,DOF)紋理貼圖紋理貼圖是一個(gè)用圖像、函數(shù)或其它數(shù)據(jù)源來(lái)改變表面在每一處的外觀的過(guò)程。例如,我們不必用精確的幾何去表現(xiàn)一塊磚墻,而只需把一幅磚墻的圖像貼到一個(gè)多邊形上。除非觀察者非??拷鼔Γ駝t我們并不會(huì)覺(jué)得缺少幾何細(xì)節(jié)(例如發(fā)現(xiàn)磚頭和泥漿在同一表面上)。既節(jié)省了大量的造型工作量,也節(jié)省了內(nèi)存空間,加快了繪制速度?!癆llittakesisfortherenderedimagetolookright”——JimBlinn紋理貼圖可能的缺陷但是,貼了紋理的磚墻還會(huì)出現(xiàn)并非由于缺少幾何細(xì)節(jié)而出現(xiàn)的不真實(shí)的缺陷。但是:磚是發(fā)亮的(shiny),但是泥漿不是。但我們會(huì)發(fā)現(xiàn)磚和泥漿同樣發(fā)亮。為了生成更真實(shí)的效果,我們還需要一張鏡面高光紋理貼圖。但是:磚不是平的,其表面通常是粗糙的。我們還需要凹凸紋理(Bumpmapping)廣義紋理貼圖(GeneralizedTexturing)紋理貼圖可看成是一種有效的改變物體表面屬性的一種方法。顏色、高光、凹凸、反射、透明度等等都可采用紋理貼圖。從貼圖圖像中取出相應(yīng)的值代入光亮度計(jì)算方程。計(jì)算物體空間位置用投影函數(shù)計(jì)算(u,v)用對(duì)應(yīng)函數(shù)找到紋素應(yīng)用值變換函數(shù)改變方程或Fragment值單個(gè)紋理的廣義貼圖流水線(xiàn)采用該復(fù)雜流水線(xiàn)的原因:每一步都可給用戶(hù)提供有用的控制磚墻紋理貼圖的流水線(xiàn)——計(jì)算空間位置磚墻紋理貼圖的流水線(xiàn)——投影函數(shù)投影函數(shù)把三維空間點(diǎn)轉(zhuǎn)化為紋理坐標(biāo)。常用的投影函數(shù):Spherical,Cylindrical,PlanarProjections,參數(shù)曲面的(u,v)映射其它:如根據(jù)表面法向來(lái)確定6個(gè)平面投影方向sphericalcylindricalplanar應(yīng)用應(yīng)用應(yīng)用(u,v)磚墻紋理貼圖的流水線(xiàn)——對(duì)應(yīng)函數(shù)對(duì)應(yīng)函數(shù)把參數(shù)空間的值轉(zhuǎn)化為紋理空間的位置。第一種對(duì)應(yīng)函數(shù):用API選擇一部分紋理(子紋理)進(jìn)行紋理映射。另一種對(duì)應(yīng)函數(shù):用矩陣變換。由于OpenGL支持4X4矩陣操作,任何API的應(yīng)用層都可采用這類(lèi)變換,如平移、旋轉(zhuǎn)、比例變換、錯(cuò)切等ImageTexturing在硬件圖形加速卡中,紋理圖像的大小經(jīng)常為2m×2n(或者2m×2m)的紋素,其中m和n為非負(fù)整數(shù)。不同的圖形卡有不同的紋理大小上限。若投影得到的象素?cái)?shù)目比原始紋理大,則需要把紋理圖像放大(magnification);若投影得到的象素?cái)?shù)目比原始紋理小,則需要把紋理圖像縮小(minification);OpenGL

mipmapsMipmaps(使用Bi-linear

Interpolation)材質(zhì)(materials)幾何建模的準(zhǔn)則嚴(yán)格按照真實(shí)數(shù)據(jù)建立比例對(duì)應(yīng)的幾何模型一般應(yīng)建立各模型部件的不同層次細(xì)節(jié),以求得漫游性能與模型質(zhì)量間的均衡效果使用最少的多邊形獲取相同的視覺(jué)效果在建模階段即對(duì)具有運(yùn)動(dòng)特征的模型部件進(jìn)行優(yōu)化的數(shù)據(jù)組織,定義基本運(yùn)動(dòng)參數(shù)幾何建模的常見(jiàn)問(wèn)題過(guò)于注重實(shí)體幾何尺寸、表面特性的構(gòu)建,忽略了更為重要的場(chǎng)景數(shù)據(jù)庫(kù)整體結(jié)構(gòu)的優(yōu)化設(shè)計(jì)。Z值爭(zhēng)奪問(wèn)題T型相交問(wèn)題使用凹多邊形表示實(shí)體表面Z值爭(zhēng)奪問(wèn)題多邊形位置重疊造成的Z值爭(zhēng)奪。即兩個(gè)多邊形在空間位置上具有相同的深度值(Z值),導(dǎo)致圖形系統(tǒng)進(jìn)行場(chǎng)景顯示時(shí)使用Z-BUFFER消隱算法無(wú)法正確判斷哪一個(gè)多邊形應(yīng)該優(yōu)先顯示,引起畫(huà)面閃爍。解決此類(lèi)問(wèn)題的方法有多種,如多邊形剪切、子面設(shè)置等。NNN是否已經(jīng)掃描了所有多邊形是否計(jì)算了此多邊形所有的像素?cái)?shù)YYY幀緩沖區(qū)置成背景色Z緩沖區(qū)置成最小Z值掃描當(dāng)前多邊形把Z(x,y)存入Z緩沖區(qū)中的(x,y)處把多邊形在(x,y)處的亮度值存入緩沖區(qū)中的(x,y)處移到下一個(gè)像素計(jì)算多邊形在該像素的深度值Z(x,y)移到下一個(gè)多邊形Z(x,y)是否大于Z緩沖區(qū)在(x,y)處的值多邊形剪切算法T型多邊形組合T型多邊形組合。此類(lèi)問(wèn)題常見(jiàn)于由二維CAD電子圖板經(jīng)拉伸操作構(gòu)成的三維模型中。其導(dǎo)致畫(huà)面閃爍的原因與Z值爭(zhēng)奪相似。應(yīng)在建模過(guò)程中避免T型多邊形組合的出現(xiàn)。使用凹多邊形表示實(shí)體表面使用凹多邊形表示實(shí)體表面。大多數(shù)圖形系統(tǒng)都明確規(guī)定,不能使用凹多邊形繪制實(shí)體表面。一般地,圖形系統(tǒng)對(duì)實(shí)體表面的凹多邊形進(jìn)行自動(dòng)切分,將一個(gè)凹多邊形分解為多個(gè)凸多邊形。3.3虛擬現(xiàn)實(shí)物理建模物理建模物理建模(Physically-basedModeling,PBM)是虛擬現(xiàn)實(shí)中比較高層次的建模,它有機(jī)融入物理模型,將虛擬對(duì)象的物理屬性加以體現(xiàn)。近年來(lái),除了靜態(tài)的物理屬性,越來(lái)越多物理學(xué)中動(dòng)態(tài)過(guò)程,如人體運(yùn)動(dòng)解算、流體計(jì)算、燃燒計(jì)算等與VR結(jié)合,在虛擬環(huán)境中實(shí)現(xiàn)了面部表情的模擬、織物的模擬、爆炸的模擬等。根據(jù)虛擬對(duì)象的物理性質(zhì),可大致分為剛體建模、柔性體建模與流體建模。剛體建模剛體建模適用于僅需考慮位置與方向的改變,而不需要考慮形變的虛擬對(duì)象,建模所涉及的內(nèi)容主要包括剛體的運(yùn)動(dòng)、碰撞檢測(cè)以及連接和約束等問(wèn)題。剛體建?!?jiǎng)傮w的運(yùn)動(dòng)僅包含一個(gè)部件的剛體運(yùn)動(dòng)較為簡(jiǎn)單,可以采用牛頓第二定律等刻畫(huà)其運(yùn)動(dòng)參數(shù)及運(yùn)動(dòng)。對(duì)于包含多個(gè)部件的剛體,如人體、手等,相對(duì)較為復(fù)雜。在刻畫(huà)多個(gè)部件的剛體運(yùn)動(dòng)時(shí),以人體運(yùn)動(dòng)為例,可以有關(guān)鍵幀方法、運(yùn)動(dòng)學(xué)方法和動(dòng)力學(xué)方法等。后兩者分別通過(guò)使用運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)方法建立人體運(yùn)動(dòng)的物理模型。與運(yùn)動(dòng)學(xué)方法相比,動(dòng)力學(xué)方法需指定的參數(shù)較少,而且對(duì)復(fù)雜運(yùn)動(dòng)過(guò)程的模擬更為逼真,但計(jì)算量較大,運(yùn)動(dòng)控制的難度較大。剛體建?!鲎矙z測(cè)剛體的碰撞檢測(cè)主要針對(duì)對(duì)剛體運(yùn)動(dòng)中的碰撞進(jìn)行分析,為加速計(jì)算,一般采用樹(shù)結(jié)構(gòu)對(duì)虛擬環(huán)境中的虛擬對(duì)象進(jìn)行組織,通過(guò)空間剖分法或?qū)哟伟鼑蟹ń?shù)結(jié)構(gòu)??臻g剖分的策略有均勻剖分、BSP樹(shù)、kd樹(shù)和八叉樹(shù)等,適用于分布比較稀疏均勻的幾何對(duì)象間的碰撞檢測(cè)。層次包圍盒法利用形狀簡(jiǎn)單的包圍盒刻畫(huà)復(fù)雜的虛擬對(duì)象,包圍盒的結(jié)構(gòu)有層次包圍球樹(shù)、AABB(Aligned-axisBoundingBox)層次樹(shù)、OBB(OrientedBoundingBox)層次樹(shù)等,適用于復(fù)雜環(huán)境中的碰撞檢測(cè)。八叉樹(shù)空間剖分AABB層次樹(shù)剛體建?!B接和約束連接和約束建模鉸鏈類(lèi)型的虛擬對(duì)象(如門(mén)窗、轉(zhuǎn)動(dòng)的機(jī)械臂)在多個(gè)約束情況下的關(guān)聯(lián)運(yùn)動(dòng)問(wèn)題。關(guān)聯(lián)運(yùn)動(dòng)一般可分為前向關(guān)聯(lián)運(yùn)動(dòng)和反向關(guān)聯(lián)運(yùn)動(dòng),前向關(guān)聯(lián)運(yùn)動(dòng)研究給出關(guān)聯(lián)運(yùn)動(dòng)中每個(gè)關(guān)節(jié)的角度和長(zhǎng)度,求解關(guān)節(jié)末端所能到達(dá)的位置;反向關(guān)聯(lián)運(yùn)動(dòng)研究的是給定某個(gè)位置,確定已知關(guān)節(jié)模型的可達(dá)性。柔性體建模柔性體不同于剛體,在外力的作用下會(huì)產(chǎn)生形變,建模難度更大。柔性體建模主要關(guān)注動(dòng)力學(xué)模型及其迭代求解方法。柔性體建模中常用的動(dòng)力學(xué)模型有連續(xù)體模型、彈簧-質(zhì)點(diǎn)模型等。柔性體建?!B續(xù)體模型連續(xù)體模型使用本構(gòu)模型描述不同材料的物理特性,如彈性力、阻尼力等,再使用有限元方法模擬不同形變下的力或能量。此外,為得到更加理想的物理模擬效果,還可使用力傳感、視覺(jué)傳感器等采集實(shí)際材料的力-形變關(guān)系,更加準(zhǔn)確地描述虛擬對(duì)象的靜態(tài)與動(dòng)態(tài)特性。連續(xù)體模型主要用于虛擬現(xiàn)實(shí)中布料、毛發(fā)、松軟組織、人體器官、肌肉、面部表情的模擬。柔性體建?!獜椈?質(zhì)量模型彈簧-質(zhì)點(diǎn)模型將柔性體表面視為離散的質(zhì)點(diǎn)與連接質(zhì)點(diǎn)的彈簧組成的規(guī)則網(wǎng)格結(jié)構(gòu)。質(zhì)點(diǎn)間通過(guò)彈簧相連,受到彈簧彈力和阻尼力,遵循胡克定律,即當(dāng)實(shí)際長(zhǎng)度大于松弛長(zhǎng)度時(shí),彈簧將對(duì)兩端的質(zhì)點(diǎn)產(chǎn)生相向的拉力;反之,在外力作用下變形后,有恢復(fù)原樣(松弛狀態(tài))的傾向。柔性體建?!黧w建模流體建模主要使用計(jì)算流體力學(xué)模型,如使用納維-斯托克斯(Navier-Stokes,NS)方程建模流體的運(yùn)動(dòng)。NS方程常見(jiàn)的迭代求解方法有基于網(wǎng)格的方法和無(wú)網(wǎng)格的方法?;诰W(wǎng)格的方法主要使用拉格朗日網(wǎng)格或歐拉網(wǎng)格模擬流體在固定網(wǎng)格單元上的運(yùn)動(dòng),是目前流體模擬的主要方法。但是,基于網(wǎng)格的方法容易產(chǎn)生網(wǎng)格畸變導(dǎo)致計(jì)算誤差過(guò)大。此外,該方法難以模擬大形變現(xiàn)象,如動(dòng)態(tài)裂紋擴(kuò)展、流固耦合等。無(wú)網(wǎng)格的方法通過(guò)使用一系列任意分布的節(jié)點(diǎn)(或粒子)來(lái)求解具有各種邊界條件的NS方程,節(jié)點(diǎn)或粒子之間不需要網(wǎng)格進(jìn)行連接,因此不僅可以保證計(jì)算的精度,還可降低計(jì)算的難度?;诰W(wǎng)格的流體仿真無(wú)網(wǎng)格(SPH)的流體仿真3.4虛擬現(xiàn)實(shí)行為建模行為建模VR中的行為建模主要研究虛擬環(huán)境中自治對(duì)象建模方法,如游戲中由計(jì)算機(jī)控制的角色,元宇宙中的人工智能生成的智能體等。早期工作中,行為建模的研究主要在軍事仿真領(lǐng)域,如ModSAF、STOW、WARSIM2000等分布式虛擬戰(zhàn)場(chǎng)環(huán)境中的計(jì)算機(jī)生成兵力。隨著VR研究與應(yīng)用的發(fā)展,行為建模已拓展到公共安全、教育、文化娛樂(lè)等眾多領(lǐng)域,如應(yīng)急仿真規(guī)劃系統(tǒng)(EmergencySimulationProgram,ESP)等。近年來(lái),隨著數(shù)字孿生和元宇宙等的興起,各類(lèi)VR應(yīng)用對(duì)自治對(duì)象行為的智能水平提出了越來(lái)越高的要求。這一領(lǐng)域?qū)儆谂c人工智能的交叉研究范疇,與生成式人工智能(ArtificialIntelligenceGeneratedContent,AIGC)和應(yīng)用都有密切的關(guān)聯(lián),雖進(jìn)展緩慢但卻是未來(lái)VR發(fā)展的重要關(guān)注點(diǎn)。行為建模根據(jù)自治對(duì)象的類(lèi)型,可以將行為建模分為個(gè)體建模與群體建模兩類(lèi)。其中,群體又有聚合類(lèi)對(duì)象和自治對(duì)象組織兩類(lèi)。聚合類(lèi)對(duì)象包括多個(gè)個(gè)體,但可以使用多種解析度來(lái)表示。例如,既可以將其當(dāng)作整體單一的對(duì)象,也可將其看作多個(gè)個(gè)體。根據(jù)具體的事件對(duì)群體的影響,可以采用不同的解析度。例如,在考察高溫對(duì)人群行為的影響時(shí),可以將人群看作一個(gè)整體來(lái)建模;但在考察火災(zāi)對(duì)人群行為的影響時(shí),需要采用高解析度來(lái)建模不同的個(gè)體。聚合體對(duì)象行為建模主要內(nèi)容包括計(jì)算模型、多解析度表現(xiàn)方法,以及聚合、解聚規(guī)則等。行為建模根據(jù)自治對(duì)象的類(lèi)型,可以將行為建模分為個(gè)體建模與群體建模兩類(lèi)。其中,群體又有聚合類(lèi)對(duì)象和自治對(duì)象組織兩類(lèi)。自治對(duì)象組織的行為建模更加復(fù)雜。自治對(duì)象組織是若干獨(dú)立存在個(gè)體的組織,其中每個(gè)個(gè)體進(jìn)行自主決策,同時(shí)服從組織的控制。因此,自治對(duì)象的行為表現(xiàn)為個(gè)體行為和整體組織行為兩個(gè)層面,不同層面對(duì)行為建模的要求不同。常用行為建模方法有限狀態(tài)自動(dòng)機(jī)自治對(duì)象的簡(jiǎn)單反應(yīng)性行為可以采用有限狀態(tài)自動(dòng)機(jī)進(jìn)行建模。其中,自治對(duì)象每種可能的反應(yīng)動(dòng)作表示為一個(gè)狀態(tài),發(fā)生的事件控制狀態(tài)間的轉(zhuǎn)換。采用有限狀態(tài)自動(dòng)機(jī)是軍事仿真中常用的行為建模方法。面向?qū)<蚁到y(tǒng)的建模方法將自治對(duì)象看成一個(gè)近似的專(zhuān)家系統(tǒng),將其行為建模看作知識(shí)的獲取、表示和推理系統(tǒng)建立的過(guò)程,比較適合個(gè)體和群體的建模。對(duì)確定性知識(shí),采用基于邏輯、規(guī)則、框架的表示,以及相應(yīng)的推理系統(tǒng);對(duì)不確定性知識(shí),可采用模糊邏輯、神經(jīng)網(wǎng)絡(luò)、基于范例的推理和貝葉斯方法等。此外,還可使用強(qiáng)化學(xué)習(xí)等方法以提高自治對(duì)象的求解復(fù)雜問(wèn)題的能力?;趯?zhuān)家系統(tǒng)的方法基于Agent的建模方法將人工智能中關(guān)于Agent的研究引入VR中,適用于個(gè)體和群體的行為建模。相較上述方法,基于Agent的建模方法一方面能夠描述個(gè)體對(duì)象的自主性、自治性和智能性等特征,如建模個(gè)體對(duì)象的信念、意圖、愿望等;另一方面Agent之間的通信、協(xié)商、協(xié)作等可以描述自治對(duì)象組織的協(xié)作特性。目前,基于Agent的行為建模已得到越來(lái)越多的應(yīng)用?;贏gent的方法3.5虛擬現(xiàn)實(shí)建模的特點(diǎn)與評(píng)價(jià)指標(biāo)虛擬現(xiàn)實(shí)建模的特點(diǎn)由于要實(shí)時(shí)操控和處理虛擬對(duì)象,虛擬現(xiàn)實(shí)建模方法與傳統(tǒng)計(jì)算機(jī)輔助設(shè)計(jì)中以幾何造型為主的建模有所不同。例如,在計(jì)算機(jī)輔助設(shè)計(jì)中,往往通過(guò)增加模型的幾何復(fù)雜度來(lái)提高建模的準(zhǔn)確度。但在VR中,更傾向于使用紋理、層次細(xì)節(jié)等技術(shù)來(lái)提升虛擬對(duì)象的逼真度。虛擬現(xiàn)實(shí)建模的內(nèi)容相較傳統(tǒng)計(jì)算機(jī)圖形學(xué)中的建模更為豐富,除對(duì)虛擬對(duì)象的外形、表觀、結(jié)構(gòu)等信息進(jìn)行表征外,還建模了虛擬對(duì)象的物理屬性、行為屬性等,從而為用戶(hù)提供具有沉浸感的交互體驗(yàn)。虛擬現(xiàn)實(shí)建模的特點(diǎn)差異虛擬現(xiàn)實(shí)建模計(jì)算機(jī)輔助設(shè)計(jì)建模計(jì)算機(jī)圖形學(xué)建模特點(diǎn)具有真實(shí)感、實(shí)時(shí)性和交互性,考慮交互性和實(shí)現(xiàn)意圖;模型細(xì)節(jié)比較少,可以提高實(shí)時(shí)性具有準(zhǔn)確性,較少考慮實(shí)時(shí)性和交互性;模型細(xì)節(jié)較多,可以犧牲實(shí)時(shí)性來(lái)獲得較高的精度具有真實(shí)感,較少考慮實(shí)時(shí)性和交互性;模型細(xì)節(jié)較多,渲染效果可以預(yù)先計(jì)算用戶(hù)親身體驗(yàn)虛擬環(huán)境,身臨其境,能夠交互,無(wú)時(shí)限限制,可真實(shí)詳盡地展示能夠交互,不考慮沉浸感能夠交互,較少考慮沉浸感應(yīng)用主要用于仿真,需要對(duì)用戶(hù)輸入做出反應(yīng),如飛行訓(xùn)練、游戲和視景仿真等主要用于工業(yè)制造與仿真計(jì)算,如機(jī)械零件設(shè)計(jì)、芯片電路仿真等主要用于影視、流媒體、電子游戲等,以預(yù)先設(shè)計(jì)好的演示為主虛擬現(xiàn)實(shí)建模評(píng)價(jià)指標(biāo)真實(shí)感真實(shí)感是度量虛擬對(duì)象感知精確程度的指標(biāo),包括但不限于視覺(jué)真實(shí)感、觸覺(jué)真實(shí)感等;實(shí)時(shí)性虛擬現(xiàn)實(shí)應(yīng)用要求虛擬對(duì)象或場(chǎng)景的顯示幀率不低于某一閾值,否則會(huì)影響用戶(hù)的視覺(jué)感知質(zhì)量;交互延遲虛擬現(xiàn)實(shí)應(yīng)用對(duì)交互延遲有高的要求。響應(yīng)時(shí)間太長(zhǎng)會(huì)大大影響用戶(hù)的體驗(yàn);易用性虛擬現(xiàn)實(shí)應(yīng)用對(duì)交互延遲有高的要求。響應(yīng)時(shí)間太長(zhǎng)會(huì)大大影響用戶(hù)的體驗(yàn);……3.6幾何建模例——點(diǎn)云化簡(jiǎn)點(diǎn)云化簡(jiǎn)點(diǎn)云的質(zhì)量取決于采樣密度,然而較大的采樣密度往往導(dǎo)致虛擬對(duì)象的幾何復(fù)雜度上升,不利于存儲(chǔ)與處理。特別對(duì)于存儲(chǔ)與計(jì)算資源有限的設(shè)備,如移動(dòng)終端,大規(guī)模點(diǎn)云往往導(dǎo)致較高的交互延遲,降低了用戶(hù)的視覺(jué)體驗(yàn)。因此,需要引入點(diǎn)云的化簡(jiǎn)技術(shù)對(duì)其進(jìn)行優(yōu)化?,F(xiàn)有點(diǎn)云化簡(jiǎn)算法迭代法迭代法是指不斷的從點(diǎn)云中去掉按某種標(biāo)準(zhǔn)計(jì)算的貢獻(xiàn)值或誤差值最小的點(diǎn),直到誤差或貢獻(xiàn)值達(dá)到閾值為止,從而得到一個(gè)子集作為簡(jiǎn)化結(jié)果。該方法類(lèi)似于漸近網(wǎng)格的簡(jiǎn)化方法。這類(lèi)方法較為簡(jiǎn)單高效,但是不能保證全局采樣點(diǎn)的均勻分布。聚類(lèi)法是指把輸入點(diǎn)集按照一定規(guī)則進(jìn)行聚類(lèi),劃分成一些小的子集,這些小的子集不能超過(guò)給定的上限范圍,如直徑的大小等。如采用基于采樣點(diǎn)層次結(jié)構(gòu)的聚類(lèi)簡(jiǎn)化方法,該方法通過(guò)空間二分將點(diǎn)集遞歸地進(jìn)行劃分聚類(lèi)。也有方法通過(guò)PCA找到關(guān)鍵點(diǎn),然后進(jìn)行聚類(lèi),從而得到保持幾何特征的簡(jiǎn)化結(jié)果。這類(lèi)方法簡(jiǎn)單且快速,但是誤差較大,且因?yàn)闆](méi)有優(yōu)化策略,所以結(jié)果通常會(huì)包含很多多余的點(diǎn)。聚類(lèi)法粒子仿真法是指通過(guò)施加點(diǎn)的斥力使點(diǎn)的分布均勻化的方法。該方法首先在表面隨機(jī)分布需要的粒子數(shù),然后通過(guò)點(diǎn)的斥力移動(dòng)粒子的位置直到達(dá)到平衡。該類(lèi)方法能較好地控制采樣密度,但是由于收斂速度較慢,處理大規(guī)模數(shù)據(jù)時(shí)效率較低。粒子仿真法上述三類(lèi)方法在簡(jiǎn)化過(guò)程中,將點(diǎn)云中的點(diǎn)看成單純幾何意義上的點(diǎn),且不能預(yù)先指定逼近誤差,因此簡(jiǎn)化效果往往不能準(zhǔn)確表示虛擬對(duì)象的結(jié)構(gòu),并且難以收斂?;赟plats的點(diǎn)云簡(jiǎn)化方法在簡(jiǎn)化過(guò)程中考慮到點(diǎn)云的繪制圖元的幾何空間影響,并能用預(yù)先指定的全局誤差進(jìn)行控制,得到了較好的簡(jiǎn)化效果。以常見(jiàn)的點(diǎn)的繪制圖元splat為例,首先在指定全局誤差下,生成每個(gè)采樣點(diǎn)的最大splat;然后采用貪心算法選擇能覆蓋整個(gè)表面的最小子集;最后通過(guò)全局優(yōu)化算法使所有的splat均勻分布。基于繪制圖元的方法相較上述三類(lèi)方法能夠取到較好的簡(jiǎn)化結(jié)果,但是計(jì)算復(fù)雜,時(shí)間開(kāi)銷(xiāo)較大。改進(jìn)的算法思想基于MLS和splat的點(diǎn)云化簡(jiǎn)方法的核心思想是使用MLS投影算子計(jì)算splat的中心點(diǎn),使得splat與其覆蓋范圍內(nèi)的原始點(diǎn)云采樣的點(diǎn)的子集之間的誤差和最小。由此得到一個(gè)代表鄰域的誤差最小的splat。通過(guò)上述方法獲得的所有splat的中心點(diǎn)的集合,就是一個(gè)化簡(jiǎn)后的點(diǎn)云。整個(gè)算法包括兩個(gè)步驟:首先,為每個(gè)原始點(diǎn)云的采樣點(diǎn)創(chuàng)建對(duì)應(yīng)的splat集;其次,通過(guò)貪心算法選擇一組能夠覆蓋整個(gè)模型且數(shù)量最小的splat集合。選擇標(biāo)準(zhǔn)是循環(huán)選取覆蓋點(diǎn)數(shù)增值最大的splat,直到選擇的splat集合能夠覆蓋所有的輸入采樣點(diǎn)集。算法實(shí)現(xiàn)創(chuàng)建splat集合MLS投影計(jì)算splat中心點(diǎn)Splat覆蓋區(qū)域Splat最小集選擇算法算法實(shí)現(xiàn)MLS投影計(jì)算splat中心點(diǎn)MLS是根據(jù)鄰域點(diǎn)進(jìn)行局部多項(xiàng)式逼近的方法,MLS投影表示將點(diǎn)投影到MLS逼近的表面上。對(duì)輸入點(diǎn)進(jìn)行MLS投影可以得到代表鄰域的誤差最小的點(diǎn),將其作為splat中心點(diǎn),可以得到誤差最小的代表鄰域的splat面,從而得到分布更加合理的splats集。算法實(shí)現(xiàn)MLS投影計(jì)算splat中心點(diǎn)

接下來(lái),使用協(xié)方差分析來(lái)評(píng)估法線(xiàn),其原理主要基于主成分分析。首先根據(jù)待求點(diǎn)??及其鄰域點(diǎn)計(jì)算其協(xié)方差矩陣??,如下所示:

協(xié)方差矩陣表示了點(diǎn)鄰域內(nèi)采樣點(diǎn)的分布情況,對(duì)其進(jìn)行特征值分析可以評(píng)估其局部表面的屬性。

算法實(shí)現(xiàn)splats覆蓋區(qū)域獲得splat的法線(xiàn)和中心點(diǎn)之后,需要知道每個(gè)splat的覆蓋面積,這取決于預(yù)先指定的全局最大誤差閾值。用splat來(lái)代表其覆蓋的鄰域范圍,則鄰域點(diǎn)中某點(diǎn)的誤差即點(diǎn)到splat在法線(xiàn)方向上的距離算法實(shí)現(xiàn)splats覆蓋區(qū)域

算法實(shí)現(xiàn)splats最小集選擇選擇算法的目的是獲取能覆蓋整個(gè)表面的最小splats集。具體地,通過(guò)貪心算法不斷地選取覆蓋點(diǎn)數(shù)增值最大的splat,直到選擇的splat子集能夠覆蓋所有的輸入采樣點(diǎn)。

算法實(shí)現(xiàn)splats最小集選擇算法

實(shí)驗(yàn)結(jié)果首先,使用少量的點(diǎn)驗(yàn)證MLS投影的效果,實(shí)驗(yàn)結(jié)果如圖所示。其中,綠色點(diǎn)表示點(diǎn)(藍(lán)色點(diǎn))的最近20個(gè)鄰域點(diǎn),(紅色點(diǎn))是點(diǎn)的MLS投影點(diǎn)。

可看出,MLS投影點(diǎn)比點(diǎn)更適合用來(lái)代表的鄰域。實(shí)驗(yàn)結(jié)果接著,在不同幾何復(fù)雜度的點(diǎn)云上進(jìn)行了化簡(jiǎn)實(shí)驗(yàn),化簡(jiǎn)結(jié)果如表所示??梢钥闯觯惴梢杂行У鼗?jiǎn)模型,且計(jì)算時(shí)間較短。模型輸入點(diǎn)數(shù)

簡(jiǎn)化后的點(diǎn)數(shù)簡(jiǎn)化時(shí)間(s)bunny35,9450.2477180.1864130.051,559110.023,150100.014,6166santa75,7810.1638760.022,52540horse100,0000.18901110.051,695740.023,459490.015,40643igea134,3450.051,0823290.022,9501220.015,494136armadillo172,9740.29,7372150.116,7292230.0525,764229dragon437,6450.0122,576831實(shí)驗(yàn)結(jié)果右圖展示了化簡(jiǎn)后的點(diǎn)云的繪制結(jié)果。其中,圖(a)~圖(d)是原始虛擬對(duì)象;圖(e)~圖(h)是使用算法化簡(jiǎn)后的虛擬對(duì)象??梢钥闯?,經(jīng)過(guò)算法化簡(jiǎn)的點(diǎn)云在點(diǎn)數(shù)減少的同時(shí)能夠保持原始虛擬對(duì)象的幾何特性。實(shí)驗(yàn)結(jié)果使用點(diǎn)數(shù)規(guī)模更大的點(diǎn)云進(jìn)行了實(shí)驗(yàn)??梢钥闯觯惴▽?duì)于大規(guī)模點(diǎn)云同樣具有良好的簡(jiǎn)化效果。實(shí)驗(yàn)結(jié)果該圖展示了不同的全局最大誤差閾值對(duì)點(diǎn)云化簡(jiǎn)的繪制效果的影響。其中,圖(a)~(c)為基于splat的繪制;圖(d)~(f)為基于球的繪制,每個(gè)球的半徑等于splat的半徑。從圖中可以看出,所選擇的splat子集在不同全局最大誤差下均能有效覆蓋虛擬對(duì)象的表面。3.7物理建模例——虛擬人體運(yùn)動(dòng)合成人體骨架系統(tǒng)構(gòu)建在人體骨架系統(tǒng)構(gòu)建方面,有兩種通用標(biāo)準(zhǔn),分別是:VRML使用的H-Anim標(biāo)準(zhǔn)MPEG提出的虛擬人體標(biāo)準(zhǔn)H-Anim標(biāo)準(zhǔn)是一種用于描繪擬人動(dòng)畫(huà)的3D虛擬人體模型標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)規(guī)定虛擬人體由Humanoid、Joint、Segment、Site、Displacer等節(jié)點(diǎn)組成。MPEG標(biāo)準(zhǔn)與之不同,在MPEG中,虛擬人體模型由一組節(jié)點(diǎn)組成。其中,頂層節(jié)點(diǎn)BodyNode至少包括兩個(gè)子節(jié)點(diǎn):人體的運(yùn)動(dòng)參數(shù)和表示人體模型定義的參數(shù)。人體運(yùn)動(dòng)參數(shù)包含296個(gè)描述虛擬人體骨架拓?fù)浣Y(jié)構(gòu)的參數(shù),這些參數(shù)可被應(yīng)用于MPEG兼容的虛擬人體幾何模型,并生成相同的虛擬人體運(yùn)動(dòng)。關(guān)節(jié)運(yùn)動(dòng)描述

關(guān)節(jié)運(yùn)動(dòng)描述為了方便對(duì)虛擬人體骨架模型的運(yùn)動(dòng)進(jìn)行描述,一般規(guī)定兩種坐標(biāo)系:一種是用于描述根節(jié)點(diǎn)位置和朝向的世界坐標(biāo)系(也稱(chēng)為絕對(duì)坐標(biāo)系),另一種是關(guān)節(jié)的局部坐標(biāo)系(也稱(chēng)為相對(duì)坐標(biāo)系)。以下圖手臂剛體結(jié)構(gòu)為例,

基于運(yùn)動(dòng)圖的虛擬人體運(yùn)動(dòng)合成所謂運(yùn)動(dòng)合成,是指對(duì)無(wú)序的運(yùn)動(dòng)捕獲數(shù)據(jù)進(jìn)行組織,進(jìn)而根據(jù)需求對(duì)其中的若干個(gè)數(shù)據(jù)序列進(jìn)行某種方式的連接與融合,得到新的運(yùn)動(dòng)數(shù)據(jù)序列。運(yùn)動(dòng)圖是一種基于圖的運(yùn)動(dòng)片段組織方式,本質(zhì)上是由節(jié)點(diǎn)和邊組成的有向圖,其中的“節(jié)點(diǎn)”對(duì)應(yīng)于靜態(tài)的人體骨架系統(tǒng)(也可稱(chēng)為人體姿態(tài)),而“邊”對(duì)應(yīng)于連接姿態(tài)的運(yùn)動(dòng)片段。用戶(hù)通過(guò)搜索運(yùn)動(dòng)圖就能合成出逼真的運(yùn)動(dòng)序列。

算法思想基于運(yùn)動(dòng)圖的交互式運(yùn)動(dòng)合成方法首先使用一種基于特征的人體運(yùn)動(dòng)捕獲數(shù)據(jù)自動(dòng)分割方法將原始運(yùn)動(dòng)數(shù)據(jù)進(jìn)行分割;然后,基于分割的運(yùn)動(dòng)數(shù)據(jù)片段構(gòu)建運(yùn)動(dòng)圖;最后,在實(shí)時(shí)運(yùn)動(dòng)控制過(guò)程中,利用運(yùn)動(dòng)圖生成符合環(huán)境約束的運(yùn)動(dòng),用戶(hù)可以實(shí)時(shí)改變運(yùn)動(dòng)軌跡,控制虛擬人體沿著指定的軌跡運(yùn)動(dòng)。特別地,在控制虛擬人體沿著新軌跡運(yùn)動(dòng)時(shí),采用對(duì)路徑曲線(xiàn)弧長(zhǎng)參數(shù)化的方法,求得原始運(yùn)動(dòng)在目標(biāo)軌跡上的位置和朝向,從而將虛擬人體重定位到目標(biāo)軌跡曲線(xiàn)上,完成路徑合成部分。

算法設(shè)計(jì)算法包含四個(gè)模塊:虛擬化身物理模型構(gòu)建模塊運(yùn)動(dòng)圖構(gòu)建模塊交互式軌跡編輯模塊虛擬化身運(yùn)動(dòng)控制模塊算法設(shè)計(jì)虛擬化身物理模型構(gòu)建模塊將從運(yùn)動(dòng)捕捉設(shè)備獲取的數(shù)據(jù)存儲(chǔ)為ASF/AMC格式,并進(jìn)行解析。ASF/AMC格式的運(yùn)動(dòng)捕獲數(shù)據(jù)文件主要包含兩部分。其中,ASF格式文件記錄人體骨架數(shù)據(jù),AMC格式文件記錄運(yùn)動(dòng)數(shù)據(jù)。ASF格式文件給出了人體骨架模型,并設(shè)定了初始姿態(tài)。ASF格式文件包括捕獲系統(tǒng)說(shuō)明、度量單位、文檔描述、根節(jié)點(diǎn)信息、關(guān)節(jié)信息、關(guān)節(jié)之間的層次結(jié)構(gòu)等6部分。AMC格式文件與ASF格式文件的內(nèi)容相對(duì)應(yīng),以幀為單位記錄了每一幀中根關(guān)節(jié)的平移和旋轉(zhuǎn)向量,以及其他各個(gè)關(guān)節(jié)在各個(gè)自由度方向上的旋轉(zhuǎn),在ASF文件中,旋轉(zhuǎn)以歐拉角的形式給出。

算法設(shè)計(jì)虛擬化身物理模型構(gòu)建模塊從ASF格式數(shù)據(jù)文件構(gòu)建虛擬人體的骨架模型所構(gòu)建的骨架模型包含31個(gè)關(guān)節(jié)點(diǎn),各個(gè)關(guān)節(jié)點(diǎn)之間采用樹(shù)形的組織形式;整個(gè)人體運(yùn)動(dòng)模型有一個(gè)根節(jié)點(diǎn),它是整個(gè)人體骨骼樹(shù)結(jié)構(gòu)的根節(jié)點(diǎn)。根節(jié)點(diǎn)由6個(gè)維度構(gòu)成,分別是三個(gè)方向的平移量和三個(gè)方向的旋轉(zhuǎn)量,三個(gè)方向的平移量決定了該骨骼運(yùn)動(dòng)樹(shù)所表示的人體運(yùn)動(dòng)姿態(tài)的位置,而三個(gè)方向的旋轉(zhuǎn)量決定了該骨骼運(yùn)動(dòng)樹(shù)所表示的人體運(yùn)動(dòng)姿態(tài)的朝向。其余各個(gè)子節(jié)均有1到3個(gè)自由度,表示在其父節(jié)點(diǎn)所表征的局部坐標(biāo)系下該關(guān)節(jié)點(diǎn)的旋轉(zhuǎn)。此外,ASF格式文件結(jié)構(gòu)給出了虛擬人體的初始姿態(tài)以及各個(gè)關(guān)節(jié)的局部坐標(biāo)系信息。

算法設(shè)計(jì)虛擬化身物理模型構(gòu)建模塊從骨架模型構(gòu)建出虛擬人體的層次樹(shù)骨架模型中的每個(gè)關(guān)節(jié)點(diǎn)都成為層次樹(shù)的一個(gè)節(jié)點(diǎn)。其中,每個(gè)節(jié)點(diǎn)存儲(chǔ)著關(guān)節(jié)的自由度以及相應(yīng)的運(yùn)動(dòng)描述信息。

算法設(shè)計(jì)運(yùn)動(dòng)圖構(gòu)建運(yùn)動(dòng)片段分割。對(duì)運(yùn)動(dòng)捕獲數(shù)據(jù)進(jìn)行合理分割是構(gòu)建運(yùn)動(dòng)圖的前提和基礎(chǔ)。以雙足運(yùn)動(dòng)為例,將人與環(huán)境接觸的關(guān)鍵姿態(tài)稱(chēng)為關(guān)鍵幀,如雙足運(yùn)動(dòng)中腳接觸地面的時(shí)刻,關(guān)鍵幀體現(xiàn)了該運(yùn)動(dòng)的運(yùn)動(dòng)特征。利用關(guān)鍵幀將運(yùn)動(dòng)數(shù)據(jù)分割為若干個(gè)運(yùn)動(dòng)片段,為構(gòu)建運(yùn)動(dòng)圖提供基礎(chǔ)。

首先,計(jì)算一只腳(左腳或者右腳)在所有運(yùn)動(dòng)數(shù)據(jù)幀中的全局坐標(biāo)系下的絕對(duì)位置,取腳在高度方向的坐標(biāo)值;接著,尋找所選腳的第一個(gè)關(guān)鍵幀,即開(kāi)始邁第一步的幀數(shù),選擇依據(jù)是梯度由負(fù)變?yōu)檎⑶耶?dāng)前全局位置在全局最低點(diǎn)位置的10%鄰域內(nèi);然后,找到所選腳的第二個(gè)關(guān)鍵幀,即第一步的最高點(diǎn)的幀數(shù),選擇依據(jù)是梯度由正變?yōu)樨?fù)并且當(dāng)前全局位置在全局最高點(diǎn)位置的10%鄰域;最后,尋找所選腳的第三個(gè)關(guān)鍵幀,即第一步的結(jié)束幀,選擇依據(jù)同第一個(gè)關(guān)鍵幀的選取方法。

算法設(shè)計(jì)運(yùn)動(dòng)圖構(gòu)建構(gòu)建運(yùn)動(dòng)圖

算法設(shè)計(jì)交互式軌跡編輯基于所構(gòu)建的運(yùn)動(dòng)圖,使用交互式的軌跡編輯來(lái)控制虛擬人體的運(yùn)動(dòng)合成,從而使之按照預(yù)設(shè)的軌跡進(jìn)行平滑運(yùn)動(dòng)。具體地,使用Kochanek-Bartels樣條函數(shù)對(duì)虛擬人體的軌跡進(jìn)行擬合。

在修改虛擬人體運(yùn)動(dòng)軌跡的時(shí)候,首先調(diào)整視點(diǎn),通過(guò)拖動(dòng)鼠標(biāo)對(duì)軌跡進(jìn)行編輯;修改軌跡操作完成后,將視點(diǎn)恢復(fù),原始運(yùn)動(dòng)軌跡得到修改。

視點(diǎn)調(diào)整以后調(diào)整運(yùn)動(dòng)軌跡

視點(diǎn)還原以后的軌跡示意圖

算法設(shè)計(jì)虛擬化身運(yùn)動(dòng)控制在求解虛擬人體在目標(biāo)軌跡上每一幀的根節(jié)點(diǎn)的坐標(biāo)位置和方向的時(shí)候,采用基于軌跡弧長(zhǎng)參數(shù)化的方法來(lái)解決。將虛擬人體的位置以弧長(zhǎng)為單位映射到目標(biāo)軌跡上,使得相同的時(shí)間內(nèi)移動(dòng)相同的距離,從而保證虛擬人體在目標(biāo)軌跡上移動(dòng)的速度與在原始軌跡上的速度一致。當(dāng)目標(biāo)軌跡長(zhǎng)度與原始軌跡長(zhǎng)度不一致的時(shí)候,不能保證運(yùn)動(dòng)結(jié)束在軌跡末端。因此,需要根據(jù)目標(biāo)軌跡長(zhǎng)度合成新的運(yùn)動(dòng),使得運(yùn)動(dòng)可以進(jìn)行到軌跡末端,這就需要利用上面生成得到的運(yùn)動(dòng)圖進(jìn)行合成。

實(shí)驗(yàn)結(jié)果運(yùn)動(dòng)合成的效果下圖展示了運(yùn)動(dòng)數(shù)據(jù)自動(dòng)分割方法結(jié)果。通過(guò)對(duì)運(yùn)動(dòng)捕獲數(shù)據(jù)進(jìn)行自動(dòng)分割,得到了四個(gè)單位步長(zhǎng)的運(yùn)動(dòng)數(shù)據(jù)片段,從左往右依次是左腿跑、右腿跑、左腿走與右腿走。

實(shí)驗(yàn)結(jié)果運(yùn)動(dòng)合成的效果基于上述運(yùn)動(dòng)圖構(gòu)建方法,利用自動(dòng)分割得到的單位步長(zhǎng)運(yùn)動(dòng)數(shù)據(jù)片段合成如下運(yùn)動(dòng)序列。實(shí)驗(yàn)結(jié)果交互式制定運(yùn)動(dòng)軌跡合成運(yùn)動(dòng)已知原始運(yùn)動(dòng)捕獲數(shù)據(jù),通過(guò)交互指定運(yùn)動(dòng)軌跡使得虛擬人體沿著新軌跡運(yùn)動(dòng)

。3.8物理建模例——基于SPH的熱帶氣旋建模算法思想自L(fǎng)ucy和Gingold和Monaghan等分別提出了光滑質(zhì)點(diǎn)流體動(dòng)力學(xué)(SmoothedParticleHydrodynamics,簡(jiǎn)稱(chēng)SPH)方法,并且成功地應(yīng)用于天體物理領(lǐng)域之后,SPH法已經(jīng)被應(yīng)用于沖擊波模擬、流體動(dòng)力學(xué)、水下爆炸仿真模擬、高速碰撞等材料動(dòng)態(tài)響應(yīng)的數(shù)值模擬等領(lǐng)域。然而,SPH在計(jì)算過(guò)程中對(duì)步長(zhǎng)的要求比較苛刻。Miles和Matthias在2013年在設(shè)計(jì)了PBF(Positionbasedfluid,基于位置的流體)算法,通過(guò)求解一組位置約束,從而強(qiáng)制保證不可壓縮性。與傳統(tǒng)SPH方法相比,PBF求解過(guò)程中不是通過(guò)先分析所有的受力情況,然后再計(jì)算仿真對(duì)象的加速度,進(jìn)而求解速度和位移的過(guò)程,而是先應(yīng)用平流估計(jì),即主要外力作用和慣性產(chǎn)生的位移,然后在此位置上通過(guò)迭代求解滿(mǎn)足相應(yīng)的應(yīng)力作用的位移直到收斂,因此在較大時(shí)間步長(zhǎng)下,可以實(shí)現(xiàn)較為真實(shí)的云的運(yùn)動(dòng)。算法設(shè)計(jì)算法1:PBF算法1for2

3end4loop5

for6

7

求解速度阻尼8

9

end

10

for11

12

end

13

while迭代次數(shù)<最少迭代次數(shù)do14

15

end

16

for17

18

19

end

20

21end

算法設(shè)計(jì)

算法設(shè)計(jì)為更符合云的物理運(yùn)動(dòng)過(guò)程,對(duì)PBF框架進(jìn)行若干修改,設(shè)計(jì)帶旋轉(zhuǎn)的基于PBF的云建模方法。算法2:帶旋轉(zhuǎn)的基于PBF的云建模算法1for2

3

4end5for6

7end

8while迭代次數(shù)<最少迭代次數(shù)do9

for10

11

end

12

for13

14

執(zhí)行碰撞檢測(cè)和響應(yīng)15

end

16

for17

18

end

19end20for21

22

應(yīng)用渦旋約束和XSPH粘性23

24end

與PBF算法相比,帶旋轉(zhuǎn)的基于PBF的云建模算法在第2行中使用的外力包括重力和科里奧利力;同時(shí)將PBF算法中碰撞檢測(cè)和響應(yīng)過(guò)程放到求解不變形約束的約束求解過(guò)程中(第12~14行)。此外,為解決未預(yù)期的阻尼,還增加了渦旋約束和XSPH粘性。

算法設(shè)計(jì)具體改進(jìn)點(diǎn)

算法設(shè)計(jì)具體改進(jìn)點(diǎn)

算法設(shè)計(jì)具體改進(jìn)點(diǎn)拉伸不穩(wěn)定性在SPH仿真中常見(jiàn)的一個(gè)問(wèn)題是由于粒子周邊鄰居粒子過(guò)少導(dǎo)致負(fù)壓強(qiáng),導(dǎo)致粒子聚集的現(xiàn)象,如圖(a)所示。通過(guò)增加人工壓力,可保持壓力的非負(fù)性,減少粒子的凝聚性,如圖(b)所示。

具體地,在光滑核函數(shù)中增加一個(gè)人工壓力,如下所示:

算法設(shè)計(jì)具體改進(jìn)點(diǎn)

實(shí)驗(yàn)結(jié)果云例子屬性構(gòu)建屬性英文名稱(chēng)屬性含義位置Position粒子的當(dāng)前位置半徑Radius粒子的半徑速度Velocity粒子的當(dāng)前運(yùn)動(dòng)速度加速度Acceleration粒子運(yùn)動(dòng)的加速度質(zhì)量Mass粒子的質(zhì)量質(zhì)量倒數(shù)Inversemass粒子的質(zhì)量的倒數(shù)初始位置Position0粒子的初始位置上一幀位置Oldposition粒子上一幀所在的位置上兩幀位置Lastposition粒子上兩幀所在的位置實(shí)驗(yàn)結(jié)果熱帶氣旋模擬結(jié)果經(jīng)過(guò)粒子系統(tǒng)初始狀態(tài)構(gòu)建后,從WRF數(shù)據(jù)集中采樣粒子的位置、速度、密度、壓強(qiáng)等信息,利用帶旋轉(zhuǎn)的基于PBF的云建模方法即可實(shí)現(xiàn)熱帶氣旋的建模。右圖展示了熱帶氣旋的建模結(jié)果。數(shù)據(jù)時(shí)間范圍為2010年9月15日0時(shí)至2010年9月15日11時(shí)30分(共12個(gè)小時(shí)),空間范圍為東經(jīng)113.0到120.8度;北緯22.2到25.8度。

3.9習(xí)題習(xí)題在Unity中構(gòu)造包括陸地、海洋、植物等的虛擬環(huán)境。在Unity中添加人物,并制作動(dòng)畫(huà)。通過(guò)Kinect獲取室內(nèi)場(chǎng)景,并構(gòu)造室內(nèi)模型。虛擬現(xiàn)實(shí)技術(shù)導(dǎo)論第1章概論本講大綱4.1虛擬現(xiàn)實(shí)渲染的有關(guān)概念面面4.2虛擬現(xiàn)實(shí)視覺(jué)渲染的主要方法4.3場(chǎng)景組織例——大規(guī)模虛擬場(chǎng)景實(shí)時(shí)碰撞檢測(cè)4.4場(chǎng)景繪制優(yōu)化例——基于LOD的點(diǎn)云繪制4.5習(xí)題4.1虛擬現(xiàn)實(shí)渲染的有關(guān)概念虛擬現(xiàn)實(shí)系統(tǒng)邏輯結(jié)構(gòu)渲染幾何建模物理建模行為建模運(yùn)動(dòng)建模與虛擬環(huán)境的關(guān)系和作用虛擬現(xiàn)實(shí):3D+人機(jī)交互渲染目的:將虛擬環(huán)境輸出,作用于參與者繪制/渲染技術(shù)分類(lèi)從感知通道角度視覺(jué)渲染:將幾何模型按照視覺(jué)原理進(jìn)行表現(xiàn)觸/力覺(jué)渲染:提供力覺(jué)/觸力覺(jué)感知信息聽(tīng)覺(jué)渲染:提供逼真的聽(tīng)覺(jué)感受味/嗅渲染:提供味覺(jué)/嗅覺(jué)感知信息視覺(jué)渲染

在J.J.Gibson提出的概念模型中,人的感知系統(tǒng)也是劃分為視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)、味/嗅覺(jué)和方向感五部分,其中對(duì)客觀世界的感知信息75%-80%來(lái)自視覺(jué)

為了在有限的計(jì)算、存儲(chǔ)資源條件下提高虛擬環(huán)境中用戶(hù)視覺(jué)感知的逼真性,需要對(duì)視覺(jué)感知系統(tǒng)的主要要素抽象視覺(jué)渲染分類(lèi)基于幾何的繪制技術(shù):輸入數(shù)據(jù)為虛擬對(duì)象的幾何信息基于圖像的繪制技術(shù):常見(jiàn)方法有光場(chǎng)計(jì)算、流明圖、同心拼圖、全景拼圖等幾何與圖像結(jié)合的繪制技術(shù):主要研究圖像圖形融合時(shí)的幾何一致性和光照一致性等方面的工作虛擬現(xiàn)實(shí)視覺(jué)渲染技術(shù)大都是圍繞提高真實(shí)感和實(shí)時(shí)性展開(kāi)的聽(tīng)覺(jué)渲染聽(tīng)覺(jué)是人類(lèi)僅次于視覺(jué)的第2大感知來(lái)源,人類(lèi)對(duì)客觀世界的感知信息有15%左右來(lái)自聽(tīng)覺(jué)。聽(tīng)覺(jué)渲染就是要對(duì)這些聲源的音頻特征和空間信息進(jìn)行渲染,包括聲音的模擬、合成及定位等??臻g信息可以體現(xiàn)虛擬環(huán)境的立體感和真實(shí)感,所以,聲音定位是實(shí)現(xiàn)逼真三維音效的關(guān)鍵技術(shù)。聽(tīng)覺(jué)渲染相關(guān)概念頭部相關(guān)傳輸函數(shù)(Head-relatedTransferFunction,HRTF)通過(guò)理論計(jì)算獲取:邊界元法、有限元法和非有限元法IFEM等通過(guò)實(shí)驗(yàn)測(cè)量獲取:獲取真實(shí)空間聽(tīng)覺(jué)測(cè)量數(shù)據(jù),然后經(jīng)過(guò)特征提取,基于已知的測(cè)量數(shù)據(jù)預(yù)測(cè)非測(cè)量點(diǎn)上的數(shù)據(jù)聲音紋理在聲音節(jié)點(diǎn)中增加效果域(增強(qiáng)了對(duì)三維聲音的空間表現(xiàn)力,使聽(tīng)覺(jué)渲染更為逼真和富有沉浸感)在聲音效果節(jié)點(diǎn)中設(shè)置預(yù)設(shè)域(簡(jiǎn)化了對(duì)環(huán)境聲音的描述)用來(lái)描述人的聽(tīng)覺(jué)系統(tǒng)對(duì)不同方位的聲音產(chǎn)生的不同頻譜特性使用節(jié)點(diǎn)和域的方法對(duì)環(huán)境聲音進(jìn)行建模力/觸覺(jué)渲染技術(shù)力/觸覺(jué)渲染需要借助力觸覺(jué)設(shè)備進(jìn)行碰撞檢測(cè)和碰撞響應(yīng)用戶(hù)操縱力觸覺(jué)設(shè)備碰撞檢測(cè)碰撞檢測(cè)算法發(fā)生碰撞碰撞響應(yīng)提供虛擬對(duì)象的相關(guān)力觸覺(jué)信息空間剖分、層次細(xì)節(jié)LOD由于人的觸覺(jué)靈敏,力觸覺(jué)渲染至少需要1kHz的刷新頻率才能給人以真實(shí)感。因此,高刷新率和快速計(jì)算成為力觸覺(jué)渲染技術(shù)研究的一個(gè)重點(diǎn)。力/觸覺(jué)渲染技術(shù)力/觸覺(jué)渲染需要對(duì)物體表面的紋理進(jìn)行模擬當(dāng)三維物體的表面紋理是由二維圖像直接映射而成時(shí),采用基于圖像的觸覺(jué)紋理映射,將紋理的二維紋元中的顏色和灰度信息映射為高度信息也可以通過(guò)參數(shù)化的方法合成觸覺(jué)紋理,例如使用噪聲紋理,經(jīng)過(guò)適當(dāng)?shù)臄_動(dòng)函數(shù)生成自然紋理。對(duì)象的幾何和物理建模提供的屬性反作用力觸覺(jué)紋理計(jì)算映射適當(dāng)擾動(dòng)使用戶(hù)能夠感知并區(qū)分不同的物體表面基于圖像的映射基于過(guò)程的映射嗅/味覺(jué)渲染嗅覺(jué)是由化學(xué)刺激產(chǎn)生的,研究表明與氣味有關(guān)的感受器至少有數(shù)百個(gè),而且每個(gè)感受器可檢測(cè)多種分子,所以類(lèi)比視覺(jué)中的顏色空間,使用幾種“基礎(chǔ)氣味”來(lái)合成任意氣味的思路的實(shí)現(xiàn)是困難的

鑒于特定應(yīng)用環(huán)境中所需要的氣味并不是很多,目前虛擬現(xiàn)實(shí)系統(tǒng)中主要研究氣味的傳播。嗅/味覺(jué)表現(xiàn)技術(shù)示例日本的千元國(guó)宏等開(kāi)發(fā)的嗅覺(jué)模擬器,用戶(hù)把能放出香味的換裝嗅覺(jué)提示裝置套在手上,換裝裝置里裝著8個(gè)小瓶,分別盛著8種水果的香料。童虎頭戴虛擬環(huán)境圖像顯示器,看到對(duì)應(yīng)的水果,用指尖把顯示器拉到鼻尖上,位置感應(yīng)器檢測(cè)到鼻子的位置與顯示器接近,嗅覺(jué)提示裝置就會(huì)根據(jù)顯示器上的水果形象釋放特定的香味。由于味覺(jué)與化學(xué)物質(zhì)、觸覺(jué)和聲音等多方面的因素有關(guān),對(duì)其進(jìn)行表現(xiàn)的難度很大。Iwata等因此稱(chēng)之為虛擬現(xiàn)實(shí)的最后戰(zhàn)線(xiàn)。4.2虛擬現(xiàn)實(shí)視覺(jué)渲染的主要方法虛擬現(xiàn)實(shí)視覺(jué)渲染的主要方法大部分技術(shù)來(lái)源于計(jì)算機(jī)圖形學(xué)中的真實(shí)感渲染技術(shù)和實(shí)時(shí)渲染技術(shù):基于幾何的繪制(Geometry-basedRendering)基于圖像的繪制(Image-basedRendering)幾何與圖像結(jié)合的繪制基于幾何的繪制虛擬對(duì)象的幾何模型網(wǎng)格、體素、點(diǎn)云,或是參數(shù)化的函數(shù)等虛擬對(duì)象具備了空間位置信息、表面、材質(zhì)等屬性高真實(shí)感的渲染結(jié)果表現(xiàn)形式幾何建模真實(shí)感光照計(jì)算真實(shí)感光照計(jì)算是指在虛擬場(chǎng)景中模擬真實(shí)光照,計(jì)算虛擬對(duì)象在特定光照下的呈現(xiàn)效果。復(fù)雜紋理映射紋理映射是指將具有顏色信息的圖像附著在幾何對(duì)象的表面真實(shí)感光照計(jì)算局部光照計(jì)算虛擬對(duì)象某一點(diǎn)的亮度時(shí),只考慮虛擬場(chǎng)景中的所有預(yù)定義的虛擬對(duì)象全局光照將整個(gè)環(huán)境作為光源,不僅考慮虛擬場(chǎng)景中的虛擬對(duì)象對(duì)被繪制對(duì)象的直接影響,還考慮光纖經(jīng)反射、折射或散射后對(duì)被繪制對(duì)象產(chǎn)生的間接影響現(xiàn)象:顏色滲透、陰影/軟陰影、焦散、次級(jí)表面散射等典型算法:光線(xiàn)追蹤算法、輻射度方法、光子映射(PhotonMapping)等全局光照模型可大大增強(qiáng)繪制結(jié)果的真實(shí)感,也是目前研究的重點(diǎn)全局光照光線(xiàn)追蹤算法:模擬光沿直線(xiàn)傳播,通過(guò)計(jì)算光線(xiàn)與虛擬對(duì)象的交點(diǎn)來(lái)確定光線(xiàn)強(qiáng)度,能夠生成高質(zhì)量圖像,但計(jì)算量大。相比之下,輻射度算法基于熱傳導(dǎo)理論,從光的能量傳遞角度處理圖像。輻射度算法:計(jì)算場(chǎng)景能量分布來(lái)獲得光照強(qiáng)度,適用于漫反射表面,但計(jì)算量大,近年來(lái)使用神經(jīng)網(wǎng)絡(luò)如NeRF加速渲染成為熱點(diǎn)。光子映射:通過(guò)追蹤光子在場(chǎng)景中的反射或折射,收集像素周?chē)墓庾觼?lái)確定顏色,適合表現(xiàn)次級(jí)散射和焦散效果,特別適用于復(fù)雜材質(zhì)對(duì)象的繪制。復(fù)雜紋理映射凹凸映射:凹凸映射通過(guò)擾動(dòng)表面法向量來(lái)增強(qiáng)細(xì)節(jié)和真實(shí)感,不改變對(duì)象形狀或輪廓線(xiàn),僅添加粗糙感而非顏色。位移映射:位移映射根據(jù)高度圖移動(dòng)頂點(diǎn)位置,增強(qiáng)表面粗糙感,但計(jì)算量大;視差映射:視差映射通過(guò)逐像素深度的貼圖調(diào)整紋理坐標(biāo),提供深度感且計(jì)算量較小,但不能產(chǎn)生自陰影效果。浮雕映射:浮雕映射通過(guò)圖像變形和逐像素深度技術(shù)在平面上生成復(fù)雜的三維效果,比視差映射更準(zhǔn)確且支持自陰影,但計(jì)算量較大。凹凸映射視差映射基于圖像的繪制與傳統(tǒng)的基于幾何的繪制技術(shù)相比,可使用較少的計(jì)算資源。所依賴(lài)的參考視點(diǎn)圖像既可以是真實(shí)數(shù)字圖像,也可以是虛擬圖像,方法的復(fù)雜程度不會(huì)因場(chǎng)景復(fù)雜度的變化而變化。全光函數(shù)與全光建模全景圖

視圖插值分層深度圖像其他繪制方法分層深度圖像繪制效果基于圖像的繪制技術(shù)利用已有多視角目標(biāo)場(chǎng)景圖像生成新視角下的結(jié)果圖像。幾何與圖像結(jié)合的繪制技術(shù)基于幾何的繪制方法基于圖像的繪制方法優(yōu)點(diǎn):利用較多的已知信息,不局限于幾何、表面屬性、光源信息等,便于一些特殊效果處理,如光照計(jì)算、物體變形優(yōu)點(diǎn):繪制的逼真度高,計(jì)算量小缺點(diǎn):交互性較差缺點(diǎn):計(jì)算量大,繪制效果與真實(shí)世界仍存在一定差異幾何與圖像結(jié)合的繪制技術(shù)幾何與圖像結(jié)合的繪制方法幾何一致性:虛擬對(duì)象在透視上應(yīng)該與真實(shí)場(chǎng)景的圖像一致,并保持正確的遮擋關(guān)系光照一致性:虛擬對(duì)象與真實(shí)場(chǎng)景的圖像應(yīng)具有一致的光照效果,這就需要恢復(fù)出真實(shí)場(chǎng)景的光照模型,然后計(jì)算真實(shí)場(chǎng)景光照對(duì)虛擬對(duì)象的影響大規(guī)模虛擬場(chǎng)景渲染的關(guān)鍵技術(shù)虛擬現(xiàn)實(shí)視覺(jué)渲染除確保單個(gè)虛擬對(duì)象渲染的真實(shí)感之外,還需要考慮大規(guī)模虛擬場(chǎng)景渲染帶來(lái)的技術(shù)挑戰(zhàn)。大規(guī)模虛擬場(chǎng)景實(shí)時(shí)渲染問(wèn)題優(yōu)化虛擬場(chǎng)景的幾何復(fù)雜度幾何模型化簡(jiǎn)細(xì)節(jié)等級(jí)管理單元分割使用場(chǎng)景組織技術(shù)場(chǎng)景圖空間分割自然景物繪制技術(shù)水波毛發(fā)植物細(xì)節(jié)層次管理技術(shù)細(xì)節(jié)層次管理技術(shù)是指對(duì)虛擬場(chǎng)景中的不同虛擬對(duì)象采用多種不同幾何細(xì)節(jié)層次管理的方法。具體地,對(duì)每一個(gè)虛擬對(duì)象,在多種不同的幾何細(xì)節(jié)層次儲(chǔ)存虛擬對(duì)象,以便在繪制階段動(dòng)態(tài)加載不同數(shù)據(jù)量的負(fù)載,以滿(mǎn)足實(shí)時(shí)性要求。虛擬對(duì)象的幾何模型中可保存不同級(jí)別的LOD,當(dāng)虛擬對(duì)象離觀察者較近的時(shí)候,使用具有最多細(xì)節(jié)的幾何模型,當(dāng)虛擬對(duì)象遠(yuǎn)離觀察者時(shí),使用細(xì)節(jié)減少的層次,以此類(lèi)推,距離越遠(yuǎn),就渲染出更少細(xì)節(jié)的LOD模型。幾何模型化簡(jiǎn)技術(shù)不同類(lèi)型的虛擬現(xiàn)實(shí)系統(tǒng)對(duì)渲染的視覺(jué)精細(xì)程度有不同需求。因此,對(duì)于高實(shí)時(shí)性的網(wǎng)絡(luò)傳輸、移動(dòng)終端等輕量化應(yīng)用,可以通過(guò)對(duì)虛擬場(chǎng)景包含的虛擬對(duì)象的幾何模型進(jìn)行化簡(jiǎn),降低幾何復(fù)雜度,從而減少渲染的時(shí)間開(kāi)銷(xiāo)。針對(duì)不同的幾何模型表示方式,可以采用不同的幾何模型化簡(jiǎn)方法。頂點(diǎn)聚類(lèi)算法LOD漸進(jìn)LOD在網(wǎng)格中,合并幾何特征不明顯的頂點(diǎn),從而降低幾何模型的復(fù)雜度也可在幾何誤差范圍內(nèi),在確保幾何拓?fù)洳蛔兊那疤嵯聞h除若干點(diǎn)、線(xiàn)、面等幾何元素根據(jù)觀察視點(diǎn)自適應(yīng)地構(gòu)建幾何模型的細(xì)節(jié)層次表示根據(jù)觀察視點(diǎn)自適應(yīng)地構(gòu)建幾何模型的細(xì)節(jié)層次表示化簡(jiǎn)方法單元分割技術(shù)將虛擬場(chǎng)景分割成較小單元的過(guò)程稱(chēng)為單元分割。分割后,只有當(dāng)前視野中的物體會(huì)被渲染,從而大大減少了渲染的復(fù)雜度。這種方法特別適用于大型建筑場(chǎng)景。在分割后,大部分場(chǎng)景在給定視野中不起作用。除非跨越某個(gè)閾限(如從一個(gè)房間到另一個(gè)房間),否則視野中的多邊形數(shù)基本保持不變。對(duì)于規(guī)整的場(chǎng)景,分割可以自動(dòng)完成;對(duì)于變化較少的場(chǎng)景,可以在預(yù)計(jì)算階段離線(xiàn)處理。虛擬場(chǎng)景組織技術(shù)除降低虛擬場(chǎng)景的幾何復(fù)雜度外,另一種解決大規(guī)模虛擬場(chǎng)景實(shí)時(shí)繪制的思路是降低大規(guī)模虛擬場(chǎng)景中的光照計(jì)算、碰撞檢測(cè)、裁剪等任務(wù)的算法復(fù)雜度。為了加快處理的速度,通常需要將虛擬場(chǎng)景按照某種數(shù)據(jù)結(jié)構(gòu)進(jìn)行空間劃分,從而能夠快速地排除不需要的計(jì)算,降低面片數(shù)量對(duì)算法復(fù)雜度的影響。場(chǎng)景圖優(yōu)點(diǎn):真實(shí)描述了虛擬對(duì)象的邏輯組織結(jié)構(gòu)容易操縱虛擬對(duì)象支持重用和擴(kuò)展圖形軟件開(kāi)發(fā)速度塊基于空間細(xì)分的數(shù)據(jù)結(jié)構(gòu)二元空間分割樹(shù)(BinarySpacePartitioning,BSP) BSP樹(shù)是用來(lái)對(duì)N維空間中的元素進(jìn)行排序和查找的二叉樹(shù)。八叉樹(shù)(Octree)

八叉樹(shù)是另一種空間分割數(shù)據(jù)結(jié)構(gòu),類(lèi)似于軸對(duì)齊BSP樹(shù)。BSP樹(shù)的基本思想是空間中的任何平面都將整個(gè)空間分割成兩個(gè)半空間,所有位于該平面某一側(cè)的點(diǎn)定義了一個(gè)半空間,位于另一側(cè)的點(diǎn)定義了另一個(gè)半空間八叉樹(shù)基本思想沿著長(zhǎng)方體包圍盒的三條軸對(duì)長(zhǎng)方體進(jìn)行同時(shí)分割,分割點(diǎn)必須位于這個(gè)包圍盒的中心,這樣一個(gè)包圍盒就能生成8個(gè)新的等大小的小長(zhǎng)方體包圍盒二元空間分割樹(shù)(BSP)(左)場(chǎng)景的BSP樹(shù)剖分(右)BSP樹(shù)結(jié)構(gòu)示意圖

(左)一次剖分后的場(chǎng)景平面圖;(右)一次剖分后的BSP樹(shù)(左)兩次剖分后的場(chǎng)景平面圖;(右)兩次剖分后的BSP樹(shù)八叉樹(shù)(a)初始節(jié)點(diǎn);(b)第一次剖分;(c)第二次剖分包圍體層次結(jié)構(gòu)

包圍體層次是虛擬場(chǎng)景實(shí)時(shí)繪制最常用的一種空間數(shù)據(jù)結(jié)構(gòu),場(chǎng)景以層次樹(shù)狀結(jié)構(gòu)進(jìn)行組織,包含一個(gè)根節(jié)點(diǎn)、內(nèi)部節(jié)點(diǎn)以及葉子節(jié)點(diǎn)。常見(jiàn)的包圍體有:球體、軸對(duì)齊包圍盒、有向包圍盒等包圍體層次適用于動(dòng)態(tài)場(chǎng)景。當(dāng)虛擬對(duì)象移動(dòng)時(shí),檢查它是否仍在父節(jié)點(diǎn)的包圍體內(nèi)。如果是,則BVH仍有效;如果不是,則需要?jiǎng)h除節(jié)點(diǎn)并更新樹(shù)結(jié)構(gòu)。當(dāng)虛擬場(chǎng)景中有大量的移動(dòng)虛擬對(duì)象更新操作時(shí),BVH樹(shù)會(huì)變得不平衡,效率下降,需要更多計(jì)算資源,這是BVH樹(shù)的缺點(diǎn)。場(chǎng)景包圍體和場(chǎng)景剖分技術(shù)比較(左)場(chǎng)景包圍體技術(shù)(右)場(chǎng)景剖分技術(shù)自然景物的繪制技術(shù)水波的模擬基于構(gòu)造的方法,用數(shù)學(xué)函數(shù)構(gòu)造出水波的外形,然后變換時(shí)間參數(shù)生成水波基于物理的方法,從水波的物理原理出發(fā),通過(guò)求解流體力學(xué)方程,得到流體質(zhì)點(diǎn)在各個(gè)時(shí)刻的狀態(tài)采用粒子系統(tǒng),主要用于模擬雪花、浪花、瀑布等較為合適能滿(mǎn)足視覺(jué)上的效果,但不能反映水流的規(guī)律效果比較真實(shí),但計(jì)算復(fù)雜,效率很低自然景物的繪制技術(shù)毛發(fā)的模擬先對(duì)毛發(fā)進(jìn)行幾何建模,將每根毛發(fā)建模成三角面片或圓錐體,然后進(jìn)行光照計(jì)算將毛發(fā)看作是半透明的圓柱體,采用全局光照算法渲染,在此過(guò)程中,使用類(lèi)似參與介質(zhì)的渲染方法,設(shè)計(jì)毛發(fā)的多散射模型計(jì)算量大,無(wú)法滿(mǎn)足實(shí)時(shí)要求路徑追蹤算法計(jì)算效率有所提高自然景物的繪制技術(shù)植物的模擬分形技術(shù),遞歸地生成植物,與真實(shí)世界差異很大。此外,分形模型由于幾何細(xì)節(jié)較多,對(duì)其使用全局光照算法計(jì)算量較大,難以滿(mǎn)足實(shí)時(shí)性要求。目前大多數(shù)情況下,把植物看作紋理,使用紋理映射技術(shù)得到具有一定真實(shí)感的視景。并行繪制技術(shù)例如,在光線(xiàn)追蹤算法中,可以將椎體分為n部分,同時(shí)發(fā)射n條光線(xiàn)并行處理。根據(jù)并行在繪制流水線(xiàn)中發(fā)生的階段,可以將并行繪制技術(shù)分為3種類(lèi)型:Sort-firstSort-middleSort-last虛擬對(duì)象的繪制天然具有功能并行性和數(shù)據(jù)并行性,易于實(shí)現(xiàn)并行處理在繪制初期分配圖元和屏幕區(qū)域給處理器,通信量小但易導(dǎo)致繪制負(fù)載不平衡在幾何轉(zhuǎn)換與光柵化之間分配圖元,由各處理器獨(dú)立光柵化,最后拼接圖像,適合硬件實(shí)現(xiàn)但可能導(dǎo)致負(fù)載不均衡在光柵化的最后階段分配像素,解決了負(fù)載不平衡問(wèn)題,但通信量大,需使用壓縮技術(shù)4.3場(chǎng)景組織例——大規(guī)模虛擬場(chǎng)景實(shí)時(shí)碰撞檢測(cè)算法思想隨著數(shù)據(jù)獲取技術(shù)和設(shè)備的不斷發(fā)展,虛擬場(chǎng)景的模型數(shù)據(jù)量迅速增大,甚至已經(jīng)超過(guò)了目前普通PC機(jī)內(nèi)存的容量。

右圖展示了NorthCarolina大學(xué)提供的PowerPlant場(chǎng)景。該虛擬場(chǎng)景擁有13000000個(gè)三角面片,為其建立完整的OBB層次樹(shù)結(jié)構(gòu)需要的OBB約為260000000個(gè),總計(jì)需要1.8GB的空間來(lái)存儲(chǔ)OBB層次樹(shù)的結(jié)構(gòu)信息,再加上虛擬場(chǎng)景本身的幾何數(shù)據(jù),總存儲(chǔ)量超過(guò)了2GB。由此可見(jiàn),直接在內(nèi)存中為整個(gè)虛擬場(chǎng)景建立OBB層次結(jié)構(gòu)顯然是不合理的。因此,必須首先將虛擬場(chǎng)景進(jìn)行劃分,將完整的虛擬場(chǎng)景數(shù)據(jù)存儲(chǔ)在外存中,而僅將劃分后的每個(gè)數(shù)據(jù)塊送入內(nèi)存進(jìn)行實(shí)時(shí)處理。

算法思想使用外存進(jìn)行碰撞檢測(cè),除了算法復(fù)雜性的增大,在運(yùn)行階段還需要實(shí)時(shí)讀取外存的數(shù)據(jù),對(duì)碰撞檢測(cè)的速度造成較大影響。而要較好地支持多人協(xié)同的虛擬場(chǎng)景,又必須實(shí)時(shí)地向用戶(hù)反饋碰撞信息并進(jìn)行相應(yīng)處理。因此,解決在有限內(nèi)存下與外存模型進(jìn)行實(shí)時(shí)碰撞檢測(cè),提高碰撞檢測(cè)的效率,對(duì)保障虛擬現(xiàn)實(shí)應(yīng)用的實(shí)時(shí)性有重要意義。

算法設(shè)計(jì)算法主要分為兩個(gè)階段:離線(xiàn)階段與實(shí)時(shí)階段離線(xiàn)階段主要任務(wù)是對(duì)虛擬場(chǎng)景進(jìn)行組織。對(duì)外存模型來(lái)說(shuō),不僅需要高效的查詢(xún)效率,還需要將虛擬場(chǎng)景按空間劃分為可讀入內(nèi)存的數(shù)據(jù)塊,并提供實(shí)時(shí)調(diào)度的信息。由于進(jìn)行碰撞檢測(cè)的數(shù)據(jù)量大,在實(shí)時(shí)階段首先需要對(duì)內(nèi)外存的數(shù)據(jù)進(jìn)行有效的管理,實(shí)現(xiàn)數(shù)據(jù)的內(nèi)外存調(diào)度,然后依次完成相交測(cè)試與虛擬對(duì)象的碰撞預(yù)測(cè)。

算法實(shí)現(xiàn)虛擬場(chǎng)景數(shù)據(jù)組織對(duì)于基于外存的虛擬場(chǎng)景,需要將虛擬場(chǎng)景劃分為能夠讀入內(nèi)存的子數(shù)據(jù)塊,這里選用八叉樹(shù)對(duì)虛擬場(chǎng)景進(jìn)行劃分和組織。傳統(tǒng)基于內(nèi)存模型的八叉樹(shù)結(jié)構(gòu)將虛擬場(chǎng)景數(shù)據(jù)直接存儲(chǔ)在八叉樹(shù)相應(yīng)的葉節(jié)點(diǎn)內(nèi),當(dāng)虛擬場(chǎng)景復(fù)雜度高時(shí)是無(wú)法實(shí)現(xiàn)的。因此,這里使用外存索引的八叉樹(shù)結(jié)構(gòu)。與內(nèi)存模型的八叉樹(shù)不同,外存索引的八叉樹(shù)中,每個(gè)葉節(jié)點(diǎn)并不保存實(shí)際的幾何信息,而是保存本節(jié)點(diǎn)中的幾何信息所對(duì)應(yīng)的外存文件的索引。

算法實(shí)現(xiàn)虛擬場(chǎng)景數(shù)據(jù)組織

算法實(shí)現(xiàn)虛擬場(chǎng)景數(shù)據(jù)組織最終虛擬場(chǎng)景的空間結(jié)構(gòu)分為兩個(gè)層次,整個(gè)虛擬場(chǎng)景的索引八叉樹(shù)結(jié)構(gòu),與八叉樹(shù)的每個(gè)葉節(jié)點(diǎn)中的幾何屬性建立的包圍盒層次結(jié)構(gòu)

每個(gè)非空葉節(jié)點(diǎn)的幾何面片信息和相應(yīng)的OBB層次樹(shù)結(jié)構(gòu)信息分別保存為單獨(dú)的外存文件,最后將整個(gè)八叉樹(shù)的層次結(jié)構(gòu)信息也保存為一個(gè)單獨(dú)的文件所有外存文件的總存儲(chǔ)量大小隨著虛擬場(chǎng)景復(fù)雜度的增加而增大,最終將超過(guò)內(nèi)存容量。然而在這一過(guò)程中,索引八叉樹(shù)只保存了八叉樹(shù)的層次結(jié)構(gòu)信息,并不會(huì)隨著場(chǎng)景復(fù)雜度的增加而增加,因此可以完全讀入內(nèi)存算法實(shí)現(xiàn)內(nèi)外存數(shù)據(jù)管理當(dāng)為虛擬場(chǎng)景建立了索引八叉樹(shù)結(jié)構(gòu)后,八叉樹(shù)的所有葉節(jié)點(diǎn)相當(dāng)于對(duì)虛擬場(chǎng)景的一個(gè)劃分,而每個(gè)葉節(jié)點(diǎn)中的幾何數(shù)據(jù)量由葉節(jié)點(diǎn)的最大頂點(diǎn)閾值限制在較小的范圍,因此在數(shù)據(jù)緩存的管理和調(diào)度中以八叉樹(shù)的葉節(jié)點(diǎn)為基本單位。葉節(jié)點(diǎn)的索引包括幾何文件和OBB文件,因此在數(shù)據(jù)調(diào)度時(shí)每一個(gè)葉節(jié)點(diǎn)都包括幾何面片數(shù)據(jù)和相應(yīng)的OBB層次樹(shù)結(jié)構(gòu)數(shù)據(jù)。由于不同葉節(jié)點(diǎn)中的幾何圖元數(shù)量并不相等,對(duì)應(yīng)文件的數(shù)據(jù)量大小也不同,因此數(shù)據(jù)緩存管理調(diào)度的基本單位不是固定大小的,會(huì)隨著所調(diào)入的葉節(jié)點(diǎn)的幾何圖元數(shù)的不同而具有不同的大小。

緩存中的數(shù)據(jù)塊與八叉樹(shù)節(jié)點(diǎn)的關(guān)系

算法實(shí)現(xiàn)內(nèi)外存數(shù)據(jù)管理虛擬對(duì)象在虛擬場(chǎng)景中運(yùn)動(dòng)具有連續(xù)性,其與虛擬場(chǎng)景的碰撞也具有時(shí)空連續(xù)性,即上一次發(fā)生碰撞的葉節(jié)點(diǎn)很可能在接下來(lái)也發(fā)生碰撞。因此,為了避免剛調(diào)入內(nèi)存的數(shù)據(jù)在不久又被刪除的情況,在數(shù)據(jù)調(diào)入調(diào)出時(shí)采用最近最少未使用策略,利用數(shù)據(jù)訪(fǎng)問(wèn)的局部性來(lái)提高數(shù)據(jù)的命中率,防止局部時(shí)間內(nèi)對(duì)相同數(shù)據(jù)反復(fù)調(diào)入調(diào)出帶來(lái)的額外開(kāi)銷(xiāo)。

緩存的數(shù)據(jù)管理流程

算法實(shí)現(xiàn)虛擬場(chǎng)景數(shù)據(jù)組織

分離軸原理示意

算法實(shí)現(xiàn)虛擬場(chǎng)景數(shù)據(jù)組織采用OBB層次樹(shù)結(jié)構(gòu)組織的物體的碰撞檢測(cè)問(wèn)題,歸根結(jié)底可以歸結(jié)為OBB層次樹(shù)的遍歷問(wèn)題。設(shè)有兩個(gè)虛擬對(duì)象,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論