《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 沉浸式虛擬校園仿真系統(tǒng)開發(fā)及關(guān)鍵技術(shù)研究
沉浸式虛擬校園仿真系統(tǒng)開發(fā)及關(guān)鍵技術(shù)研究
2017年微型機與應(yīng)用第1期
李婷婷,劉石,陳發(fā)祿
大連東軟信息學(xué)院 數(shù)字藝術(shù)系,遼寧 大連 116023
摘要: 虛擬現(xiàn)實技術(shù)可以給人帶來身臨其境之感,傳統(tǒng)的虛擬現(xiàn)實系統(tǒng)大多采用桌面式虛擬現(xiàn)實方式,沉浸感不強,交互性差,不能讓體驗者沉浸在虛擬系統(tǒng)中。綜合這些因素,文章根據(jù)三維虛擬校園仿真系統(tǒng)需求,設(shè)計實現(xiàn)了基于Unity3D平臺的沉浸式虛擬校園漫游系統(tǒng),并研究沉浸式虛擬校園開發(fā)中所使用的關(guān)鍵技術(shù)。實驗表明,該系統(tǒng)能克服虛擬漫游沉浸感不足的缺點,用戶可以體驗到與真實校園相近的虛擬環(huán)境,并且可以與虛擬環(huán)境進行交互。該系統(tǒng)具有簡單和易實現(xiàn)等特點,擁有廣闊的應(yīng)用前景。
Abstract:
Key words :

  李婷婷,劉石,陳發(fā)祿

  (大連東軟信息學(xué)院 數(shù)字藝術(shù)系,遼寧 大連 116023)

       摘要:虛擬現(xiàn)實技術(shù)可以給人帶來身臨其境之感,傳統(tǒng)的虛擬現(xiàn)實系統(tǒng)大多采用桌面式虛擬現(xiàn)實方式,沉浸感不強,交互性差,不能讓體驗者沉浸在虛擬系統(tǒng)中。綜合這些因素,文章根據(jù)三維虛擬校園仿真系統(tǒng)需求,設(shè)計實現(xiàn)了基于Unity3D平臺的沉浸式虛擬校園漫游系統(tǒng),并研究沉浸式虛擬校園開發(fā)中所使用的關(guān)鍵技術(shù)。實驗表明,該系統(tǒng)能克服虛擬漫游沉浸感不足的缺點,用戶可以體驗到與真實校園相近的虛擬環(huán)境,并且可以與虛擬環(huán)境進行交互。該系統(tǒng)具有簡單和易實現(xiàn)等特點,擁有廣闊的應(yīng)用前景。

  關(guān)鍵詞:虛擬校園;校園建模;沉浸式漫游;人機交互

  中圖分類號:TP391.9文獻標(biāo)識碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.024

  引用格式:李婷婷,劉石,陳發(fā)祿. 沉浸式虛擬校園仿真系統(tǒng)開發(fā)及關(guān)鍵技術(shù)研究[J].微型機與應(yīng)用,2017,36(1):79-82.

0引言

  虛擬現(xiàn)實技術(shù)(Virtual Reality,VR)是利用計算機生成三維虛擬景象,使人沉浸在虛擬環(huán)境中,有身臨其境的感覺,并可以與虛擬場景內(nèi)景象進行交互,被廣泛應(yīng)用于娛樂、軍事、醫(yī)療、教育等領(lǐng)域[1]。虛擬現(xiàn)實技術(shù)可以被劃分成兩類:一種是沉浸式虛擬現(xiàn)實系統(tǒng),體驗者可以通過特制的虛擬現(xiàn)實穿戴設(shè)備(比如頭盔、數(shù)據(jù)手套等)在虛擬場景中與之進行交互,產(chǎn)生身臨其境的感覺。而非沉浸式虛擬現(xiàn)實系統(tǒng)通常指不借助虛擬現(xiàn)實設(shè)備,通過電腦的鼠標(biāo)、顯示器、鍵盤等標(biāo)準(zhǔn)外設(shè)在電腦桌面上營造一個窗口式的虛擬環(huán)境,該方法價格低廉,但沉浸感差[2]。

  近年來,一些與虛擬現(xiàn)實技術(shù)相關(guān)聯(lián)的虛擬校園開發(fā)愈發(fā)引起人們的關(guān)注[3]。其中,虛擬校園漫游系統(tǒng)一直是國內(nèi)外研究的熱點。例如,德國的 Stuttgart 大學(xué)很早以前就開始構(gòu)建虛擬校園[4],并提供了校園的真實模擬。后來,浙江大學(xué)、清華大學(xué)、山東大學(xué)等也紛紛進行了數(shù)字校園的建設(shè)[5],吉林大學(xué)基于3DSMax創(chuàng)建校園場景,再在 DirectX 中選擇專業(yè)的組件來重新生成圖形并顯示出來,達到校園漫游的效果[6]。傳統(tǒng)虛擬校園的開發(fā)大多采用Quick Time VR方式,雖然精確性較高,但交互性差,沉浸感不強[7]?;诖耍疚脑赨nity3D[8]基礎(chǔ)上,結(jié)合Occlus dk2開發(fā)虛擬校園,使虛擬校園場景得到進一步完善,并就系統(tǒng)設(shè)計、三維建模、場景交互等有關(guān)技術(shù)進行了討論。

1系統(tǒng)設(shè)計

  沉浸式虛擬校園仿真系統(tǒng)是基于傳統(tǒng)校園景觀進行建模,形成一個虛擬的封閉式校園。在分析系統(tǒng)需求基礎(chǔ)上采用虛擬現(xiàn)實技術(shù)配合用戶交互,使得用戶可以佩戴虛擬現(xiàn)實設(shè)備在虛擬校園內(nèi)漫游,參觀校園內(nèi)部建筑,了解校園文化歷史。本文利用Unity3D技術(shù),結(jié)合Occlus dk2虛擬現(xiàn)實頭盔開發(fā)沉浸式虛擬校園漫游系統(tǒng)。首先基于3DMAX建模工具構(gòu)建三維校園模型;然后用Terrain工具構(gòu)建場景地形;最后將校園模型導(dǎo)入到Unity中加入碰撞檢測,實現(xiàn)用戶交互、虛擬漫游等功能,使用戶產(chǎn)生身臨其境的感覺,并且具有良好的交互性。系統(tǒng)開發(fā)流程如圖1所示。

 

001.jpg

2關(guān)鍵技術(shù)

  2.1校園建模

  校園三維建模是虛擬校園搭建過程中非常重要的組成部分,虛擬校園漫游系統(tǒng)的體驗效果與校園三維建模效果直接相關(guān)。在本文中,所有校園建筑均采用3DMAX建模軟件實現(xiàn),在制作建筑模型過程中,按照1:5 000的比例進行構(gòu)建,然后以fbx格式保存文件,最后在Unity3D中導(dǎo)入所生成的 fbx文件,進行場景搭建。

  在建模過程中既要考慮模型真實感問題,又要考慮系統(tǒng)運行速度問題。因此,采用精細建模與簡單建模相結(jié)合的方式構(gòu)建虛擬的校園三維景觀[9]。校園場景模型的制作分為兩種:一種是復(fù)雜模型,像教學(xué)樓、宿舍樓、圖書館等,這種模型制作要求非常精細,做建模時要適當(dāng)保留細節(jié);另一種是簡單模型,像道路、操場等,這種模型的制作非常簡單,只需制作出大致的輪廓,可以靠貼圖去實現(xiàn)三維效果。構(gòu)建模型過程中,在不影響模型真實度的基礎(chǔ)上,必須要減少模型的面數(shù)和分段數(shù),刪除模型相交處隱形的面數(shù),單個模型面數(shù)最多不能超過1 000,否則會影響系統(tǒng)的運行,通過對整個場景中模型的優(yōu)化達到最終的效果。

  2.2交互界面

  沉浸式虛擬校園漫游系統(tǒng)在界面設(shè)計上以簡潔、直觀、便于用戶操作為主要目的。主要考慮界面的色彩搭配、字體搭配以及頁面布局等多方面因素[10]。為了便于體驗者在校園里游覽,本文依照界面設(shè)計原則,為體驗者預(yù)留出大片的屏幕區(qū)域,增加學(xué)校場景的開闊感,所以在頁面左側(cè)以Button形式繪制出與系統(tǒng)交互的功能按鈕,右邊大片區(qū)域用于顯示校園漫游時的瀏覽畫面及交互效果。

  2.3傳送功能

  為了方便體驗者在場景中漫游,本文設(shè)定傳送門功能,在漫游鏡頭到達指定傳送位置時,會出現(xiàn)傳送對話框,可以根據(jù)需要傳送到場景中其他位置,也可以通過導(dǎo)航圖快速定位漫游到想去的地點,運行效果如圖2所示。部分代碼如下:

  //碰撞檢測函數(shù)

  function OnTriggerEnter(col : Collider){

  //條件判斷是否撞擊到人,如果觸發(fā)碰撞則打開傳送門

  if(col.gameObject.tag == "Player"){

  Chuansongmen.ch=0;}

  }

 

002.jpg

  2.4白天和夜晚轉(zhuǎn)換功能

  為了增強虛擬校園交互漫游中的真實效果,在場景環(huán)境構(gòu)建時除了考慮校園模型,還對天空、霧及光照效果等進行了模擬和控制。白天和夜晚主要體現(xiàn)在天空盒、燈光、陽光的差異,用代碼控制Render Setting中的天空盒選項,通過點擊按鈕改變天空盒6個方向的圖片,來實現(xiàn)白天和黑夜的轉(zhuǎn)變。校園場景中光線可隨時間的變化增強或減弱,實現(xiàn)一天中的仿真效果,模擬出現(xiàn)實生活環(huán)境,效果如圖3~4所示。

  

003.jpg

  2.5導(dǎo)航小地圖

  為了使用戶在漫游時可以實時獲得虛擬校園的方位信息,場景中加入導(dǎo)航功能,系統(tǒng)導(dǎo)航可以使用戶在參觀校園時獲得實時的位置信息,直觀地瀏覽校園,避免用戶進入虛擬校園后,由于對環(huán)境的不熟悉而迷失方向。具體實現(xiàn)時,采用2個攝像機,分別用于顯示小地圖和正常漫游場景,通過計算人物所在位置與場景的比例來定位漫游時人物的具體位置,然后采用標(biāo)志點方式在小地圖中顯示出來,如圖5所示。

004.jpg

  2.6碰撞檢測

  在虛擬漫游過程中,體驗者的觀察視點將隨著輸入設(shè)備的運動不斷發(fā)生變化,對于樹木、樓房、路燈等建筑需要做碰撞處理,否則極易造成視點穿過建筑物,造成虛假感覺。本系統(tǒng)在設(shè)計碰撞檢測功能時使用觸發(fā)碰撞檢測功能,即指定一個處于觸發(fā)狀態(tài)的碰撞器,將實際檢測碰撞對象包含進該觸發(fā)器中,這樣角色與對象的碰撞檢測就轉(zhuǎn)換為角色與觸發(fā)器之間的碰撞檢測,解決了碰撞過程中的突兀、不真實的感覺,提高了系統(tǒng)性能和真實程度,如圖6所示。部分代碼如下:

  //觸發(fā)器碰撞函數(shù)

  function OnTriggerEnter(col : Collider)

  //如果檢測到人則進入觸發(fā)器碰撞

  {if(col.gameObject.tag == "Player")}

  

005.jpg

  2.7虛擬漫游

  虛擬漫游是系統(tǒng)的重要模塊,為了讓體驗者充分感受3D校園美景,本文采用自動漫游和自主漫游相結(jié)合的方式。當(dāng)體驗者對學(xué)校路況不熟悉時可以采用自動漫游方式,系統(tǒng)會帶領(lǐng)體驗者按照預(yù)定的瀏覽路線進行游覽,自動對整個3D校園進行觀察。在自動漫游中,由于路線是預(yù)先制定好的,所以參與者可以不受外界一切干擾,當(dāng)然這也限制了參與者的視角寬度,靈活性較差。自主漫游是與自動漫游相互補的另一種方式,體驗者可以通過WASD鍵進行前后左右走動,鼠標(biāo)或是dk2頭戴設(shè)備可以轉(zhuǎn)換漫游視角。

  設(shè)計虛擬漫游系統(tǒng)時,設(shè)定體驗者可以選擇跑步或是走路等多種動作以便讓用戶獲得更好的體驗,具體實現(xiàn)代碼如下所示:

  //界面功能選擇

  function OnGUI(){

  //如果點擊跑步按鈕則進入跑步模式,并調(diào)整相應(yīng)跑步速度

  if(GUI.Button(Rect(100,100,100,40), "跑步"))

  {CharacterMotorMovement.maxForwardSpeed=8;

  p=1; }

  //如果點擊走路按鈕則進入走路模式,并調(diào)整相應(yīng)走路速度

  if(GUI.Button(Rect(100,150,100,40), "走路"))

  {CharacterMotorMovement.maxForwardSpeed=4;

  p=2; }

  }

  2.8Occlus dk2沉浸式虛擬漫游實現(xiàn)

  Oculus dk2 是2014年7月上市的一款虛擬現(xiàn)實設(shè)備,如圖7所示。它有兩個目鏡,每一個目鏡的分辨率都可以達到640×800,用戶在使用過程中,兩個目鏡疊加產(chǎn)生三維虛擬沉浸感,整體分辨率可以達到1 280×800,使得用戶在校園漫游時沉浸感大大提升。

006.jpg

  由于Unity Free integration for Oculus提供了與Unity Pro用戶相同的Oculus特性,因此,使用Unity4.6和Oculus integration包在Rift上可以開發(fā)沉浸式虛擬現(xiàn)實漫游系統(tǒng)。首先,需要把Unity 4 Oculus integration package導(dǎo)入到Unity中,然后找到 OVRPlayerController prefab將其拖入Hierarchy面板中替代MainCamera。戴上虛擬現(xiàn)實頭盔游覽校園時測試效果如圖8~圖9所示。

  

007.jpg

  3系統(tǒng)運行效果

  如上所述的沉浸式虛擬校園漫游系統(tǒng)的開發(fā)及運行均在Windows7操作系統(tǒng)上實現(xiàn),硬件環(huán)境為CPU Intel(R)Core(TM)i5-3230M,主頻2.6 GHz,內(nèi)存4 GB,顯卡AMD Radeon HD7500M,軟件環(huán)境為Unity3D4.6和3DS Max2014,運行效果如圖10~圖12所示。系統(tǒng)可以發(fā)布到PC、Web等多種平臺上,并能流暢運行,獲得了較好效果。由此證明,該系統(tǒng)具有較好的移植性,能夠在多種軟硬件平臺下運行。

  

008.jpg

4結(jié)論

  本文基于3DS Max建模技術(shù)和Unity3D虛擬現(xiàn)實技術(shù),將校園場景信息進行收集、整理并建立完整的三維仿真模型,結(jié)合虛擬現(xiàn)實頭盔Occulus dk2開發(fā)沉浸式3D虛擬校園漫游系統(tǒng)。運行結(jié)果表明,這種方法建立的虛擬校園突破了傳統(tǒng)的二維數(shù)字校園平面表現(xiàn)方式,可以實現(xiàn)直觀、生動、逼真的校園場景,用戶戴上頭盔后有很強的沉浸感,可以很直觀地、全方位地瀏覽整個校園景觀,并且進行諸如漫游、傳送、自動瀏覽等一系列操作,人機交互效果良好,具有身臨其境的感覺。本文為沉浸式虛擬校園建設(shè)提供了新思路,同時可以推廣到博物館、公園景觀等虛擬現(xiàn)實應(yīng)用中。未來,隨著虛擬現(xiàn)實技術(shù)的不斷成熟,沉浸式虛擬校園將在沉浸感、真實感等方向繼續(xù)向前發(fā)展,增添更加豐富的內(nèi)容。

參考文獻

 ?。?] 張典華,陳一民.基于Unity3D的多平臺虛擬校園設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2014,24(2):127130.

 ?。?] 劉航,王積忠,王春水.虛擬校園三維仿真系統(tǒng)關(guān)鍵技術(shù)研究[J].計算機工程與設(shè)計,2007,28(6): 2934 2936.

 ?。?] 張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J].計算機工程與設(shè)計,2008,29(28):61466148.

 ?。?] SCHANKRC. The virtual university[J]. Cyberpsychology & Behavior,2000,3(1):120123.

 ?。?] 張曉宇.虛擬校園漫游系統(tǒng)的設(shè)計與實現(xiàn)[D] .長春:吉林大學(xué),2013.

 ?。?] 梁少剛.基于位置服務(wù)的三維虛擬校園系統(tǒng)的設(shè)計與實現(xiàn)[D].重慶:重慶郵電大學(xué),2015.

 ?。?] 仲于姍.基于Unity的3D虛擬校園漫游系統(tǒng)的開發(fā)[D].昆明:云南大學(xué),2015.

  [8] 劉柱.基于UNITY WEB3D虛擬校園的設(shè)計和實現(xiàn)[D] .大連:大連理工大學(xué),2014.

 ?。?] 劉東江.基于GIS的虛擬校園的設(shè)計與實現(xiàn)[D] .北京:北京交通大學(xué),2014.

 ?。?0] 李玉平,徐懋琦.多媒體人機交互界面設(shè)計的適宜性[J].華東理工大學(xué)學(xué)報(社會科學(xué)版),2006,21(2):112-114.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。