核心期刊咨詢網
您當前的位置:首頁 > 學術論文 > 電子信息論文 > 基于Unity3D的虛擬校園漫游系統及其關鍵技術研究

基于Unity3D的虛擬校園漫游系統及其關鍵技術研究

來源:核心期刊咨詢網位置:電子信息論文時間:2019-11-05 09:4612

  摘 要:為擴大招生,學校需要更好展示自身風采的平臺,讓學生更好地了解校園內部環境,而傳統的虛擬校園漫游系統,主要是利用2D動畫、照片、圖片和文字向用戶展示校園環境,系統缺乏互動性、沉浸感和景深效果,無法使用戶產生身臨其境的感覺。針對以上問題,本文采用3D虛擬現實技術,設計、開發了一個以用戶為中心,富娛樂性、交互性和沉浸感的Web訪問的交互式漫游系統。

  關鍵詞:虛擬現實;虛擬校園;Unity3D;游戲引擎

軟件和集成電路

  《軟件和集成電路》(月刊)創刊于1984年,郵發代碼:82-469。由中國電子信息產業發展研究院、北京中電報發展有限公司主辦的計算機科學技術刊物。

  1 引言(Introduction)

  虛擬現實(Virtual Reality),簡稱VR技術,是利用計算機產生一個三維的虛擬世界,為用戶提供視、聽、觸覺等感官的模擬,使用戶如同身臨其境一般可以即時且沒有限制的觀察三維空間中的事物[1]。虛擬現實系統是聯系虛擬世界、真實世界和用戶之間的紐帶,當用戶在真實世界的狀態發生改變,通過虛擬現實系統,將其傳送到虛擬世界中,虛擬世界就會與用戶之間產生互動,如同真實世界一般。

  虛擬校園漫游系統是虛擬現實技術在數字化校園中的具體應用,是校園環境的模擬和再現[2]。首先利用三維建模工具3DMax,創建教學大樓、圖書館、食堂、宿舍樓、體育場等主要建筑物的3D模型;接下來利用Unity3D引擎和交互腳本,使用戶可以做出與現實世界相同的動作,體現了系統的交互性和真實性。該系統將成為了解學校的一個窗口,對于展示學校整體形象、提高生源質量和為在校新生導航將起到重要作用[3]。在其基礎上,還可以建立虛擬大學,提供相應的虛擬課堂、在線答疑、虛擬實驗等服務。

  Unity3D是一個能在多平臺輸出3D游戲開發工具和游戲引擎套件,其中包括了圖形、音頻、物理和網絡等諸多功能模塊,并提供了一個整合以上功能的、強大的圖形化編輯器。其編輯器運行在Windows和Mac OS X下,可發布游戲至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平臺[4]。Unity3D被廣泛應用于虛擬場景的模擬(博物館、購物中心等)、駕駛模擬(飛機、輪船、汽車等)、游戲娛樂軟件、醫療、教育等諸多領域。

  2 系統的設計與實現(Design and implementation of the system)

  2.1 系統的開發流程

  虛擬校園漫游系統的開發遵循軟件開發的基本流程,包括分析、設計、開發、測試、修改,重復上述步驟逐步實現系統所規劃的功能[5]。其開發流程大致分為九個步驟:校園環境測量、繪制校園草圖、創建主要建筑物模型、收集素材、為模型添加紋理和材質、將模型導入Unity3D引擎、錄制視頻和音頻文件、編輯互動腳本、生成虛擬校園。具體的開發流程如圖1所示。

  首先測量真實的校園環境,并按等比例繪制校園環境的草圖。然后利用三維建模工具3DMax,創建地形、主要建筑物和環境模型,并盡量保證與真實環境的比例相同。接下來根據環境的特點,為三維模型貼上逼真的素材,構建完整的校園場景。最后將場景導入Unity3D引擎,編輯互動腳本,將靜態場景連接到Unity3D引擎,實現角色和場景間的互動。

  2.2 系統的設計目標

  虛擬校園要為用戶提供盡可能真實的校園模擬環境,并實現角色與場景間的互動,其具體設計目標如下:

  (1)系統具有友善的用戶界面,便于用戶通過瀏覽器訪問。

  (2)構建校園主要建筑物高精度的全景模型。用戶可以通過鼠標來放大、縮小和旋轉建筑模型,并從任意角度觀察。

  (3)系統支持兩種游覽方式:自由游覽和自動游覽。自由游覽是指用戶以第一人稱視角,通過鍵盤和鼠標控制角色在虛擬校園中隨意參觀、游覽。自動游覽是指用戶按事先設定好的人稱視角,沿固定線路參觀、游覽校園。

  (4)媒體展示。虛擬校園中可以嵌入Flash、視頻、音頻、文本等多媒體信息,當用戶到達交互區域或通過鼠標點擊交互對象,能夠在彈出窗口中播放相關的多媒體信息。

  (5)快速地理信息查詢。該功能可以查詢校園中主要建筑物的位置信息,并可即時的將用戶角色移動到該建筑物附近。

  2.3 系統的實現

  依據上述的開發流程,采用3DMax為場景建模工具,Unity3D為系統開發平臺,設計開發了交互式的虛擬校園漫游系統。用戶可以通過瀏覽器訪問虛擬校園,體驗逼真的校園環境,并可通過導航菜單選擇自由游覽、自動游覽或地圖導航。在漫游過程中,用戶可以通過鍵盤控制角色的運動,使用鼠標點擊建筑物可以了解相關的環境信息。系統的運行效果如圖2和圖3所示。

  3 系統開發中的關鍵技術(Key technologies in the system development)

  3.1 模型優化

  模型是虛擬校園的基礎,模型的精細程度會直接影響到系統的仿真效果,但過多的復雜模型同樣會增加系統的負擔,并對系統的交互性和實時性產生不良影響。為保證仿真效果和系統的運行性能,我們在創建模型時盡可能地使用標準幾何體;建筑物表面的細節、草坪和花卉采用紋理貼圖;樹木和高大的植物采用廣告牌技術;在模型的構建中還考慮到對模型的優化,通過采用刪除不可見面、減少材質數量、壓縮貼圖等優化方法,簡化了模型,減少了模型的大小[5]。優化前后效果圖如圖4和圖5所示。

  3.2 碰撞檢測技術

  碰撞檢測技術是三維場景中實現交互的重要機制。Unity3D引擎的碰撞檢測機制分為兩類:觸發和碰撞[6]。采用觸發方式,當碰撞發生時不會產生任何物理現象,該機制用于處理沒有產生任何物理現象的碰撞。采用碰撞方式,當碰撞發生時會產生相應的物理現象,例如改變物體的位置、爆炸等等。漫游過程中,使用觸發器實現門的自動開關,使用碰撞器處理角色、樹木和建筑物之間的碰撞。

  3.3 虛擬交互

  Unity3D引擎中,虛擬交互的核心是編輯實現交互功能的腳本,通過將交互腳本賦予靜態的三維模型,賦予其與用戶交互的能力。系統中的虛擬交互主要包括自由游覽、自動游覽和信息交互。

  3.3.1 自由游覽

  自由游覽是指用戶以第一人稱視角參觀、游覽校園。游覽過程中用戶通過W、S、A、D鍵控制角色的前進、后退、左、右移動,使用鼠標改變角色的觀察視角[7]。其部分核心代碼如下所示:

  if(Input.GetKey(KeyCode.W)){

  z+=m_Speed*Time.deltaTime;

  }

  if(Input.GetKey(KeyCode.S)){

  z-=m_Speed*Time.deltaTime;

  }

  if(Input.GetKey(KeyCode.A)){

  x-=m_Speed*Time.deltaTime;

  }

  if(Input.GetKey(KeyCode.D)){

  x+=m_Speed*Time.deltaTime;

  }

  transform.Translate(new Vector3(x,y,z));

  3.3.2 自動游覽

  自動游覽是指用戶以規定的視角,沿固定的線路參觀、游覽校園。游覽過程中,可通過鼠標改變觀察視角。自動游覽功能的實現步驟如下。

  (1)創建多個cube作為漫游的導航點,將其均命名為WandarPoint,并用WandarPoint標記這些導航點;禁用其網格渲染器,并刪除碰撞器;將導航點均勻地設置在漫游路徑上,確保每個路口都有導航點,任何相鄰的導航點間均沒有障礙物,可以直接到達。

  (2)編輯自動瀏覽腳本,將腳本賦予角色。腳本中的操作包含兩部分:其一是按由近及遠的次序存儲所有導航點的位置信息,以及用戶的起始位置和運動方向;其二是按導航點的次序運動,最終抵達目標點。

電子信息論文發表流程

電子信息論文發表流程-核心期刊咨詢網
城市管理論文發表咨詢電話:400-7890619

相關論文閱讀

期刊論文問答區

電子信息優質期刊

省級期刊、國家級期刊、核心級期刊快速發表,電子信息論文發表就找核心期刊咨詢網

最新期刊更新

精品推薦