魏曉光 唐瀟 張倩
摘 ?要: 為了兼顧虛擬現(xiàn)實(shí)仿真應(yīng)用中的真實(shí)感和實(shí)時(shí)性,以便營造流暢且高逼真的模擬環(huán)境,對(duì)真實(shí)感實(shí)時(shí)繪制關(guān)鍵技術(shù)進(jìn)行具體研究。選取多細(xì)節(jié)層次模型(LOD)作為研究對(duì)象,并采用三角形網(wǎng)格簡化模型對(duì)地形生成算法進(jìn)行處理,提高了渲染速度。此外,采用基于三維透視投影的可視化策略對(duì)LOD選擇機(jī)制進(jìn)行設(shè)計(jì),增強(qiáng)了場景的真實(shí)感。使用Visual C++開發(fā)語言和OpenGL開發(fā)工具對(duì)設(shè)計(jì)的LOD模型進(jìn)行實(shí)現(xiàn)。模擬結(jié)果顯示,提出的方法繪制效率較好,能夠達(dá)到比較理想的場景仿真效果。
關(guān)鍵詞: 虛擬現(xiàn)實(shí); 真實(shí)感; 實(shí)時(shí)繪制; 多細(xì)節(jié)層次模型; 渲染速度; OpenGL
中圖分類號(hào): TN911?34; TP393 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ? ? ? ? ? ? ? ? ? 文章編號(hào): 1004?373X(2019)09?0111?04
Research on virtual reality key technologies based on true sense
WEI Xiaoguang1, TANG Xiao2, ZHANG Qian3
(1. University Intelligent Finance Application Technology Development Center of Hebei Province, Hebei Finance University, Baoding 071000, China;
2. Academic Affairs Office, Hebei Finance University, Baoding 071000, China;
3. Department of Information Engineering, Hebei Software Institute, Baoding 071000, China)
Abstract: In order to balance the realism and real?time performance in the virtual reality simulation application, and create a smooth and highly?realistic simulation environment, the realistic real?time drawing key technologies are studied in detail. The levels of detail (LOD) model is selected as the research object, and the triangular mesh simplified model is used to process the terrain generation algorithm, which can improve the rendering speed. The visualization strategy based on 3D perspective projection is used to design the LOD selection mechanism to enhance the reality of the scene. The designed LOD model was implemented by using Visual C++ development language and OpenGL development tool. The simulation results show that the proposed method has high drawing efficiency, and can reach the ideal scene simulation effects.
Keywords: virtual reality; true sense; real?time drawing; levels of detail model; rendering speed; OpenGL
0 ?引 ?言
隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)也隨之不斷成熟和普及。由于具有“身臨其境”的真實(shí)感, 虛擬現(xiàn)實(shí)能夠以更加自然和逼真的人機(jī)交互方式給用戶帶來全新的體驗(yàn)經(jīng)歷[1?3]。因此,虛擬現(xiàn)實(shí)逐漸成為近十年來比較熱門的研究方向。作為一個(gè)多學(xué)科綜合發(fā)展的產(chǎn)物,虛擬現(xiàn)實(shí)技術(shù)主要包括模擬環(huán)境、感知、自然技能和傳感設(shè)備等方面,是仿真技術(shù)與計(jì)算機(jī)圖形學(xué)、人機(jī)交互技術(shù)、信息處理技術(shù)、傳感器技術(shù)等多種技術(shù)的集合。與現(xiàn)有的其他仿真技術(shù)相比, 虛擬現(xiàn)實(shí)能夠完成多維信息空間的仿真和建模,同時(shí)提供了更高的逼真度[4]。
但是,現(xiàn)有的虛擬現(xiàn)實(shí)技術(shù)仍具有某些局限性。由于計(jì)算機(jī)處理性能的限制,在虛擬仿真中對(duì)圖像進(jìn)行實(shí)時(shí)繪制時(shí)需要對(duì)逼真度和繪制速度進(jìn)行有效平衡,從而在現(xiàn)有硬件條件下為用戶提供流暢的真實(shí)感體驗(yàn)[5]。
因此,本文對(duì)真實(shí)感實(shí)時(shí)繪制關(guān)鍵技術(shù)中的LOD模型進(jìn)行具體研究。模擬結(jié)果顯示,提出方法繪制效率較好,能夠達(dá)到比較理想的場景仿真效果。
1 ?虛擬環(huán)境下的真實(shí)感實(shí)時(shí)繪制技術(shù)
1.1 ?需求分析
所謂的三維圖形實(shí)時(shí)繪制技術(shù),就是利用計(jì)算機(jī)技術(shù)讓用戶在所有視點(diǎn)和方向上對(duì)虛擬場景進(jìn)行觀察時(shí)均具有三維視覺感的技術(shù)[3]。
為了給用戶提供最佳的真實(shí)感,該技術(shù)需要盡量統(tǒng)一圖像的刷新速度和用戶的視點(diǎn)變化速度,否則,用戶最終看到的畫面會(huì)出現(xiàn)掉幀現(xiàn)象,十分影響用戶的體驗(yàn)感。
為了構(gòu)建基于幾何的虛擬場景模型,必須采用點(diǎn)、線、面等幾何對(duì)象對(duì)模型中的所有部件進(jìn)行解析和整合,然后通過紋理映射和光照處理等技術(shù)對(duì)模型進(jìn)行處理[6]。
但是,在實(shí)際幾何虛擬場景的構(gòu)建過程中,需要處理大量的圖像信息,尤其是數(shù)據(jù)量較多的復(fù)雜場景,系統(tǒng)實(shí)現(xiàn)復(fù)雜度會(huì)急劇增加。這種情況會(huì)導(dǎo)致圖像的刷新率明顯降低,因此對(duì)內(nèi)存、CPU和圖像處理設(shè)備的性能要求較高。必須保證足夠高的圖像刷新率才能確保場景顯示保持一定的實(shí)時(shí)性。如果虛擬仿真系統(tǒng)需要較大延遲才能呈現(xiàn)出新場景,會(huì)明顯降低場景中用戶的真實(shí)體驗(yàn)感,嚴(yán)重的情況下還會(huì)導(dǎo)致用戶產(chǎn)生“眩暈”“惡心”等生理不適現(xiàn)象[6]。目前,降低場景復(fù)雜度最常用的方法是LOD技術(shù),可以有效改善三維場景的動(dòng)態(tài)刷新速度,例如文獻(xiàn)[7]提出一種基于半邊折疊的LOD模型構(gòu)造方法,該算法能較好地保持模型的外形特征,實(shí)現(xiàn)起來快速有效。
1.2 ?LOD技術(shù)分析
LOD的基本思想是在不影響畫面質(zhì)量的前提下,通過逐次簡化景物的表面細(xì)節(jié)來減少場景的幾何復(fù)雜度,從而提高繪制算法的效率。Level of Detail(模型詳細(xì)程度)這一概念來源于計(jì)算機(jī)圖形學(xué),簡單來說,就是根據(jù)物體的移動(dòng)速度,距離相機(jī)的距離決定模型細(xì)節(jié),從而提高計(jì)算機(jī)運(yùn)算效率。如同觀察自然風(fēng)景時(shí),距離較近的物體更精細(xì),距離較遠(yuǎn)的物體比較模糊。圖1為人像模型的LOD顯示結(jié)果。
2 ?實(shí)時(shí)繪制的關(guān)鍵技術(shù)及解決方案
2.1 ?LOD網(wǎng)格模型的簡化
LOD技術(shù)的實(shí)現(xiàn)具體包含三方面的內(nèi)容[8]:LOD模型的自動(dòng)生成;LOD模型的選擇機(jī)制;幾何形狀過渡,即不同層次模型轉(zhuǎn)換。
本文針對(duì)LOD模型的生成過程進(jìn)行簡化操作。采用三角形網(wǎng)格簡化模型對(duì)地形生成算法進(jìn)行處理,提高了渲染速度。根據(jù)網(wǎng)格的幾何及拓?fù)涮匦裕褂庙旤c(diǎn)刪除操作,如圖2所示。
2.2 ?LOD的選擇機(jī)制
在LOD技術(shù)的實(shí)現(xiàn)過程中,當(dāng)繪制所需圖像時(shí),選擇機(jī)制會(huì)在多個(gè)層次的LOD模型中選擇最適宜的某個(gè)模型[9]。一般按照模型與視點(diǎn)的距離來挑選不同細(xì)節(jié)層次的模型。
圖3表示一個(gè)圓形模型的LOD選擇過程。當(dāng)用戶的視點(diǎn)與模型的距離在[0~rl]內(nèi)的范圍時(shí),選擇細(xì)節(jié)內(nèi)容最豐富的圓形模型進(jìn)行繪制;當(dāng)用戶的視點(diǎn)與模型的距離在[r1]~[r2]之間時(shí),選擇相對(duì)簡化的六邊形模型進(jìn)行繪制,如此類推,直到距離大于[r3]時(shí),模型完全消失。
同樣,根據(jù)模型離視點(diǎn)的距離,本文基于三維透視投影的可視化策略對(duì)LOD選擇機(jī)制進(jìn)行設(shè)計(jì),增強(qiáng)了場景的真實(shí)感。當(dāng)距離越遠(yuǎn),模型在屏幕上的投影區(qū)域越小。
三維透視投影示意圖如圖4所示,投影的計(jì)算演示如圖5所示。
式中:[e]表示觀察點(diǎn);[F]表示模型所處的空間位置;[D]表示觀察點(diǎn)到前裁剪面的距離;[a]表示視角;[l]表示其真實(shí)高度;[d]表示目標(biāo)在二維平面上的投影,單位為像素?cái)?shù);[b]表示模型因觀察點(diǎn)變化引起的傾角。
判斷LOD層次模型選擇的條件為:
2.3 ?連續(xù)LOD地形的轉(zhuǎn)換
對(duì)于繪制地形的過程,按照上述計(jì)算方法選擇不同層次的LOD模型來繪制,并選擇三角形來仿真地形的生成。
對(duì)于不同復(fù)雜模式的地形,采用的三角形繪制函數(shù)也有所區(qū)別,代碼如下:
3 ?功能實(shí)現(xiàn)與測試
3.1 ?開發(fā)環(huán)境
PC主機(jī)的CPU為i5?4570,內(nèi)存為4 GB,硬盤為 500 GB,圖形顯示器為HKC P4000 23.8寸電腦顯示器。VR系統(tǒng)硬件的核心顯卡設(shè)備為NVIDIA GeForce GTX1060。虛擬平臺(tái)為Windows 10。軟件開發(fā)語言采用Visual C++ 6.0,開發(fā)工具為OpenGL vl.2, 建模工具為MultiGen Ceraotr v2.6。
3.2 ?測試結(jié)果
以自然風(fēng)景區(qū)大型漫游系統(tǒng)為例,對(duì)本文設(shè)計(jì)的方法進(jìn)行實(shí)際測試,地形場景的實(shí)驗(yàn)結(jié)果如圖6所示。從圖6可以看出,設(shè)計(jì)方法的網(wǎng)格分布較為均勻,且地形模型的主要特征保留效果較好。此外,表1給出了本文方法和Garland方法[10]對(duì)相同數(shù)據(jù)進(jìn)行建模的效率,可以看出,本文方法所需時(shí)間較少。
4 ?結(jié) ?語
本文對(duì)真實(shí)感實(shí)時(shí)繪制關(guān)鍵技術(shù)中的LOD模型進(jìn)行了具體研究。首先,采用三角形網(wǎng)格簡化模型對(duì)地形生成算法進(jìn)行了處理,提高了渲染速度。然后,采用基于三維透視投影的可視化策略對(duì)LOD選擇機(jī)制進(jìn)行了設(shè)計(jì),增強(qiáng)了場景的真實(shí)感。最終使用Visual C++開發(fā)語言和OpenGL開發(fā)工具對(duì)設(shè)計(jì)的LOD模型進(jìn)行了實(shí)現(xiàn)。模擬結(jié)果顯示,本文提出的方法繪制效率較好,并能夠較好地保留模型主要特征,具有一定的參考價(jià)值。
參考文獻(xiàn)
[1] YAMATO T P, POMPEU J E, POMPEU S M, et al. Virtual reality for stroke rehabilitation [J]. Physical therapy, 2016, 2(9): 20?21.
[2] RIZZO A, HARTHOLT A, GRIMANI M, et al. Virtual reality exposure therapy for combat?related posttraumatic stress disorder [J]. Computer, 2014, 47(7): 31?37.
[3] BASTUG E, BENNIS M, MEDARD M, et al. Toward interconnected virtual reality: opportunities, challenges, and enablers [J]. IEEE communications magazine, 2017, 55(6): 110?117.
[4] RIECKE, BERNHARD E, VEEN V, et al. Visual homing is possible without landmarks: a path integration study in virtual reality [J]. Presence, 2015, 11(5): 443?473.
[5] SMITH M J, GINGER E J, WRIGHT K, et al. Virtual reality job interview training in adults with autism spectrum disorder [J]. Journal of autism and development disorders, 2014, 44(10): 2450?2463.
[6] AGHAJAN Z M, ACHARYA L, MOORE J J, et al. Impaired spatial selectivity and intact phase precession in two?dimensional virtual reality [J]. Nature neuroscience, 2015, 18(1): 121?128.
[7] 吳捷,唐紅鎖.一種基于半邊折疊的LOD模型構(gòu)造方法[J].軟件導(dǎo)刊,2015(4):145?147.
WU Jie, TANG Hongsuo. A construction method of LOD model based on half folding [J]. Software guide, 2015(4): 145?147.
[8] L?DDING H, FRIEDEWALD A, HEINIG M, et al. Virtual reality supported assembly planning in the shipbuilding industry [J]. Journal of ship production & design, 2011, 27(3): 146?152.
[9] DUCKSTEIN F. Extension of validity calculation to moving objects within a virtual reality system using frame?to?frame cohe?rence [J]. Computer animation & virtual worlds, 2015, 9(4): 259?272.
[10] GARLAND L G. Effect of cromoglycate on anaphylactic histamine release from rat peritoneal mast cells [J]. British journal of pharmacology, 2012, 49(1): 128?130.