劉文,葛文馨,馬穎
(1.山東科技大學(xué),濟(jì)南250000;2.山東科技大學(xué),青島266510)
基于紋理處理與遮擋剔除技術(shù)的虛擬場景優(yōu)化技術(shù)及研究
劉文1,葛文馨2,馬穎1
(1.山東科技大學(xué),濟(jì)南250000;2.山東科技大學(xué),青島266510)
隨著虛擬現(xiàn)實(shí)場景的規(guī)模逐漸擴(kuò)大,場景的交互實(shí)時(shí)性會(huì)隨之降低,進(jìn)而影響用戶瀏覽虛擬場景的體驗(yàn)。針對這一問題,對Unity3D的虛擬現(xiàn)實(shí)場景的優(yōu)化技術(shù)進(jìn)行深入探究,并提出五種優(yōu)化方向。在此基礎(chǔ)上對每一種優(yōu)化策略進(jìn)行詳細(xì)的分析,并闡明其對中央處理器和圖形處理器性能上的影響,對于虛擬現(xiàn)實(shí)的交互的實(shí)時(shí)性的提高有著重要的意義。
虛擬現(xiàn)實(shí);場景優(yōu)化;Unity3D
虛擬現(xiàn)實(shí)技術(shù)作為當(dāng)今計(jì)算機(jī)科學(xué)技術(shù)的一大研究熱點(diǎn),是一種利用計(jì)算機(jī)技術(shù)創(chuàng)建生成出模擬場景,并可使用戶體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng)。為了能夠使用戶可以隨時(shí)隨地訪問在Unity3D引擎中創(chuàng)建的虛擬場景,需要開發(fā)并發(fā)布能在瀏覽器以及移動(dòng)終端運(yùn)行的版本。但隨著場景中的三維模型數(shù)量的增加以及模型復(fù)雜度的提高,虛擬場景的規(guī)模逐漸擴(kuò)大,需要較高的硬件設(shè)備才能實(shí)現(xiàn)網(wǎng)頁端以及移動(dòng)端的場景漫游,故不能滿足多數(shù)人的需求。
針對這一現(xiàn)象,可以分別從三維模型的貼圖材質(zhì)以及虛擬場景的物體加載這兩個(gè)方面對虛擬場景進(jìn)行深度優(yōu)化,減輕CPU和GPU對圖像的計(jì)算壓力,提升虛擬場景的加載速度以及運(yùn)行速率,使用戶可以更加流暢的漫游虛擬場景。
目前大部分虛擬場景引擎都只能發(fā)布單機(jī)端的虛擬現(xiàn)實(shí)。單機(jī)端虛擬現(xiàn)實(shí)的場景雖說在運(yùn)行過程中所展示出來的效果最好,但是可執(zhí)行文件以及其他配置文件較大,需要較長的時(shí)間進(jìn)行場景的加載,且局限性較強(qiáng),只能在臺(tái)式機(jī)或筆記本電腦上漫游虛擬場景。為了使更多的用戶能夠隨時(shí)隨地的訪問虛擬現(xiàn)實(shí)場景,還需要對其他平臺(tái)如網(wǎng)頁端以及移動(dòng)端等進(jìn)行開發(fā)及發(fā)布。
以虛擬仿真校園為例,對校園進(jìn)行實(shí)地考察并結(jié)合建校的設(shè)計(jì)圖紙,使用Auto CAD以及3ds Max等軟件將校園建筑物的仿真模型按照其坐標(biāo)位置進(jìn)行構(gòu)建,將模型及其所需材質(zhì)貼圖一并導(dǎo)入U(xiǎn)nity3D引擎中,添加天空地面樹木及交互動(dòng)畫完成虛擬場景的搭建。將校園導(dǎo)出至單機(jī)端、網(wǎng)頁端和移動(dòng)端并進(jìn)行性能測試,測試數(shù)據(jù)如下表。
表1 未優(yōu)化的場景性能測試
在16G內(nèi)存以及NVIDIA GeForce GTX 770顯卡的電腦進(jìn)行網(wǎng)頁端場景漫游時(shí),校園加載響應(yīng)時(shí)間約為30秒,CPU使用率為22%,內(nèi)存使用率為24%,運(yùn)行流暢度較差。使用4G內(nèi)存,八核處理器及Android 5.1系統(tǒng)手機(jī)進(jìn)行真機(jī)測試得出的效果很不理想,場景中的人稱視角幾乎不能進(jìn)行平移以及轉(zhuǎn)向操作。因此在不破壞原有模型以及場景的真實(shí)性的基礎(chǔ)上,對虛擬場景進(jìn)行優(yōu)化,以提高場景的運(yùn)行效率是十分有必要的。
虛擬場景在運(yùn)行過程中主要計(jì)算CPU(中央處理器)和GPU(圖形處理器)的資源。CPU的性能限制一般是指所需要渲染的物體的數(shù)量。對于CPU來說,主要性能瓶頸在于擁有過多的Draw Calls,即在Unity引擎中,CPU每次備好數(shù)據(jù)并通知GPU進(jìn)行渲染的過程。使用較少的Draw Calls來表現(xiàn)同樣效果的場景是提高CPU運(yùn)算速率的關(guān)鍵所在。然而對于GPU來說,它負(fù)責(zé)整個(gè)渲染的過程。所以GPU的限制一般是指Fill Rate(填充率)以及Memory Bandwidth(內(nèi)存帶寬)的大小,因此其主要的性能瓶頸與屏幕分辨率、處理的三角形面片以及頂點(diǎn)的數(shù)量等因素有關(guān)。
以虛擬仿真校園為例,分別從三維模型的貼圖材質(zhì)以及虛擬場景的物體加載這兩個(gè)方面對虛擬場景進(jìn)行優(yōu)化處理。
(1)紋理優(yōu)化
紋理優(yōu)化主要是對虛擬場景中的三維模型的材質(zhì)貼圖進(jìn)行優(yōu)化處理的一項(xiàng)技術(shù)。首先需要確保導(dǎo)入場景中的材質(zhì)貼圖的邊長及像素均為2的整數(shù)次冪的長方形或正方形,有助于計(jì)算機(jī)能夠快速地對圖片的紋理進(jìn)行采集,既能節(jié)省計(jì)算機(jī)的占用空間,又能提升計(jì)算機(jī)對圖片紋理的計(jì)算速率。
在Unity的場景中,以肉眼看不出圖片失真的前提下盡可能地降低圖片的分辨率,既能減小原始圖片的大小,提高模型的渲染速度,又可以降低內(nèi)存的占用率以及CPU的計(jì)算量。以校園的車棚為例,對車棚的棚頂進(jìn)行紋理優(yōu)化,表2為不同的分辨率所對應(yīng)的貼圖圖片的大小。
表2 貼圖分辨率及大小對應(yīng)表
圖1 分辨率為512位的材質(zhì)貼圖效果
圖2 分辨率為64位的材質(zhì)貼圖效果
從圖片上可以看出,分辨率為64位的貼圖與分辨率為512位的貼圖在視覺效果上幾乎看不出差別,但實(shí)際上64位的圖片大小遠(yuǎn)遠(yuǎn)小于512位的圖片,降低計(jì)算機(jī)的空間占有量的同時(shí)可以提升CPU與GPU對圖片紋理的計(jì)算量。
(2)遮擋處理
除了對模型的材質(zhì)貼圖進(jìn)行處理,還需要對虛擬場景當(dāng)前視角中的模型加載進(jìn)行優(yōu)化處理,效果很好但技術(shù)難度也很高的方法是對場景添加遮擋剔除處理。遮擋剔除技術(shù)(Occlusion Culling)是用來判斷當(dāng)前物體是否被前方物體遮擋以及是否會(huì)遮擋住后方的物體,物體如若被遮擋,GPU則不會(huì)將其資源浪費(fèi)在計(jì)算那些看不到的物體上,進(jìn)而提升GPU的運(yùn)算速率及效率。以男生宿舍四號(hào)樓為例,對四號(hào)樓樓體添加陰影遮擋剔除,則從當(dāng)前視角對此樓體進(jìn)行訪問的時(shí)候可以不對樓體所遮擋住的后方物體進(jìn)行加載。
其中,Batches是指三維模型使用網(wǎng)格繪制圖像應(yīng)用時(shí)對圖形進(jìn)行批處理之后的總數(shù),數(shù)值越低,意味著CPU計(jì)算效率越高;Tris和Verts是指模型的三角形面片數(shù)目以及頂點(diǎn)數(shù)量;SetPass calls是指模型渲染時(shí)需要改變的次數(shù),數(shù)值越小,CPU的計(jì)算開銷就越?。籗hadow Casters是指對物體的每一次進(jìn)行陰影投射計(jì)算的數(shù)量,數(shù)值越大,GPU處理數(shù)據(jù)的效率就會(huì)越高。從上圖可知,采用陰影遮擋技術(shù)能夠有效的減少CPU與GPU對于圖形的計(jì)算量,進(jìn)而提升運(yùn)行與運(yùn)算效率。
但是此項(xiàng)技術(shù)的使用利弊參半,隨著物體遮擋剔除的精度逐漸提升,計(jì)算機(jī)將需要耗費(fèi)更多的資源對場景中的模型進(jìn)行辨別,CPU與GPU的執(zhí)行效率會(huì)隨之降低。
圖3 進(jìn)行遮擋剔除之前的場景數(shù)據(jù)
圖4 進(jìn)行遮擋剔除之后的場景數(shù)據(jù)
對虛擬場景進(jìn)行多次陰影遮擋的數(shù)據(jù)測試以求達(dá)到最優(yōu)的陰影遮擋剔除的效果,主要對Smallest Oc?cluder(最小遮光板),Smallest Hole(最小的孔)進(jìn)行數(shù)據(jù)修改,測試的數(shù)據(jù)如表2.2。其中Smallest Occluder表示最小的遮擋板的大小,大于或等于這個(gè)數(shù)據(jù)的物體都可以遮擋住其后方的物體;Smallest Hole是指將場景按照此數(shù)據(jù)進(jìn)行分割并計(jì)算遮擋。
表3 遮擋剔除數(shù)據(jù)測試表
圖5 進(jìn)行遮擋計(jì)算的場景
圖6 遮擋剔除后的場景
使用上述技術(shù)對虛擬場景進(jìn)行優(yōu)化處理,將場景導(dǎo)出至單機(jī)端、網(wǎng)頁端和移動(dòng)端并進(jìn)行性能測試,此時(shí)測試數(shù)據(jù)如下表。
表3 遮擋剔除及LOD技術(shù)優(yōu)化后場景性能測試
據(jù)上表可知,使用上述方法對虛擬場景進(jìn)行優(yōu)化之后能夠有效降低CPU、GPU以及內(nèi)存的資源占有量以及導(dǎo)出文件的大小,同時(shí)還可以提升虛擬現(xiàn)實(shí)交互的實(shí)時(shí)性以及場景運(yùn)行的流暢度,提供給用戶較為真實(shí)的體驗(yàn)。
[1]駱明星.基于Web3D的成藝虛擬校史展覽館的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2015.
[2]莊春華,王普.虛擬現(xiàn)實(shí)技術(shù)及其應(yīng)用[M].北京:電子工業(yè)出版社,2010:1-12.
[3]劉峻,范豪,孫宇,陸向艷,劉艷.結(jié)合邊折疊和局部優(yōu)化的網(wǎng)格簡化算法[J].計(jì)算機(jī)應(yīng)用,2016(02).[4]李春燕,劉少華.淺析幾種三維模型格式導(dǎo)入U(xiǎn)nity3D的途徑[J].中國新技術(shù)新產(chǎn)品,2016(05).
[6]李俊軍.基于Unity3D的室內(nèi)建筑三維建模與交互系統(tǒng)實(shí)現(xiàn)[D].中國礦業(yè)大學(xué),2014.
Abstract:
With the gradual expansion of the virtual reality scene size,the real-time interaction scenarios diminish,and then affect users'experience of browsing the virtual scene.Aiming at this problem,deeply studies the concept of Unity3D virtual reality scenes optimization technology,proposes five optimum direction.And on the basis,analyzes each optimum direction comprehensively,expounds its impact on the central processing unit and the graphics processing unit performance,makes optimization of great significance on improving real-time interaction of virtual reality.
Keywords:
Virtual Reality;Scene Optimization;Unity3D
Research on Virtual Scene Optimization Technologies Based on Texturing and Occlusion Culling Technology
LIU Wen1,GE Wen-xin2,MA Ying1
(1.Shandong University of Science and Technology,Jinan 250000;2.Shandong University of Science and Technology,Qingdao 266510)
2017-03-21
2017-06-20
1007-1423(2017)18-0012-04
10.3969/j.issn.1007-1423.2017.18.003
劉文(1996-),男,山東滕州人,本科,學(xué)生,研究方向?yàn)樘摂M現(xiàn)實(shí)、機(jī)器學(xué)習(xí)
葛文馨(1994-),女,山東青島人,本科,學(xué)生,研究方向?yàn)樘摂M現(xiàn)實(shí)、人工智能
馬穎(1995-),女,山東濟(jì)南人,本科,學(xué)生,研究方向?yàn)檐浖こ?/p>