999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

虛擬景觀漫游中的優(yōu)化技術(shù)應(yīng)用解析

2021-02-19 03:13:14
中國新技術(shù)新產(chǎn)品 2021年23期
關(guān)鍵詞:景觀優(yōu)化模型

張 丹

(福州職業(yè)技術(shù)學(xué)院信息技術(shù)工程系,福建 福州 350108)

1 虛擬景觀漫游概述

虛擬漫游,是虛擬現(xiàn)實(shí)技術(shù)的重要應(yīng)用,通常應(yīng)用在在建筑、教學(xué)、旅游、醫(yī)學(xué)等諸多領(lǐng)域。虛擬現(xiàn)實(shí)漫游具有其獨(dú)特的沉浸感、交互性、仿真操作等,是其他固定路線漫游或沒有加護(hù)的其他漫游技術(shù)無法比擬的[1]。隨著生產(chǎn)力和計(jì)算機(jī)科學(xué)技術(shù)的不斷發(fā)展,各行各業(yè)對(duì) VR 技術(shù)的需求量日益加劇,VR 技術(shù)在各行各業(yè)都取得了巨大進(jìn)步,并逐步成為一個(gè)全新的科學(xué)技術(shù)領(lǐng)域。虛擬景觀漫游,作為虛擬漫游的一個(gè)重要方面,將虛擬三維場景構(gòu)建與虛擬漫游交互進(jìn)行完美結(jié)合。被廣泛應(yīng)用在地產(chǎn)景觀、小區(qū)景觀、旅游景觀的領(lǐng)域,給用戶在身臨其境欣賞景觀的同時(shí),還可以交互仿真進(jìn)行一系列操作。

虛擬景觀漫游,一直以來需要克服的重點(diǎn)問題在于,怎樣平衡虛擬環(huán)境仿真度與渲染場景實(shí)時(shí)繪制之間的矛盾。在虛擬景觀漫游中,用戶看到的景象看起來距離較近,那么久需要場景的繪制尤其逼真。于是需要精細(xì)的三維模型來滿足表現(xiàn)需要。同時(shí),漫游運(yùn)行卻受到計(jì)算機(jī)硬件性能的約束,當(dāng)三維模型建造的越復(fù)雜越精細(xì),在渲染場景進(jìn)行繪制時(shí),要滿足用戶實(shí)時(shí)體驗(yàn)的良好效果,就越困難。VR 環(huán)境下的復(fù)雜場景建模要求具有真實(shí)感的模型[2],而且虛擬場景還必須實(shí)時(shí)生成,即要求三維場景刷新速度需要和用戶視點(diǎn)變化的速度一致。那么通常會(huì)考慮,在三維場景模型的精確度和渲染場景的繪制速度之間取一個(gè)折中值,既能夠滿足必要的虛擬真實(shí)性,又不會(huì)產(chǎn)生繪制困難。于是,就需要各種優(yōu)化技術(shù),來配合場景虛擬交互漫游的需要,在盡可能地減少繪制計(jì)算量的同時(shí),又不降低用戶對(duì)虛擬仿真的體驗(yàn)感。

2 Unity 優(yōu)化技術(shù)原理

對(duì)于虛擬仿真項(xiàng)目來說,與運(yùn)行性能相關(guān)的,主要有兩種計(jì)算資源,CPU 和GPU,在運(yùn)行過程中它們相互合作,來控制項(xiàng)目的運(yùn)行幀率與渲染分辨率,CPU 負(fù)責(zé)運(yùn)行幀率,GPU 則負(fù)責(zé)渲染分辨率等。

Unity 軟件的渲染統(tǒng)計(jì)窗口(Rendering Statistics Window ),顯示了很多重要的渲染數(shù)據(jù),例如FPS 幀頻、批處理數(shù)目、頂點(diǎn)和三角網(wǎng)格的數(shù)目等。

表1 中列出了渲染統(tǒng)計(jì)窗口中顯示的各個(gè)信息。

表1 Unity 渲染統(tǒng)計(jì)信息

對(duì)于CPU 來說,限制它的主要是Draw Call,當(dāng)項(xiàng)目開始運(yùn)行,準(zhǔn)備對(duì)渲染畫面進(jìn)行繪制時(shí),就需要調(diào)用Draw Call。通常的小區(qū)漫游或者是景觀漫游,場景中通常分布著適當(dāng)?shù)乃婧秃芏嗟臉淠緟擦郑趯?duì)水面進(jìn)行渲染時(shí),會(huì)使用材質(zhì)和著色器,但在渲染樹模時(shí),需要適合樹木的另外的材質(zhì)和著色器,這時(shí)的CPU 需要重新準(zhǔn)備繪制的頂點(diǎn)數(shù)據(jù)和需要重新設(shè)置材質(zhì),這個(gè)工作過程其實(shí)比較耗時(shí)。也就是說,構(gòu)建一個(gè)場景,如果場景中的每個(gè)對(duì)象和物體都有各自不同的材質(zhì)紋理等,就會(huì)產(chǎn)生非常多的Draw Call,從而影響運(yùn)行的幀率,同時(shí)用戶體驗(yàn)的交互性也會(huì)下降。

GPU 本身負(fù)責(zé)場景的整個(gè)渲染進(jìn)程,它的處理開始部分是從CPU 傳過來的三維模型數(shù)據(jù),然后進(jìn)行著色等工作,最后給屏幕上輸出每個(gè)像素。于是知道了影響GPU 性能的因素有處理頂點(diǎn)的數(shù)目、屏幕的分辨率、顯存等。

所以,優(yōu)化技術(shù)的考慮有頂點(diǎn)優(yōu)化,常用的有LOD 技術(shù)、遮擋剔除技術(shù)等;像素優(yōu)化,常用的有控制透明物體、減少實(shí)時(shí)光照等;CPU 優(yōu)化,減少Draw Calls,常用的有場景靜態(tài)對(duì)象使用靜態(tài)批處理;帶寬優(yōu)化,常用的有減少紋理大小等。

三維模型的LOD 技術(shù)和遮擋剔除技術(shù)可以同時(shí)減少CPU 和GPU 的負(fù)荷。CPU 可以提交更少的draw call,而GPU需要處理的頂點(diǎn)和片元數(shù)目也減少了。

3 優(yōu)化技術(shù)應(yīng)用解析

之后將三維場景導(dǎo)入U(xiǎn)nity 進(jìn)行虛擬漫游和仿真交互控制。常用的優(yōu)化技術(shù)主要有以下幾個(gè)方面。

3.1 優(yōu)化幾何體

虛擬景觀漫游制作的流程中,第一步是創(chuàng)建場景三維模型,在進(jìn)行三維建模的時(shí)候,需要注意在滿足造型的基礎(chǔ)上,減少模型中的三角面。為了盡可能減少模型中的頂點(diǎn)數(shù)目,建模人員往往需要優(yōu)化模型的網(wǎng)格結(jié)構(gòu)。常見的三維建模工具,通常會(huì)有一些相應(yīng)的優(yōu)化方案,來進(jìn)行網(wǎng)格結(jié)構(gòu)的自動(dòng)優(yōu)化。隨著整體優(yōu)化,場景中的每一個(gè)面片分配都僅為表達(dá)造型的有效面片[3]。

在Unity 的渲染統(tǒng)計(jì)窗口中,筆者可以查看到渲染當(dāng)前需要的三角面片數(shù)目和頂點(diǎn)數(shù)目。在GPU 看來,有時(shí)需要把一個(gè)頂點(diǎn)拆分成兩個(gè)或更多,這樣是因?yàn)榉蛛x紋理坐標(biāo)(uv splits)和產(chǎn)生平滑的邊界(smoothing splits)。例如,創(chuàng)建一個(gè)長方體,長方體的6 個(gè)面有一些共用的定點(diǎn),而在不同的面上,同一個(gè)頂點(diǎn)所對(duì)應(yīng)的貼圖紋理坐標(biāo)也許并不相同。這時(shí),GPU 會(huì)將這個(gè)頂點(diǎn)拆分成一些紋理坐標(biāo)不同的頂點(diǎn)。GPU 本身只關(guān)心繪制頂點(diǎn)的數(shù)量。因此,筆者需要考慮的是怎樣盡量去減少繪制頂點(diǎn)的數(shù)目。另外一條幾何體優(yōu)化建議是,移除不必要的硬邊以及紋理銜接,避免邊界平滑和紋理分離。

3.2 LOD 技術(shù)

LOD(Level of detail)細(xì)節(jié)層次優(yōu)化技術(shù)與Mipmap 技術(shù)有些相似,后者是紋理金字塔,而LOD 是面向三維模型的模型金字塔,根據(jù)距離攝像機(jī)的距離遠(yuǎn)近,選擇需要使用怎樣精度的模型。LOD 技術(shù)的優(yōu)勢在于,可以在滿足需要的情況下,盡可能地減少需要繪制的頂點(diǎn)數(shù)。那么它的缺點(diǎn)則是,由于資源導(dǎo)入的數(shù)量,需要占用較多的內(nèi)存,因此在不同精度模式所處的距離問題上,需要調(diào)整好,否則可能會(huì)導(dǎo)致外觀模擬的突變。在Unity 中,給需要使用LOD 技術(shù)的對(duì)象添加LOD Group 組件。

層次細(xì)節(jié)(Levels of Detail)是根據(jù)物體在場景中所占視圖的百分比來調(diào)節(jié)不同復(fù)雜度模型的。當(dāng)攝像機(jī)距離某物體較遠(yuǎn)的時(shí)候,采用低模,當(dāng)攝像機(jī)距離較近的時(shí)候,采用高模。可以提高游戲渲染效率,但會(huì)占用更多的內(nèi)存。

景觀漫游場景中的樹木就非常適合應(yīng)用LOD,給樹木對(duì)象添加LOD Group 組件。將高精度,中等精度,低精度的模型,拖拽到組件的各個(gè)級(jí)別上。選擇需要控制的模型以及距離設(shè)置LOD 0 對(duì)應(yīng)高精度模型,LOD 1 對(duì)應(yīng)中等精度,LOD 2 對(duì)應(yīng)低精度。

給樹木添加LOD 組件之后,可以看到在景觀場景漫游中,距離樹木由近到遠(yuǎn)時(shí),樹木的外觀編號(hào)以及網(wǎng)格簡化過程如圖1 所示。

圖1 樹木應(yīng)用LOD 遠(yuǎn)近效果變化

3.3 遮擋剔除技術(shù)

遮擋剔除(Occlusion culling)在場景渲染中可以用來消除某些物體后面的看不到的物體,這樣計(jì)算機(jī)資源就不會(huì)消耗在攝像機(jī)看不到的物體頂點(diǎn)上,從而提升整體的運(yùn)行性能。遮擋剔除會(huì)使用一個(gè)虛擬的攝像機(jī)來遍歷場景,從而構(gòu)建一個(gè)潛在可見的對(duì)象集合的層級(jí)結(jié)構(gòu)。在運(yùn)行時(shí)刻,每個(gè)攝像機(jī)將會(huì)使用這個(gè)數(shù)據(jù)來識(shí)別哪些物體是可見的,而哪些被其他物體擋住不可見。使用遮擋剔除技術(shù),不僅可以減少處理的頂點(diǎn)數(shù)目,還可以減少重復(fù)繪制,提高游戲性能。

打開渲染窗口的遮擋剔除(Occlusion Culling),選中需要遮擋剔除的物體,進(jìn)行相應(yīng)設(shè)置,然后進(jìn)行烘焙,將Edit改為Visualize。這樣當(dāng)物體不在攝像機(jī)的可視范圍內(nèi),不會(huì)對(duì)其進(jìn)行渲染。

圖2 是小區(qū)景觀使用遮擋剔除后的俯視圖,可以看到前后展示對(duì)比。

圖2 景觀場景應(yīng)用遮擋剔除

同時(shí),應(yīng)用遮擋剔除前后,觀察渲染統(tǒng)計(jì)窗口,會(huì)發(fā)現(xiàn)性能參數(shù)的前后對(duì)比變化明顯,例如可以看到CPU 的處理時(shí)間由原來的25.7ms 變成了15.1ms,優(yōu)化前的幀頻是38.8f/s,而優(yōu)化后幀頻是66.3f/s,以及一些其他參數(shù)的優(yōu)化變化。

3.4 其他優(yōu)化技術(shù)

場景對(duì)象看起來使用了非常復(fù)雜高級(jí)的光照計(jì)算,但實(shí)際上是優(yōu)化后的結(jié)果。首先將場景中運(yùn)行不會(huì)發(fā)生移動(dòng)的建筑物或障礙物設(shè)置成static,取消自動(dòng)烘焙,調(diào)整好燈光效果,可以參照實(shí)時(shí)燈光的效果,將燈光模式設(shè)置成烘焙,在燈光設(shè)置面板中啟用烘焙,烘焙完成會(huì)得到場景的光照烘焙圖,滿足靜態(tài)物體光照。再將光照探針分布在場景中,滿足動(dòng)態(tài)物體光照。實(shí)時(shí)陰影同樣是一個(gè)非常消耗性能的效果。不僅是CPU 需要提交更多的draw call, GPU也需要進(jìn)行更多的處理。因此,應(yīng)該盡量減少實(shí)時(shí)陰影,例如使用烘焙把靜態(tài)物體的陰影信息存儲(chǔ)到光照紋理中,而只對(duì)場景中的動(dòng)態(tài)物體使用適當(dāng)?shù)膶?shí)時(shí)陰影。

對(duì)于運(yùn)行加載優(yōu)化,用的最多的莫過于LOD 以及MipMap 多級(jí)漸遠(yuǎn)紋理技術(shù),MipMap 又被稱為“紋理貼圖金字塔”。它的原理是提前用濾波處理來得到很多更小的圖像,形成一個(gè)圖像金字塔,每一層都是對(duì)上一層降采樣的結(jié)果。這樣在實(shí)際運(yùn)行時(shí),就能快速得到結(jié)果像素。當(dāng)物體原理攝像機(jī)時(shí),可以直接使用較小的紋理,紋理質(zhì)量稍差,模糊感較強(qiáng)。物體靠近時(shí)適當(dāng)替換較大紋理,紋理質(zhì)量好,模糊感較少。以便給玩家呈現(xiàn)更精致的畫面。那么當(dāng)物體遠(yuǎn)離時(shí),無須高精度紋理展示時(shí),則替換低精度紋理,降低了顯存帶寬,減少了渲染。但是,為了適配多場景,比如遠(yuǎn)近多個(gè)不同的場景,提前生成幾張精度不同的紋理,使用一定的空間用于存儲(chǔ)這些多級(jí)漸遠(yuǎn)紋理,通常會(huì)多占用1/3 的內(nèi)存空間,是利用空間換取時(shí)間的辦法。

有些時(shí)候顯示的分辨率也會(huì)對(duì)性能產(chǎn)生影響,尤其是在Android 系統(tǒng)使用時(shí),當(dāng)分辨率過高,而硬件性能卻很低,也就是說硬件性能與分辨率要求不匹配時(shí),就產(chǎn)生了運(yùn)行效果較差的情況,所以硬件性能與渲染畫面質(zhì)量之間應(yīng)該如何平衡是需要研究的問題。這是可以考慮使用Android 系統(tǒng)的硬件縮放技術(shù),來提升運(yùn)行效率,直接在Unity 中設(shè)置顯示的分辨率,通過調(diào)用Screen.SetResolution()函數(shù),函數(shù)的參數(shù)需要與開發(fā)時(shí)UI 分辨率進(jìn)行等比例計(jì)算,可能面臨調(diào)大或調(diào)小的情況。設(shè)置運(yùn)行分辨率后,程序原有的代碼邏輯不會(huì)受到影響,而運(yùn)行效率確實(shí)提高了,并且能觀察到幀頻的顯著提高。使用這種方法如果遇到偶爾屏幕顯示異常如橫豎屏錯(cuò)亂的問題,可以考慮到Java 層去修改UnityPlayerNativeActivity.java,調(diào)用getResources().getDisplayMetrics()來修復(fù)問題并得到正確的顯示效果。

3.5 表現(xiàn)效果優(yōu)化

給場景對(duì)象添加后處理組件post process volume,勾選其中的is global 作用全局,之后在相機(jī)中同樣方式添加一個(gè)post process Layer 組件,回到后處理上,點(diǎn)擊new 來新建一個(gè)配置,點(diǎn)擊add effect 可以添加各種處理效果。

給場景中的樹叢應(yīng)用后處理的部分效果,抗鋸齒Antialiasing、太陽射線光SunShafts、鏡頭暗色暈圈VignetteAndChromaticAberration、柔光Bloom、色彩校正曲線ColorCorrectionCurves。

可以看到場景應(yīng)用后處理以上效果后的,前后渲染效果對(duì)比如圖3 所示。在實(shí)際應(yīng)用中,可以根據(jù)需要,選擇合適的后處理效果應(yīng)用,以達(dá)到不同的環(huán)境渲染效果。

圖3 應(yīng)用后處理技術(shù)前后效果對(duì)比

4 結(jié)論

虛擬景觀漫游是虛擬漫游的一個(gè)重要方面,比如在房地產(chǎn)的應(yīng)用領(lǐng)域中,通過地產(chǎn)景觀虛擬漫游,用戶可以身臨其境的觀賞到優(yōu)美的小區(qū)環(huán)境。

在虛擬景觀漫游項(xiàng)目創(chuàng)建過程中,從三維幾何體優(yōu)化到LOD 優(yōu)化等技術(shù)的使用,以及使用后處理效果,對(duì)提高虛擬漫游整體運(yùn)行性能以及用戶體驗(yàn)效果,有非常重要的意義。

猜你喜歡
景觀優(yōu)化模型
一半模型
超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
景觀別墅
民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
關(guān)于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
火山塑造景觀
重要模型『一線三等角』
包羅萬象的室內(nèi)景觀
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
主站蜘蛛池模板: 成人91在线| 天堂网亚洲系列亚洲系列| 99久久国产精品无码| 99精品在线看| 夜夜操天天摸| 在线视频亚洲色图| 韩日免费小视频| 四虎在线高清无码| 91人人妻人人做人人爽男同| 亚洲精品无码AV电影在线播放| 91日本在线观看亚洲精品| 久久精品这里只有精99品| 日本91在线| 国产高清无码第一十页在线观看| 日韩午夜伦| 免费在线一区| 91精品国产无线乱码在线 | 青青久久91| 91丝袜乱伦| 一级毛片免费的| 国产美女在线观看| 日本免费精品| 一区二区三区在线不卡免费| 亚洲不卡网| 毛片免费在线视频| 午夜性爽视频男人的天堂| 国产又爽又黄无遮挡免费观看 | AV网站中文| 国产精品免费久久久久影院无码| 丁香综合在线| 欧美午夜精品| 亚洲精品成人福利在线电影| 超薄丝袜足j国产在线视频| 国产在线精品99一区不卡| 国产精品网拍在线| 成人综合网址| 国产www网站| 啊嗯不日本网站| 91极品美女高潮叫床在线观看| 成人精品区| h视频在线播放| 97影院午夜在线观看视频| 亚洲最大情网站在线观看| av手机版在线播放| 毛片免费高清免费| 中文字幕伦视频| 欧美日韩精品综合在线一区| 亚洲人成网站在线播放2019| 国产人前露出系列视频| 国产女人喷水视频| 国产精品久久久久久久伊一| 国产精品香蕉| 国产成人精品一区二区三区| 好紧太爽了视频免费无码| 亚洲日韩Av中文字幕无码| 亚洲福利视频一区二区| 女人一级毛片| 亚洲狼网站狼狼鲁亚洲下载| 亚洲第一福利视频导航| 国产农村精品一级毛片视频| 永久免费AⅤ无码网站在线观看| 潮喷在线无码白浆| 99re经典视频在线| 乱人伦视频中文字幕在线| 国产精品主播| 二级特黄绝大片免费视频大片| 亚洲国产欧美目韩成人综合| 亚洲免费毛片| 午夜少妇精品视频小电影| 国产一区二区三区视频| 日本免费一级视频| 日本五区在线不卡精品| 久久国产精品嫖妓| 国产香蕉在线| 国产成人乱码一区二区三区在线| 中文字幕av无码不卡免费| 国产午夜精品鲁丝片| 国产精品自在线天天看片| 天堂久久久久久中文字幕| 国产丰满大乳无码免费播放| 99精品免费欧美成人小视频 | 精品国产香蕉在线播出|