李婷婷,劉石,,陳發(fā)祿
?。ù筮B東軟信息學(xué)院 數(shù)字藝術(shù)系,遼寧 大連 116023)
摘要:虛擬現(xiàn)實(shí)技術(shù)可以給人帶來身臨其境之感,,傳統(tǒng)的虛擬現(xiàn)實(shí)系統(tǒng)大多采用桌面式虛擬現(xiàn)實(shí)方式,,沉浸感不強(qiáng),交互性差,,不能讓體驗(yàn)者沉浸在虛擬系統(tǒng)中,。綜合這些因素,文章根據(jù)三維虛擬校園仿真系統(tǒng)需求,,設(shè)計(jì)實(shí)現(xiàn)了基于Unity3D平臺(tái)的沉浸式虛擬校園漫游系統(tǒng),,并研究沉浸式虛擬校園開發(fā)中所使用的關(guān)鍵技術(shù)。實(shí)驗(yàn)表明,,該系統(tǒng)能克服虛擬漫游沉浸感不足的缺點(diǎn),,用戶可以體驗(yàn)到與真實(shí)校園相近的虛擬環(huán)境,并且可以與虛擬環(huán)境進(jìn)行交互,。該系統(tǒng)具有簡單和易實(shí)現(xiàn)等特點(diǎn),,擁有廣闊的應(yīng)用前景。
關(guān)鍵詞:虛擬校園,;校園建模,;沉浸式漫游;人機(jī)交互
中圖分類號(hào):TP391.9文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.01.024
引用格式:李婷婷,,劉石,,陳發(fā)祿. 沉浸式虛擬校園仿真系統(tǒng)開發(fā)及關(guān)鍵技術(shù)研究[J].微型機(jī)與應(yīng)用,,2017,36(1):79-82.
0引言
虛擬現(xiàn)實(shí)技術(shù)(Virtual Reality,VR)是利用計(jì)算機(jī)生成三維虛擬景象,,使人沉浸在虛擬環(huán)境中,,有身臨其境的感覺,并可以與虛擬場景內(nèi)景象進(jìn)行交互,,被廣泛應(yīng)用于娛樂,、軍事,、醫(yī)療,、教育等領(lǐng)域[1]。虛擬現(xiàn)實(shí)技術(shù)可以被劃分成兩類:一種是沉浸式虛擬現(xiàn)實(shí)系統(tǒng),,體驗(yàn)者可以通過特制的虛擬現(xiàn)實(shí)穿戴設(shè)備(比如頭盔,、數(shù)據(jù)手套等)在虛擬場景中與之進(jìn)行交互,產(chǎn)生身臨其境的感覺,。而非沉浸式虛擬現(xiàn)實(shí)系統(tǒng)通常指不借助虛擬現(xiàn)實(shí)設(shè)備,,通過電腦的鼠標(biāo)、顯示器,、鍵盤等標(biāo)準(zhǔn)外設(shè)在電腦桌面上營造一個(gè)窗口式的虛擬環(huán)境,,該方法價(jià)格低廉,但沉浸感差[2],。
近年來,,一些與虛擬現(xiàn)實(shí)技術(shù)相關(guān)聯(lián)的虛擬校園開發(fā)愈發(fā)引起人們的關(guān)注[3]。其中,,虛擬校園漫游系統(tǒng)一直是國內(nèi)外研究的熱點(diǎn),。例如,德國的 Stuttgart 大學(xué)很早以前就開始構(gòu)建虛擬校園[4],,并提供了校園的真實(shí)模擬,。后來,浙江大學(xué),、清華大學(xué),、山東大學(xué)等也紛紛進(jìn)行了數(shù)字校園的建設(shè)[5],吉林大學(xué)基于3DSMax創(chuàng)建校園場景,,再在 DirectX 中選擇專業(yè)的組件來重新生成圖形并顯示出來,,達(dá)到校園漫游的效果[6]。傳統(tǒng)虛擬校園的開發(fā)大多采用Quick Time VR方式,,雖然精確性較高,,但交互性差,沉浸感不強(qiáng)[7],?;诖?,本文在Unity3D[8]基礎(chǔ)上,結(jié)合Occlus dk2開發(fā)虛擬校園,,使虛擬校園場景得到進(jìn)一步完善,,并就系統(tǒng)設(shè)計(jì)、三維建模,、場景交互等有關(guān)技術(shù)進(jìn)行了討論,。
1系統(tǒng)設(shè)計(jì)
沉浸式虛擬校園仿真系統(tǒng)是基于傳統(tǒng)校園景觀進(jìn)行建模,形成一個(gè)虛擬的封閉式校園,。在分析系統(tǒng)需求基礎(chǔ)上采用虛擬現(xiàn)實(shí)技術(shù)配合用戶交互,,使得用戶可以佩戴虛擬現(xiàn)實(shí)設(shè)備在虛擬校園內(nèi)漫游,參觀校園內(nèi)部建筑,,了解校園文化歷史,。本文利用Unity3D技術(shù),結(jié)合Occlus dk2虛擬現(xiàn)實(shí)頭盔開發(fā)沉浸式虛擬校園漫游系統(tǒng),。首先基于3DMAX建模工具構(gòu)建三維校園模型,;然后用Terrain工具構(gòu)建場景地形;最后將校園模型導(dǎo)入到Unity中加入碰撞檢測,,實(shí)現(xiàn)用戶交互,、虛擬漫游等功能,使用戶產(chǎn)生身臨其境的感覺,,并且具有良好的交互性,。系統(tǒng)開發(fā)流程如圖1所示。
2關(guān)鍵技術(shù)
2.1校園建模
校園三維建模是虛擬校園搭建過程中非常重要的組成部分,,虛擬校園漫游系統(tǒng)的體驗(yàn)效果與校園三維建模效果直接相關(guān),。在本文中,所有校園建筑均采用3DMAX建模軟件實(shí)現(xiàn),,在制作建筑模型過程中,,按照1:5 000的比例進(jìn)行構(gòu)建,然后以fbx格式保存文件,,最后在Unity3D中導(dǎo)入所生成的 fbx文件,,進(jìn)行場景搭建。
在建模過程中既要考慮模型真實(shí)感問題,,又要考慮系統(tǒng)運(yùn)行速度問題,。因此,采用精細(xì)建模與簡單建模相結(jié)合的方式構(gòu)建虛擬的校園三維景觀[9],。校園場景模型的制作分為兩種:一種是復(fù)雜模型,,像教學(xué)樓、宿舍樓,、圖書館等,,這種模型制作要求非常精細(xì),,做建模時(shí)要適當(dāng)保留細(xì)節(jié);另一種是簡單模型,,像道路,、操場等,這種模型的制作非常簡單,,只需制作出大致的輪廓,,可以靠貼圖去實(shí)現(xiàn)三維效果。構(gòu)建模型過程中,,在不影響模型真實(shí)度的基礎(chǔ)上,,必須要減少模型的面數(shù)和分段數(shù),刪除模型相交處隱形的面數(shù),,單個(gè)模型面數(shù)最多不能超過1 000,,否則會(huì)影響系統(tǒng)的運(yùn)行,,通過對(duì)整個(gè)場景中模型的優(yōu)化達(dá)到最終的效果,。
2.2交互界面
沉浸式虛擬校園漫游系統(tǒng)在界面設(shè)計(jì)上以簡潔、直觀,、便于用戶操作為主要目的,。主要考慮界面的色彩搭配、字體搭配以及頁面布局等多方面因素[10],。為了便于體驗(yàn)者在校園里游覽,,本文依照界面設(shè)計(jì)原則,為體驗(yàn)者預(yù)留出大片的屏幕區(qū)域,,增加學(xué)校場景的開闊感,,所以在頁面左側(cè)以Button形式繪制出與系統(tǒng)交互的功能按鈕,右邊大片區(qū)域用于顯示校園漫游時(shí)的瀏覽畫面及交互效果,。
2.3傳送功能
為了方便體驗(yàn)者在場景中漫游,,本文設(shè)定傳送門功能,在漫游鏡頭到達(dá)指定傳送位置時(shí),,會(huì)出現(xiàn)傳送對(duì)話框,,可以根據(jù)需要傳送到場景中其他位置,也可以通過導(dǎo)航圖快速定位漫游到想去的地點(diǎn),,運(yùn)行效果如圖2所示,。部分代碼如下:
//碰撞檢測函數(shù)
function OnTriggerEnter(col : Collider){
//條件判斷是否撞擊到人,如果觸發(fā)碰撞則打開傳送門
if(col.gameObject.tag == "Player"){
Chuansongmen.ch=0;}
}
2.4白天和夜晚轉(zhuǎn)換功能
為了增強(qiáng)虛擬校園交互漫游中的真實(shí)效果,,在場景環(huán)境構(gòu)建時(shí)除了考慮校園模型,,還對(duì)天空、霧及光照效果等進(jìn)行了模擬和控制,。白天和夜晚主要體現(xiàn)在天空盒,、燈光,、陽光的差異,用代碼控制Render Setting中的天空盒選項(xiàng),,通過點(diǎn)擊按鈕改變天空盒6個(gè)方向的圖片,,來實(shí)現(xiàn)白天和黑夜的轉(zhuǎn)變。校園場景中光線可隨時(shí)間的變化增強(qiáng)或減弱,,實(shí)現(xiàn)一天中的仿真效果,,模擬出現(xiàn)實(shí)生活環(huán)境,效果如圖3~4所示,。
2.5導(dǎo)航小地圖
為了使用戶在漫游時(shí)可以實(shí)時(shí)獲得虛擬校園的方位信息,,場景中加入導(dǎo)航功能,系統(tǒng)導(dǎo)航可以使用戶在參觀校園時(shí)獲得實(shí)時(shí)的位置信息,,直觀地瀏覽校園,,避免用戶進(jìn)入虛擬校園后,由于對(duì)環(huán)境的不熟悉而迷失方向,。具體實(shí)現(xiàn)時(shí),,采用2個(gè)攝像機(jī),分別用于顯示小地圖和正常漫游場景,,通過計(jì)算人物所在位置與場景的比例來定位漫游時(shí)人物的具體位置,,然后采用標(biāo)志點(diǎn)方式在小地圖中顯示出來,如圖5所示,。
2.6碰撞檢測
在虛擬漫游過程中,,體驗(yàn)者的觀察視點(diǎn)將隨著輸入設(shè)備的運(yùn)動(dòng)不斷發(fā)生變化,對(duì)于樹木,、樓房,、路燈等建筑需要做碰撞處理,否則極易造成視點(diǎn)穿過建筑物,,造成虛假感覺,。本系統(tǒng)在設(shè)計(jì)碰撞檢測功能時(shí)使用觸發(fā)碰撞檢測功能,即指定一個(gè)處于觸發(fā)狀態(tài)的碰撞器,,將實(shí)際檢測碰撞對(duì)象包含進(jìn)該觸發(fā)器中,,這樣角色與對(duì)象的碰撞檢測就轉(zhuǎn)換為角色與觸發(fā)器之間的碰撞檢測,解決了碰撞過程中的突兀,、不真實(shí)的感覺,,提高了系統(tǒng)性能和真實(shí)程度,如圖6所示,。部分代碼如下:
//觸發(fā)器碰撞函數(shù)
function OnTriggerEnter(col : Collider)
//如果檢測到人則進(jìn)入觸發(fā)器碰撞
{if(col.gameObject.tag == "Player")}
2.7虛擬漫游
虛擬漫游是系統(tǒng)的重要模塊,,為了讓體驗(yàn)者充分感受3D校園美景,本文采用自動(dòng)漫游和自主漫游相結(jié)合的方式,。當(dāng)體驗(yàn)者對(duì)學(xué)校路況不熟悉時(shí)可以采用自動(dòng)漫游方式,,系統(tǒng)會(huì)帶領(lǐng)體驗(yàn)者按照預(yù)定的瀏覽路線進(jìn)行游覽,,自動(dòng)對(duì)整個(gè)3D校園進(jìn)行觀察。在自動(dòng)漫游中,,由于路線是預(yù)先制定好的,,所以參與者可以不受外界一切干擾,當(dāng)然這也限制了參與者的視角寬度,,靈活性較差,。自主漫游是與自動(dòng)漫游相互補(bǔ)的另一種方式,體驗(yàn)者可以通過WASD鍵進(jìn)行前后左右走動(dòng),,鼠標(biāo)或是dk2頭戴設(shè)備可以轉(zhuǎn)換漫游視角,。
設(shè)計(jì)虛擬漫游系統(tǒng)時(shí),設(shè)定體驗(yàn)者可以選擇跑步或是走路等多種動(dòng)作以便讓用戶獲得更好的體驗(yàn),,具體實(shí)現(xiàn)代碼如下所示:
//界面功能選擇
function OnGUI(){
//如果點(diǎn)擊跑步按鈕則進(jìn)入跑步模式,,并調(diào)整相應(yīng)跑步速度
if(GUI.Button(Rect(100,100,100,40), "跑步"))
{CharacterMotorMovement.maxForwardSpeed=8;
p=1; }
//如果點(diǎn)擊走路按鈕則進(jìn)入走路模式,并調(diào)整相應(yīng)走路速度
if(GUI.Button(Rect(100,150,100,40), "走路"))
{CharacterMotorMovement.maxForwardSpeed=4;
p=2; }
}
2.8Occlus dk2沉浸式虛擬漫游實(shí)現(xiàn)
Oculus dk2 是2014年7月上市的一款虛擬現(xiàn)實(shí)設(shè)備,,如圖7所示,。它有兩個(gè)目鏡,每一個(gè)目鏡的分辨率都可以達(dá)到640×800,,用戶在使用過程中,,兩個(gè)目鏡疊加產(chǎn)生三維虛擬沉浸感,,整體分辨率可以達(dá)到1 280×800,,使得用戶在校園漫游時(shí)沉浸感大大提升。
由于Unity Free integration for Oculus提供了與Unity Pro用戶相同的Oculus特性,,因此,,使用Unity4.6和Oculus integration包在Rift上可以開發(fā)沉浸式虛擬現(xiàn)實(shí)漫游系統(tǒng)。首先,,需要把Unity 4 Oculus integration package導(dǎo)入到Unity中,,然后找到 OVRPlayerController prefab將其拖入Hierarchy面板中替代MainCamera。戴上虛擬現(xiàn)實(shí)頭盔游覽校園時(shí)測試效果如圖8~圖9所示,。
3系統(tǒng)運(yùn)行效果
如上所述的沉浸式虛擬校園漫游系統(tǒng)的開發(fā)及運(yùn)行均在Windows7操作系統(tǒng)上實(shí)現(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,,運(yùn)行效果如圖10~圖12所示,。系統(tǒng)可以發(fā)布到PC、Web等多種平臺(tái)上,,并能流暢運(yùn)行,,獲得了較好效果,。由此證明,該系統(tǒng)具有較好的移植性,,能夠在多種軟硬件平臺(tái)下運(yùn)行,。
4結(jié)論
本文基于3DS Max建模技術(shù)和Unity3D虛擬現(xiàn)實(shí)技術(shù),將校園場景信息進(jìn)行收集,、整理并建立完整的三維仿真模型,,結(jié)合虛擬現(xiàn)實(shí)頭盔Occulus dk2開發(fā)沉浸式3D虛擬校園漫游系統(tǒng)。運(yùn)行結(jié)果表明,,這種方法建立的虛擬校園突破了傳統(tǒng)的二維數(shù)字校園平面表現(xiàn)方式,,可以實(shí)現(xiàn)直觀、生動(dòng),、逼真的校園場景,,用戶戴上頭盔后有很強(qiáng)的沉浸感,可以很直觀地,、全方位地瀏覽整個(gè)校園景觀,,并且進(jìn)行諸如漫游、傳送,、自動(dòng)瀏覽等一系列操作,,人機(jī)交互效果良好,具有身臨其境的感覺,。本文為沉浸式虛擬校園建設(shè)提供了新思路,,同時(shí)可以推廣到博物館、公園景觀等虛擬現(xiàn)實(shí)應(yīng)用中,。未來,,隨著虛擬現(xiàn)實(shí)技術(shù)的不斷成熟,沉浸式虛擬校園將在沉浸感,、真實(shí)感等方向繼續(xù)向前發(fā)展,,增添更加豐富的內(nèi)容。
參考文獻(xiàn)
?。?] 張典華,,陳一民.基于Unity3D的多平臺(tái)虛擬校園設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014,24(2):127130.
[2] 劉航,王積忠,王春水.虛擬校園三維仿真系統(tǒng)關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2007,28(6): 2934 2936.
?。?] 張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,29(28):61466148.
?。?] SCHANKRC. The virtual university[J]. Cyberpsychology & Behavior,2000,3(1):120123.
[5] 張曉宇.虛擬校園漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D] .長春:吉林大學(xué),2013.
?。?] 梁少剛.基于位置服務(wù)的三維虛擬校園系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶郵電大學(xué),2015.
?。?] 仲于姍.基于Unity的3D虛擬校園漫游系統(tǒng)的開發(fā)[D].昆明:云南大學(xué),2015.
[8] 劉柱.基于UNITY WEB3D虛擬校園的設(shè)計(jì)和實(shí)現(xiàn)[D] .大連:大連理工大學(xué),2014.
[9] 劉東江.基于GIS的虛擬校園的設(shè)計(jì)與實(shí)現(xiàn)[D] .北京:北京交通大學(xué),2014.
?。?0] 李玉平,徐懋琦.多媒體人機(jī)交互界面設(shè)計(jì)的適宜性[J].華東理工大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2006,,21(2):112-114.