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

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

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

張 丹

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

1 虛擬景觀漫游概述

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

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

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

對于虛擬仿真項目來說,與運行性能相關的,主要有兩種計算資源,CPU 和GPU,在運行過程中它們相互合作,來控制項目的運行幀率與渲染分辨率,CPU 負責運行幀率,GPU 則負責渲染分辨率等。

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

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

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

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

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

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

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

3 優(yōu)化技術應用解析

之后將三維場景導入Unity 進行虛擬漫游和仿真交互控制。常用的優(yōu)化技術主要有以下幾個方面。

3.1 優(yōu)化幾何體

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

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

3.2 LOD 技術

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

層次細節(jié)(Levels of Detail)是根據(jù)物體在場景中所占視圖的百分比來調(diào)節(jié)不同復雜度模型的。當攝像機距離某物體較遠的時候,采用低模,當攝像機距離較近的時候,采用高模??梢蕴岣哂螒蜾秩拘?,但會占用更多的內(nèi)存。

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

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

圖1 樹木應用LOD 遠近效果變化

3.3 遮擋剔除技術

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

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

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

圖2 景觀場景應用遮擋剔除

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

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

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

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

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

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

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

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

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

圖3 應用后處理技術前后效果對比

4 結(jié)論

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

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

猜你喜歡
景觀優(yōu)化模型
一半模型
超限高層建筑結(jié)構(gòu)設計與優(yōu)化思考
景觀別墅
民用建筑防煙排煙設計優(yōu)化探討
關于優(yōu)化消防安全告知承諾的一些思考
一道優(yōu)化題的幾何解法
火山塑造景觀
重要模型『一線三等角』
包羅萬象的室內(nèi)景觀
重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
主站蜘蛛池模板: 丝袜高跟美脚国产1区| 国产浮力第一页永久地址| 久久伊人操| 成人午夜天| 国产无码精品在线| 久久精品人人做人人爽97| 亚洲精品国产首次亮相| 国产一区二区三区精品欧美日韩| 无码综合天天久久综合网| 久一在线视频| 夜精品a一区二区三区| 亚洲第一成年人网站| 国产va在线| 婷婷丁香在线观看| 国产综合在线观看视频| 日本日韩欧美| 国产美女精品一区二区| 免费 国产 无码久久久| 极品尤物av美乳在线观看| 午夜不卡视频| 久久国产乱子| 精品少妇人妻av无码久久| 国产极品美女在线播放| 亚洲国产AV无码综合原创| 国内嫩模私拍精品视频| 免费毛片全部不收费的| 亚洲成a人片77777在线播放 | 日韩国产无码一区| 99久久99这里只有免费的精品| 男女性午夜福利网站| 美女视频黄频a免费高清不卡| 欧美精品另类| 人妻免费无码不卡视频| 无码人妻免费| 日韩二区三区无| 久久永久精品免费视频| 最新午夜男女福利片视频| av天堂最新版在线| 40岁成熟女人牲交片免费| 美女国内精品自产拍在线播放 | 蜜桃视频一区| 欧美国产日本高清不卡| 一区二区三区毛片无码 | 国产粉嫩粉嫩的18在线播放91| 久久精品视频一| 狠狠操夜夜爽| 国产一级做美女做受视频| 亚洲天堂区| 亚洲国产亚洲综合在线尤物| 五月天在线网站| 亚洲一区色| 亚洲人成网站在线播放2019| 日本福利视频网站| 国产极品美女在线播放| 国产麻豆福利av在线播放| 久久国语对白| 欧美不卡在线视频| 免费观看三级毛片| 久久中文电影| 欧美伦理一区| 人妻精品久久无码区| 国产一级妓女av网站| 国产无码精品在线播放| 97视频在线精品国自产拍| 国产大片喷水在线在线视频 | 香蕉久久国产精品免| 欧美成人一级| 午夜啪啪福利| 久久久久国色AV免费观看性色| 激情综合图区| 免费女人18毛片a级毛片视频| 久久精品亚洲中文字幕乱码| 成人福利在线免费观看| 国产乱子精品一区二区在线观看| 亚洲AV人人澡人人双人| 国产亚洲成AⅤ人片在线观看| 国产精品福利导航| 亚洲一本大道在线| 午夜视频免费一区二区在线看| 91在线国内在线播放老师| 色偷偷综合网| 丁香六月综合网|