?

基于層次細節模型LOD 的虛擬現實設計

2020-08-12 06:47陳璐
科學技術創新 2020年24期
關鍵詞:等高線紋理虛擬現實

陳璐

(長江大學 地球科學學院,湖北 荊州434000)

1 關鍵技術軟件相關介紹

1.1 Global Mapper

Global Mapper 是一個繪圖軟件,主要功能是瀏覽、合成、輸入、輸出最常見的掃描位圖、輪廓線,矢量數據集,還可以編輯、轉換、打印所有類型的地圖圖形文件,也可以更改數據集的投影方法以適應不同人員項目的不同坐標系。

1.2 SketchUp Pro 建模工具

SketchUp 是一個功能強大且易于使用的3D 草圖設計工具??焖贅嫿?D 地形模型具有明顯的優勢。SketchUp 得到了設計人員的認可和要求:其簡化的命令,易用性和快速建??梢云ヅ涑R姷墓ぷ髂J?。設計師在設計了該項目并對其進行了概述之后,可以使用SketchUp 快速實施自己的設計理念并快速創建創意解決方案。

1.3 Unity3D 虛擬現實引擎

Unity3D 引擎已經超越了全球原有的UDK,CryTek 和其他游戲引擎。它支持所有與3D 游戲開發、AR,Unity3D 是世界各種游戲公司的開發人員都熱愛使用的一款開發工具。此外Unity3D 開發工具的特點不僅在于其卓越的性能,還在于其卓越的開發效率。同時,它具有世界上其他開發工具無法提供的性價比優勢。

2 構建三維地形模型

首先通過SketchUp 中的等高線根據CAD 中等高線的高度值推拉到相應的高度,選中一根等高線使用移動工具進行等高線Z 軸度量的設置,可使用移動工具快捷鍵M 對等高線進行X、Y、Z 軸的推拉。選中等高線使用快捷鍵M以后我們可以發現鼠標發生了了標志的變化,此時我們將等高線順著藍軸Z 軸進行移動,可根據海平面的高低決定向Z 軸的正方向還是負方向進行移動。

圖1 三維地形圖

為了還原真實的地形高低,我們根據CAD 中提供的等高線確切數值進行直接設置。

使用快捷鍵Ctrl+A 快速選中所有等高線使用沙盒工具中的根據等高線創建即可自動生成地形,生成的地形如圖1。

3 地形紋理貼圖

我們將下載好的衛星圖以所有支持的圖像類型為文件類型選擇用作圖像導入SketchUp。在進行紋理貼圖時我們首先要右鍵點擊導入的圖片在陰影功能中選擇投影,其次再打開模型,打開材質管理器,選擇樣本原料吸管直接在圖片上吸取,將吸取的材質賦予所要的物體就完成了地形的紋理貼圖。

圖2 山體紋理貼圖頂視

4 LOD 技術原理

細節層次(level of detail,簡稱LOD)是一種典型的三維可視化技術,根據人的視覺特征,對于不同距離的物體或不同視點的物體顯示不同的細節。LOD 技術的發展大致經歷了離散LOD 模型、連續LOD 模型和多分辨率模型3 個階段[3]。

為相同場景生成具有不同詳細程度的LOD 模型,并根據詳細程度對該組中的LOD 模型進行分類,并通過計算機選擇的序列號M(1,2,...,N)進行標識。同時,可以通過計算中心點為目標LOD 模型對應的每個子組,定義目標視點與目標之間的距離,可以獲得目標的視線,為每個LOD 模型設置可見性閾值,并且通過閾值將觀看距離分成不同的視線段,將這些視距段標記為D(1,2,...,N)。

圖3 不同視距中LOD 模型

圖4 實現效果圖

5 LOD 模型的選擇

正確選擇細節層次模型可以加速場景的生成,而不會犧牲圖形的細節并提高系統的響應速度。選擇的方法大致可分為四類:

(1)基于對象的空間關系:在某些特殊情況下,觀察者在場景中看不到部分幾何圖形。物體距離觀察者的歐幾里得距離越遠,可以觀察到的細節越少,這意味著較粗糙的細節水平被選擇來指示該對象對顯示器的保真度沒有很大影響。因此,可以刪除這些細節的繪制。

(2)基于人眼的視覺特征:隨著對象尺寸的減小,人眼識別對象的能力降低,因此可以根據對象的大小選擇不同的細節級別。另外,當物體遠離視場中心時,人眼識別物體的能力下降。視網膜區分中間物體細節的能力很強?;诖?,所顯示的場景可以分為中央部分和周邊部分,具有更精細的細節層次。根據眼睛的焦距,也可以為焦點區域前后的物體選擇不同的細節等級。

(3)基于對象的運動特性:運動物體相對于觀察者的速度決定了人觀察到的清晰程度。

(4)基于幀頻:確保持續穩定的幀速率以獲得良好的交互式性能至關重要。當確定選擇某個幀速率時,它必須保持不變并且不能隨著場景的復雜度而改變。

6 LOD 模型的實現

6.1 不同細節度模型的建立

本文采用基于人眼的視覺特性的LOD 模型的選擇方式,對三維地形建立三個不同細節度的模型,采用與第三節相同的方法再建立兩個相對較粗糙的模型。在Global Mapper 中我們對裁剪區域的高程地圖重新進行等高線的生成。對等高距的設置在這里我們選擇6m 和8m,對生成的等高線圖以AutoCAD Drawing(*.DWG、*.DXF)的格式輸出后導入到SketchUp 中,同樣的將SketchUp 中的等高線根據CAD 中等高線底圖顯示的高度值推拉到相應的高度,再使用沙盒工具中的根據等高線創建工具自動生成兩個不同細節度的三維地形。

6.2 將三維模型導入Unity

在SketchUp 導出模型時要注意選擇參數,在文件中的導出功能中選擇三維模型選擇以FBX 格式輸出,再導出之前我們要修改一下FBX 導出的幾個選項:

(1)選中將所有面變為三角形構成的。

(2)選中將雙面都導出。

(3)選中導出紋理映射。

(4)選中切換YZ 坐標(Y 向上)。

(5)單位選擇模型單位。

點擊確定以后導出即可,Unity3D支持模型的直接拖入。高中低模型分別以_LOD0、_LOD1、_LOD2 結尾,數字越大,代表模型精度越低!這里名字的設置方便后續LOD組件中對模型的設置。

6.3 LOD 效果的制作與實現

通過Unity3D 軟件進行LOD 進行展示,如圖4。

我們可以發現隨著攝像機與模型的距離的增大,即人遠離模型時視距的增大,模型的細節度逐漸降低,模型逐漸變??;反之隨著攝像機與模型的距離的減小,即人遠離模型時視距的減小,模型的細節度逐漸增加,模型逐漸變大。

7 結論

經過對選擇區域高程地圖的剪裁并為生成不同細節度三維地形而選擇不同等高距來生成等高線地形圖,我們在SketchUp 中建立了高中低三個細節度的三維地形模型,最終我們在Unity 中成功實現了LOD 模型的展示。對于建立三維模型的操作過程流暢,LOD 模型在Unity 中展示效果優良。

層次細節模型在三維景觀的展示中應得到開發人員的高效利用,其使虛擬現實景觀的展示效率得到大幅提高,加快了三維場景的繪制速度,降低真實感的損失,讓虛擬現實景觀展示效果更加逼真。

猜你喜歡
等高線紋理虛擬現實
等高線地形圖的判讀和應用
虛擬現實技術在中學校園中的應用
基于BM3D的復雜紋理區域圖像去噪
地形圖的閱讀
一種基于Fréchet距離的斷裂等高線內插算法
使用紋理疊加添加藝術畫特效
TEXTURE ON TEXTURE質地上的紋理
風口上的虛擬現實
虛擬現實技術向科幻小說借靈感
“等高線地形圖的判讀”專題測試
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合