林晨陽,王贈凱,王世龍,朱宇豪
(嘉興學院數理與信息工程學院,嘉興314001)
隨著智慧城市建設的不斷推進,許多學校在大力建設智慧校園。虛擬校園作為智慧校園的重要組成部分,能滿足師生對校內教學設施瀏覽、校園文化展示、對外形象宣傳等的需求。虛擬現實技術作為一種新的交互手段,能夠對現實世界進行虛擬仿真,生成逼真的視、聽、觸覺等一體化的虛擬環境,具有沉浸式、交互性、想象性的特點。操作者進入虛擬畫面,就會產生身臨其境的真實感受和體驗。利用VR(Virtual Reality)技術建立虛擬校園導覽系統,能夠使用戶足不出戶便可親臨校園內的每一個角落,為廣大師生提供極大便利。
目前有很多場館都在開發類似的虛擬導覽系統。文獻[1]探討了如何將虛擬現實全景技術應用于校園全景漫游系統、校園全景導航、學院簡介瀏覽和科研成果展示等方面的策略及其所能取得的效益。文獻[2]探討了探討虛擬現實技術在天文科普教育領域的應用。文獻[3]利用騰訊地圖內置的街景調用接口和微信所提供的位置等信息開發了一個微信端的校園導覽系統,可以同時適用于Android 和iOS 平臺。但該系統受限于騰訊地圖所提供的景物細節,雖能滿足日常校園內的路線規劃,但無法提供建筑物的內部細節。文獻[4]將校園分成多個場景,利用CAD 和3DMax 對每個場景內的地表模型和建筑物模型進行建模,構建虛擬校園三維場景,在Unity3D 開發環境下通過C#編程語言,實現用戶與場景間的交互。文獻[5]利用谷歌地圖采集校園地理數據,使用Maya 和Photoshop 進行三維建模和紋理繪制,利用Unity3D 引擎進行用戶交互設計,建立3D校園導覽系統。
本文利用VR 技術實現一個虛擬的嘉興學院校園3D 導覽系統,為廣大師生提供導覽服務。該系統利用Maya 和Unity3D 軟件通過模塊化設計,分離模型和VR場景,建立一個虛擬的嘉興學院和人物模型,通過操作人物在虛擬地圖中走動來游覽嘉興學院,為廣大師生提供一種身臨其境地了解嘉興學院整體和局部場景布局的便利方式。
本文設計的嘉院導覽系統解決了傳統導覽系統靈活性差的缺點,使用戶從基于平面的瀏覽體驗變為3D沉浸式體驗。傳統導覽系統的地圖以平面為主,表達效果有限,雖然有一些地圖是3D 的,但是效果并不理想。本文利用虛擬現實技術,通過Maya 和Unity3D 的模型構建和拼裝[6],實現用戶在虛擬場景中的四處游覽,同時兼顧瀏覽和沉浸體驗。
如圖1 所示,嘉院導覽系統的設計分為三個階段,分別是信息采集階段、分塊建模階段和模型組合優化階段。信息采集階段包括校園平面數據采集和照片拍攝處理等。需要采集校園內部各種建筑和物體相關地理數據,如了解建筑的位置、植被密度、道路方位等信息。分塊建模階段包括校園場景劃分和分塊模型創建。將場景分塊,獨立建模,做到一次建立,多處使用。模型組合優化階段包括場景整合和交互設計。利用Unity3D 引擎進行模型整合,通過C#編程整合場景和人物等信息,經過多次測試優化完成系統開發。
嘉院導覽系統根據嘉興學院的校園建設進行設計,通過對校園建筑進行建模和場景渲染,讓虛擬場景更加真實。嘉院導覽系統利用Unity3D 引擎編寫程序來實現交互,通過建立模型來實現場景仿真,通過實地調查解決場景位置問題,具有虛擬人物,交互元素,場景游覽等模塊。系統的開發過程涉及一些關鍵問題需要提前做出考慮。
(1)校園內的各種實物元素較多,場景數據采集和建模復雜度較高,同時復雜的模型也會導致Unity3D軟件的調試過程更加復雜,需要統籌效率和質量進行制作。
(2)交互程序需要結合場景來編寫和配置,場景中人物位置變化需要進行精確的矩陣運算,工作量較大。利用C#編程語言進行程序編寫和配置提高效率。
(3)虛擬場景的變換對系統軟硬件要求較高,為了讓用戶能夠有更好體驗,需要在保持清晰的畫面及較高的流暢度的同時,盡可能降低系統對軟硬件性能的要求。
嘉院導覽系統通過Unity3D 軟件進行模型構建和拼裝。對學校進行考察,繪制嘉興學院大致地圖并對部分細節進行實地拍攝。建立校園內各種物體如建筑物、樹木、河流等的模型,利用繪制好的地圖將道路鋪在指定位置。進行建筑物鋪設,把一個個建立好的模型固定在指定位置,并為樹、草環境細節建模。創建人物模型,利用C#語言編程控制人物模型,使其能夠在嘉興學院的虛擬地圖上行走。用戶通過操縱人物模型實現在虛擬環境中的四處游覽,并能了解感興趣物體所在位置。虛擬道路上設立有指路標志和建筑信息牌,能使用戶簡單直接地獲取每座建筑的基本信息。通過Unity3D 生成虛擬校園導覽系統軟件,用戶可以通過終端直接打開進行瀏覽,也可通過VR 設備以虛擬人物的視角在虛擬校園中瀏覽。
第一階段,利用百度地圖了解嘉興學院所在地各個建筑物的間隔、排列、建筑物比例以及每個樓的占地面積,畫出一號樓到十四號樓的基本位置圖。在Unity3D 中按比例建好地面,創建場景并標注位置;然后對嘉興學院進行實地考察拍攝建筑物圖片,并歸納特殊建筑。對同一建筑需要進行多角度拍攝,為模型構建提供更詳細的信息。
第二階段進行場景劃分和模型創建。校園有十四棟樓、三座橋、一個操場、兩個食堂、兩個籃球場和一個運動樓。主要包括以下場景模型的創建。
(1)地圖設置。在Unity3D 中設置地圖,長寬比為4:3,厚度為1,分辨率適中,地圖覆蓋全部,越高性能要求越高,顏色為水泥色。
(2)道路設置。在Maya 中建立帶實線虛線的柏油馬路,擁有直路、轉彎、十字路口,兼顧路邊小路和綠化,通過復制模型建立校園道路。
板式換熱器由一系列具有一定波紋形狀的金屬片疊裝而成,液體(或氣體)與液體通過板片進行熱交換,實現能量由余熱傳遞到熱媒水,供生活熱水或空調使用。
(3)橋梁設置。在Maya 設計橋梁部分,對上坡、下坡和平路部分進行分塊設計后導出為fpx 文件,再導入到Unity3D 中進行拼接和大小調整。
(4)樓房設立。需要通過Maya 建立模型,導出到Unity3D 環境中擺放并貼圖。校園樓宇設施較多,為了簡化樓的建模復雜程度,提高系統的效率,重新設計部分樓的表現形式。由于多數教學樓有相同的結構和外表,利用3D 立體數字模型代替部分建筑,不僅表現新穎也能提高系統運行效率。
(5)植被和綠化,事先建立好樹葉樹枝的模型,通過Unity3D 的自帶技術,一步步建立樹的結構,貼上材質完成樹的建立。然后建立模擬校園路面上凹凸的綠化地點,運用沙土材質,覆蓋已經建立好的小草和樹木模型完成綠化,展現出更真實的場景。
第三階段進行模型整合、優化和交互設計,包括以下主要工作。
(1)人物制作方面。制作人物骨架和貼圖,對骨架進行貼圖并矯正。利用Maya 的動畫功能切幀制作動畫,包括跑步,跳躍等動作。
(2)交互設計方面。在Unity3D 環境下利用C#編程語言對編寫腳本支持程序,綁定人物動作、鍵盤和攝像機,實現用鍵盤操作人物動作以及互動場景切換等功能。具體設置如下:
①角色部分控制器參數設置:

②顯示面板提示設置:


③角色復位函數:

④角色跳躍實現:

⑤攝像頭設置:


⑥角色按鍵移動:


(3)在流暢性體驗和軟件運行性能之間做出平衡,制作后期對代碼進行重構,簡化人物和減小樓房的分辨率,適當降低畫面質量。
(4)對于光影,我們對太陽光進行了一些調試,使之更加柔和,提高亮度。
本文所設計的嘉院導覽系統操作方便,容易上手。系統設置有操作提示,在用戶打開軟件時,操作方法以及各個按鍵的功能會在屏幕的右上方顯示。系統設計采用了較為簡單的模型部件,因此系統響應速度較快。用戶操縱人物模型可以在虛擬場景內四處暢游,轉換各種視角,使人物進行跳躍或休息,也能夠讓人物部分穿模,減少用戶在地圖上隨意行走時的不便。但該系統仍然存在一些的細節需要優化以及功能不夠豐富的問題。隨著5G 技術的商用,基于虛擬現實技術的導覽系統性能和用戶體驗將會進一步提升。