?

基于校園實景的虛擬現實導航系統設計
——以閩西職業技術學院為例

2024-01-18 10:51陳淑玲
閩西職業技術學院學報 2023年4期
關鍵詞:擬態導航系統材質

陳淑玲

(閩西職業技術學院,福建 龍巖 364021)

隨著校園信息化和“數字校園”“智慧校園”建設的全面推進,校園精細化管理及校園文化推廣迫切需要精準的、真實的三維校園地理信息。目前盛行的導航系統如高德地圖、百度地圖等,更新速度快,定位精度已達到1m級,但這些導航系統只提供平面化的地理信息,不具備立體空間的信息,更無法根據用戶的行為實時反饋并動態呈現3D 畫面。因此學校需要一個輕量級的針對性強的三維校園導航APP,通過移動端+VR 端即可游覽校園?;谛@實景的虛擬現實導航系統根據校園的真實環境,使用三維可視化技術創建三維仿真建筑模型,利用虛擬現實技術構建擬態環境來模擬校園場景,設置人與擬態校園的交互行為,立體化展示校園自然風光和人文文化,是數字校園建設的重要組成部分[1-2]。

1 創建三維模型

構建校園擬態環境首要是創建校園的三維場景模型。三維模型是構建虛擬空間的基礎,是整個虛擬現實導航系統具有仿真效果的關鍵,是用戶能否沉浸于擬態校園的決定性因素。其主要任務是使用三維軟件3Ds Max構建校園內的樓宇、道路、文化長廊、標志性建筑等模型,工作量占整個系統實施的70%以上;再直接利用虛擬引擎Unity 3D Object 對象和標準資源包Standard Assets 中的素材創建校園的地形、湖泊、植被等,在保障虛擬仿真效果的同時降低建模工作的強度和復雜度。構建校園三維場景模型的主要流程是:測繪校園→構建模型→檢測和優化模型→材質貼圖→烘焙渲染。

1.1 前期準備

測繪校園作為三維建模的前期準備工作,為構建模型提供豐富的數據依據和強有力的效果對比,主要包括勘測校園、繪制CAD 平面圖和立面圖。利用各種測量工具(如激光雷達、攝像機等)勘察校園場景布局,收集處理勘測數據,利用收集到的信息按1:100 比例繪制建筑物草圖和校園布局圖,并采集各視角的校園景觀圖作為參照,使構建的模型更接近于實物,提高系統的仿真效果。

1.2 創建模型

素材收集好后,選擇最優方法快速有效地構建單體模型。模型可以逐一載入到Unity 3D 中整合,也可以導入到同一個三維場景中整合,且以對象為單位進行單體建??梢蕴岣呓_^程中視圖的透視度,便于增加細節和部分重建,降低系統功耗和建模操作的復雜度,更易于后續設置人與模型間的交互。但建模中使用的單位和比例必須一致;將CAD 圖導入Max 中作為參照圖,提取建筑物的幾何特征并分析其拓撲結構,使用Edit Poly、Edit Mesh 等建模技術從點、線、面著手創建模型,布線清晰,盡量使用四邊面并控制模型的點面數,實現二維圖映射到三維立體模型[3-4];建模過程中嚴格按照物體的實際縮放比例構建,避免模型變型,增強擬態場景的沉浸感和代入感[5]。

1.3 優化模型

虛擬現實在仿真過程中強調實時性和交互性[1]。此系統須具備高響應能力,應從以下方面規范優化模型:盡量控制模型的點面數,刪除沒有外露的元素,如看不見的底面、重面,刪除對模型結構不起作用的點線面,同時合并斷開點、移除孤立點;可以復制的模型盡量復制,具有對稱結構的模型充分利用鏡像功能制作,模型的點與點之間要對齊,點之間不能有縫隙或錯位,避免漫游場景時出現閃面、破面或交叉面;對于有重疊結構且邊緣無需用貼圖細致表現的模型,采取落搭的方式制作;模型網格應盡量是分布均勻的四邊面或三邊面[6],為賦予模型材質貼圖奠定基礎,模型導入引擎中也會自動轉化為規整三邊面,減少渲染過程產生的鋸齒和閃爍;模型的復雜構造盡量由貼圖補充展現,使用渲染到紋理、渲染曲面貼圖、渲染法線貼圖等烘焙方法代替建模方式實現;模型的命名要規范,不使用中文,也不重名,避免模型導入到Unity 3D引擎時出錯。

1.4 材質貼圖

良好的材質可以彌補模型先天的粗糙與不足,使用紋理映射技術為模型賦予貼圖,可以增強模型細節特征和仿真效果。Unity 3D不支持3Ds Max 中的大部分材質類型,可以支持Standard 和Multi/Sub-Object 材質中的Diffuse Color 以及Self-illumination貼圖通道[7],但只支持Bitmap 貼圖類型。光照不同時材質所呈現的特征和紋理也不盡相同。為了避免場景中光傳遞、光線跟蹤等計算消耗大量資源,模型外形的色相、飽和度、亮度直接由Bitmap 貼圖呈現,從而實現擬態場景中光線與模型材質的和諧統一。首先,使用“UVW 展開”修改器或展UV 專用軟件如Unfold3D、UVLayout等將模型的曲面展為平面,將展好的UV 渲染成UVW 模板,保存為.tga 格式或.png格式的圖像;其次,將UV 模板圖導入繪圖軟件Photoshop 或Illustrator 中,根據需求繪制材質貼圖;最后,將繪制好的貼圖通過材質位圖通道賦給模型,實現二維平面精準映射到三維模型的立體表面上。另外,材質和貼圖的命名應該與模型對應,貼圖文件的尺寸必須是2n,從呈現的效果和占用的資源綜合考慮,貼圖尺寸通常不超過1024 px×1024 px[7],如果有特殊需求可以調整尺寸。展UV 時,必須遵守以下規則:UV 區塊應該盡量分成較大的區塊;盡量減少UV貼圖的變形、扭曲和拉伸,可以使用棋盤格檢測;UV 必須在有效方形區域內,充分利用空間合理布局,不可重疊;必須保持UV區塊間比例大小。

2 虛擬現實導航系統

基于校園實景的虛擬現實導航系統的開發流程見圖1,每個流程環環相扣、緊密銜接。項目實施過程中將流程拆分成“積木”,對每個“積木”進行制作整理。

圖1 基于校園實景的虛擬現實導航系統的開發流程

2.1 3Ds Max與Unity 3D銜接

Unity 3D 中使用3Ds Max 構建的模型,須注意以下幾方面:確保模型的軸心與中心一致,物體模型的軸心不一定在自身的中心,導出前需將模型的軸心與中心對齊重合;確保模型的貼圖可用,Max 中構建好的模型以Autodesk(*.FBX)格式導出,在導出設置中“嵌入媒體”,所使用的貼圖將隨模型一并導出,再將導出的FBX 文件存放于該Unity 項目下的Assets 文件夾中,載入模型時將自動生成貼圖文件,模型也自動顯示貼圖材質;導出模型時需修正坐標,確保Unity 3D加載模型時坐標正確,Unity 3D采用標準的笛卡爾坐標系,是左手坐標系,而Max 采用右手坐標系,導出模型時必須將軸轉化的向上軸改為“Y-up”[8]。

2.2 導航系統的設計實施

創建Unity 3D 項目,導入SDK,添加Terrain 對象根據校園的地理信息創建地形;加載三維場景模型,模型按實際位置放置,搭建校園的擬態環境,盡可能真實地反映校園環境,包括建筑物的外形、顏色、紋理,道路的路徑,樹木的位置和形狀等。依據模型的形狀和剛體特性,為各模型添加不同類型的碰撞體組件,如Box Collider、Mesh Collider 等,在Unity 3D中添加的3D對象自帶碰撞體。樓宇的外形結構類似長方體,選擇為其添加Box Collider,避免用戶漫游場景時發生穿透現象,并添加VR Interactive Item事件,做好人機交互活動的準備工作,見圖2。

圖2 Box Collider的設置

在工程項目中,導入Standard Assets、Enviromment資源包,直接使用資源包中花草樹木的素材搭建校園景觀?;ú輼淠揪哂凶匀坏墓庥扒译S風搖擺,在構建景觀時一定要控制植被的數量,以免占用太多資源影響實時效果的呈現;運用資源包中的Water素材構建波光粼粼的湖泊,并加載Bridge 中的模型補充完善擬態環境;再導入Sky.unitypackage 天空素材包,設置天空背景并調整燈光,使光影與日照協調,擬態場景符合現實景觀;然后確保將與用戶發生交互行為的所有模型添加碰撞體組件。同時,創建并利用攝像機StartCamera 設置導航起始點,規劃設計導航路線;使用SendMessage函數提供指引和指示功能,顯示路線提示信息及樓宇功能信息等,宣傳校園人文文化;通過Button 控件組收集用戶的動態反饋信息,選擇觸發不同事件。

用戶與導航系統的交互主要通過用戶的注視行為模擬實現。導航系統利用虛擬現實設備實時獲取用戶眼睛的聚焦點,以確定用戶在擬態場景中的位置和移動軌跡,同時利用捕獲到的碰撞檢測信息觸發交互事件,實現用戶與系統的交互,實時切換場景中的3D畫面,完成交互細節。用戶與導航系統的交互流程見圖3。

圖3 用戶與導航系統的交互流程

用戶與導航系統的交互實現如下:創建VR Eye Raycaster、VR Input 和VR Interactive Item 類處理用戶與系統的交互事件[9]。將VR Eye Raycaster 掛在主攝像機StartCamera(見圖4),每次調用Update()時向用戶凝視的方向發射一條射線,再調用Physics.Raycast()檢測射線是否擊中場景中的某個碰撞體[10]。當射線擊中碰撞對象時,在被擊中的對象上查找VR Interactive Item(Script)控件,判斷用戶聚焦的目標對象,顯示提示信息,根據用戶的反饋動作觸發后繼的響應事件;否則根據用戶聚集點的靠近,沿導航路線模擬用戶移動,實時動態呈示擬態畫面,實現導向功能。

圖4 攝像機上的主要控件

這系統在PC端進行功能開發,測試通過后再移至VR 端。VR Input 控件在直接注冊監聽事件的同時,需能夠兼容動作發生源,可以是Gear VR上輸入觸發的click 事件、taps 類事件和swipes 事件[11],也可以是使用Oculus Rift 時專為PC 端準備的鼠標鍵盤的輸入事件。

2.3 運行調試

完善虛擬現實導航系統設計,運行測試,修正錯誤,使整個系統運行具有低時延、高仿真的效果,具備人性化操作功能,最后導出APK文件。以Android應用平臺為例,安裝Android Build Support 和Java SDK、Android SDK Tools 插件搭建發布平臺,將導航系統打包成APK 安裝包,安裝運行于手機終端,再佩戴上VR 眼鏡測試體驗效果,發現問題和不足,及時調試并改進。

3 虛擬現實導航系統運行效果

以閩西職業技術學院為例,虛擬現實導航系統參照校園的平面圖,利用三維可視化建模技術和虛擬現實技術設計實施整個系統,系統構建了與校園實景幾乎一致的擬態環境,在擬態校園里花草樹木搖曳生姿、湖面波光粼粼,完全符合自然景觀。用戶佩戴VR 眼鏡即可突破時空的限制以第一人稱的視角沉浸式地游走于校園,達到身臨其境的體驗效果。虛擬現實導航系統以學校西門為導向起點,通過用戶眼睛的凝視行為指引導航系統沿規劃路線呈現動態3D 畫面,展現校園立體風光;當系統捕捉檢測到用戶駐足注視某個建筑物的行為時,系統提供此建筑物的關鍵信息,激發用戶深入了解的興趣,利于宣傳學校的人文景觀和辦學理念。

猜你喜歡
擬態導航系統材質
章魚大師的擬態課堂
說說“北斗導航系統”
模仿大師——擬態章魚
衣服材質大揭秘
“北斗”導航系統是怎樣煉成的
關于擬聲擬態詞的考察
一種GNSS/SINS容錯深組合導航系統設計
解讀全球第四大導航系統
外套之材質對比戰
針織衫之材質對比戰
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合