梁振剛 郝雪達(dá)
摘 ?要:虛擬現(xiàn)實(shí)技術(shù)能夠創(chuàng)造出逼真的虛擬環(huán)境,為能夠更加快速地建立模型,該文結(jié)合相關(guān)工具和Unity3D平臺開發(fā)仿真建模及渲染技術(shù)。通過工具收集真實(shí)地形的數(shù)據(jù),然后進(jìn)行相關(guān)的數(shù)據(jù)處理并生成數(shù)據(jù)集合。通過使用Unity3D中地形工具進(jìn)行數(shù)據(jù)讀取和快速制作三維場景模型,為提高模型的渲染逼真度使用高清渲染管線對場景模型進(jìn)行光照等渲染處理。通過對該技術(shù)的研究,該技術(shù)能夠使三維場景的逼真度提高及渲染程度非常好,模型細(xì)節(jié)也能觀察,同時(shí)該技術(shù)也能被運(yùn)用到毀傷評估仿真、虛擬訓(xùn)練等方面。
關(guān)鍵詞:虛擬現(xiàn)實(shí);虛擬仿真建模;渲染;逼真度;三維模型
中圖分類號:TM743 ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? ? ? ?文章編號:2095-2945(2024)14-0037-04
Abstract: Virtual reality technology can create a realistic virtual environment, in order to build a model more quickly, this paper combines related tools and Unity3D platform to develop simulation modeling and rendering technology. Collect the data of the real terrain through the tool, then process the related data and generate the data set. In order to improve the rendering fidelity of the model, High Definition Render Pipeline is used to render the scene model by using the terrain tool in Unity3D to read the data and make the 3D scene model quickly. Through the research of this technology, this technology can improve the fidelity of 3D scene and render very well, and the details of the model can also be observed. At the same time, this technology can also be used in damage assessment simulation, virtual training and so on.
Keywords: virtual reality; virtual simulation modeling; rendering; fidelity; 3D model
隨著科技的發(fā)展,虛擬仿真技術(shù)被廣泛的運(yùn)用[1]。對于虛擬仿真而言,場景的逼真程度決定了沉浸式體驗(yàn)的好壞,逼真度高的場景能夠使使用者具有更好的沉浸式體驗(yàn)。王子暢[2]通過虛擬現(xiàn)實(shí)技術(shù),讓船員可以體驗(yàn)各種復(fù)雜的船舶操作場景,建立船舶推進(jìn)系統(tǒng)的數(shù)學(xué)模型,基于MultiGen Creator軟件進(jìn)行了船舶駕駛仿真系統(tǒng)的開發(fā)。王大虎等[3]基于Unity3D平臺開發(fā)三維可視化電機(jī)實(shí)驗(yàn)教學(xué)系統(tǒng),實(shí)現(xiàn)了實(shí)驗(yàn)室設(shè)備的3D交互功能,有效激發(fā)學(xué)生的學(xué)習(xí)興趣,幫助學(xué)生提高認(rèn)知水平。歐陽會東[4]進(jìn)行了數(shù)字化車間虛擬現(xiàn)實(shí)可視化技術(shù)的研究,實(shí)現(xiàn)了一些可視化技術(shù)的突破。大部分學(xué)者研究都是某一領(lǐng)域的系統(tǒng)開發(fā),并沒有對建模和渲染技術(shù)進(jìn)行研究。因此,本文基于虛擬現(xiàn)實(shí)和Unity3D平臺研究虛擬仿真建模與渲染技術(shù),通過工具獲得地形模型的數(shù)據(jù),使用Unity3D進(jìn)行數(shù)據(jù)處理并建立未進(jìn)行渲染的三維環(huán)境模型,以及進(jìn)行環(huán)境模型的逼真渲染技術(shù)研究。
1 ?建模技術(shù)研究
1.1 ?場景構(gòu)建
一般虛擬現(xiàn)實(shí)場景都是通過三維場景構(gòu)建工具建立后直接導(dǎo)入,三維場景構(gòu)建工具優(yōu)缺點(diǎn)見表1[5]。
根據(jù)表1中三維場景構(gòu)建技術(shù)的優(yōu)缺點(diǎn),本文綜合了工具的使用和在Unity3D平臺進(jìn)行腳本開發(fā)和地形建立并最后進(jìn)行模型的渲染。具體流程如圖1所示。
首先將RenderDoc軟件工具與谷歌地圖進(jìn)行鏈接,使其能夠獲取谷歌地圖中實(shí)時(shí)渲染程序應(yīng)用接口(Application Programming Interface,API)的調(diào)用,API調(diào)用谷歌地圖中的地圖數(shù)據(jù)進(jìn)行實(shí)時(shí)渲染,該工具進(jìn)行數(shù)據(jù)截取,獲取相關(guān)地物信息和地勢信息,并且可以對數(shù)據(jù)進(jìn)行整理。圖2為某城市谷歌地圖。然后使用RenderDoc軟件工具進(jìn)行數(shù)據(jù)清洗、噪點(diǎn)處理和配準(zhǔn)處理,提高截取數(shù)據(jù)的準(zhǔn)確性和一致性。
然后將采取的數(shù)據(jù)文件導(dǎo)入U(xiǎn)nity3D中,并使用腳本進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將數(shù)據(jù)轉(zhuǎn)換為符合地形工具建模的格式數(shù)據(jù)。然后采用Unity3D中地形工具直接制作環(huán)境模型。Unity3D中的地形工具可以創(chuàng)建一個(gè)大型的、可編輯的地形。通過利用地形高度圖編輯器(Raise or Lower Terrain)工具可以創(chuàng)建連綿不絕的山丘和山谷[6]。獲取的數(shù)據(jù)畢竟稍有瑕疵,所以對模型進(jìn)行平滑處理和細(xì)節(jié)處理,并且通過相關(guān)工具進(jìn)行模型貼圖編輯。通過地形材質(zhì)(Paint Texture)工具將地形紋理添加到地形。圖3為通過地形工具建立的基礎(chǔ)模型。
2 ?三維模型渲染技術(shù)
本文采用Unity3D中高清渲染管線(High Definition Render Pipeline, HDRP)和網(wǎng)格細(xì)節(jié)級別(LOD)技術(shù)進(jìn)行模型渲染。HDRP利用基礎(chǔ)物理燈光 (Physically-Based lighting)技術(shù),線性照明(linear lighting),高動(dòng)態(tài)范圍光照(HDR lighting)和一個(gè)可配置的混合的聚類延遲光照(Tile/Cluster deferred/Forward lighting)架構(gòu),并且提供創(chuàng)建游戲、技術(shù)演示的例子(Demos)、動(dòng)畫等所需的工具,以達(dá)到較高的圖形標(biāo)準(zhǔn)。需要對模型的細(xì)節(jié)部分進(jìn)行貼圖處理,將貼圖通過材質(zhì)球賦予到模型表面,并通過適當(dāng)調(diào)整光源和自身光反射參數(shù),使模型更具真實(shí)感。雖然已經(jīng)進(jìn)行了地形紋理的添加但是通過地形工具創(chuàng)建出來的三維模型并沒有非常高的逼真度,還需要使用HDRP進(jìn)行光照等的渲染處理[7]。HDRP是一個(gè)用于創(chuàng)建高質(zhì)量視覺效果的渲染管線,它可以為游戲、虛擬現(xiàn)實(shí)和增強(qiáng)現(xiàn)實(shí)應(yīng)用程序提供更真實(shí)的圖形效果[8]。采用采樣深度紋理,歸一化的設(shè)備空間(NDC)中頂點(diǎn)坐標(biāo)z分量值域是[-1,1],而顏色R、G、B、A分量值域都是[0,1],因此需要進(jìn)行以下映射,其中z為NDC空間中頂點(diǎn)坐標(biāo)z值,c為映射的深度紋理的R通道值。
c=0.5×z+0.5 。 ?(1)
通過頂點(diǎn)映射過程,可以得出以下方程組關(guān)系,
式中:z1為觀察空間中頂點(diǎn)坐標(biāo)z值,z2、w2分別為裁剪空間中頂點(diǎn)坐標(biāo)z值和w值,z3為歸一化的設(shè)備空間(NDC)中頂點(diǎn)坐標(biāo)z值,z4為紋理空間中頂點(diǎn)坐標(biāo)z值,depth為觀察空間中頂點(diǎn)的深度值,Near、Far分別為近裁剪平面和遠(yuǎn)裁剪平面離相機(jī)的距離由空間和變換中透視投影得到,齊次除法(或透視除法)(z3值域?yàn)閇-1,1]),公式3是歸一化處理(z4值域?yàn)閇0,1]),公式3中depth是將深度值取正(觀察空間中頂點(diǎn)坐標(biāo)都是負(fù)值,取反后使得深度值為正)。
通過使用深度紋理、后期處理效果和光照陰影實(shí)現(xiàn)更高質(zhì)量的視覺效果,使模型的逼真程度更高[9]。通過該方法建立的渲染效果如圖4所示。
對于Unity3D中大型的環(huán)境模型還需要進(jìn)行動(dòng)態(tài)渲染繪制的處理。地形渲染LOD算法是目前來說進(jìn)行大規(guī)模地形實(shí)時(shí)渲染效率比較高的算法[10]。一般大型模型中都需要進(jìn)行大量的碰撞檢測計(jì)算,傳統(tǒng)的LOD使用的都是四叉樹和循環(huán)優(yōu)化目標(biāo)跟蹤模型(Recurrently Optimizing Tracking Model)算法[11]。本文運(yùn)用著名研究員Hoppe所提出的邊折疊遞進(jìn)網(wǎng)格算法的三角形網(wǎng)格折疊LOD簡化算法來進(jìn)行虛擬戰(zhàn)場環(huán)境的動(dòng)態(tài)渲染[12-13]。通過在攝像機(jī)遠(yuǎn)離某些場景時(shí),對場景的網(wǎng)格進(jìn)行重組合并,將網(wǎng)格進(jìn)行簡單化融合,使計(jì)算機(jī)進(jìn)行實(shí)時(shí)渲染時(shí)的壓力減小。具體優(yōu)化過程如圖5所示。圖5中,V表示三角形頂點(diǎn),A表示3個(gè)頂點(diǎn)根據(jù)順時(shí)針確定的三角面元面積。通過該算法將場景模型網(wǎng)格數(shù)量在攝像機(jī)遠(yuǎn)離的過程中降低,為碰撞計(jì)算節(jié)省大量的計(jì)算空間。
3 ?結(jié)論
基于虛擬現(xiàn)實(shí)下使用Unity3D開發(fā)平臺研究虛擬仿真建模及渲染技術(shù),通過使用地形工具實(shí)現(xiàn)了場景的三維可視化展示,并使用HDRP通過精細(xì)化貼圖、使用深度紋理和調(diào)整光照等方法對模型進(jìn)行渲染,使模型的逼真度提高并且通過使用LOD技術(shù)進(jìn)行動(dòng)態(tài)渲染釋放了大量的計(jì)算空間。該技術(shù)能夠?yàn)闅u估仿真和虛擬訓(xùn)練提高逼真度高的三維場景,同時(shí)也加強(qiáng)了細(xì)節(jié)的渲染,并且在展示細(xì)節(jié)時(shí)通過使用LOD技術(shù)減少了實(shí)時(shí)渲染的壓力,使場景在運(yùn)行時(shí)更加流暢,增強(qiáng)了使用者的虛擬現(xiàn)實(shí)體驗(yàn)感和虛擬沉浸體驗(yàn)。同時(shí)逼真的渲染能夠更加真實(shí)地表現(xiàn)更多的細(xì)節(jié),讓使用人員有更好的沉浸感。該技術(shù)開發(fā)可以被運(yùn)用到多個(gè)場景中,也可以被廣泛運(yùn)行到基礎(chǔ)虛擬仿真漫游,具有較強(qiáng)的實(shí)用性和參考價(jià)值。
參考文獻(xiàn):
[1] 蘇濤,曹文靜,郝夢媛.航空裝備更新模型優(yōu)化[J].四川兵工學(xué)報(bào),2015,36(3):84-85,90.
[2] 王子暢.結(jié)合虛擬現(xiàn)實(shí)技術(shù)的船舶駕駛仿真研究[J].艦船科學(xué)技術(shù),2023,45(19):181-184.
[3] 王大虎,寧彤.虛擬現(xiàn)實(shí)技術(shù)在電機(jī)實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2022(5):48-51,55.
[4] 歐陽會東.數(shù)字化車間虛擬現(xiàn)實(shí)可視化技術(shù)的研究與實(shí)現(xiàn)[D].沈陽:中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計(jì)算技術(shù)研究所),2020.
[5] 容秀嬋,鄒湘軍,李承恩,等.基于數(shù)據(jù)驅(qū)動(dòng)的虛擬場景搭建及模型檢索優(yōu)化方法[J].中國農(nóng)機(jī)化學(xué)報(bào),2022,43(8):128-135.
[6] 范津?qū)?,李澤政,史博煒,?一種Unity3D高清材質(zhì)的渲染方法[J].電腦編程技巧與維護(hù),2019(4):139-140,148.
[7] 包艷霞,沈洋.復(fù)雜虛擬場景的渲染技術(shù)論析[J].麗水學(xué)院學(xué)報(bào),2015,37(5):52-56.
[8] 陳凱,張志剛.基于光空間變換技術(shù)的虛擬動(dòng)畫三維場景設(shè)計(jì)[J].激光雜志,2021,42(11):190-195.
[9] 蘇鵬偉,姚平喜.全方位履帶式移動(dòng)機(jī)構(gòu)的原理及其結(jié)構(gòu)設(shè)計(jì)[J].機(jī)械科學(xué)與技術(shù),2015,34(8):1177-1180.
[10] DRISCOLL P J, HENDERSON S J. A meta-model architecture for fusing battlefield information[J].Military Operations Research, 2006:27-47.
[11] BILJECKI F, LEDOUX H, STOTER J. An improved LOD specification for 3D building models[J]. Computers, Environment and Urban Systems, 2016(59):25-37.
[12] 郭海儒,劉沛騫,袁玲玲.基于LOD的多邊形網(wǎng)格簡化算法的優(yōu)化[J].太原科技,2006(9):46-47,52.
[13] 劉曉平,凌實(shí),余燁,等.面向大規(guī)模地形LOD模型的并行簡化算法[J].工程圖學(xué)學(xué)報(bào),2010,31(5):16-21.