999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的虛擬校園漫游系統(tǒng)及其關(guān)鍵技術(shù)研究

2019-10-08 08:08:58尹大偉張熙若李歡歡馬恒銳孟祥銳
軟件工程 2019年9期

尹大偉 張熙若 李歡歡 馬恒銳 孟祥銳

摘 ?要:為擴(kuò)大招生,學(xué)校需要更好展示自身風(fēng)采的平臺,讓學(xué)生更好地了解校園內(nèi)部環(huán)境,而傳統(tǒng)的虛擬校園漫游系統(tǒng),主要是利用2D動畫、照片、圖片和文字向用戶展示校園環(huán)境,系統(tǒng)缺乏互動性、沉浸感和景深效果,無法使用戶產(chǎn)生身臨其境的感覺。針對以上問題,本文采用3D虛擬現(xiàn)實(shí)技術(shù),設(shè)計(jì)、開發(fā)了一個以用戶為中心,富娛樂性、交互性和沉浸感的Web訪問的交互式漫游系統(tǒng)。

關(guān)鍵詞:虛擬現(xiàn)實(shí);虛擬校園;Unity3D;游戲引擎

中圖分類號:TP391.9 ? ? 文獻(xiàn)標(biāo)識碼:A

Abstract:In order to attract more applicants,schools need to better display their own styles so that students can better understand the campus internal environment.Traditional virtual campus roaming system presents the environment to users through 2D animation,360° environment photos,pictures and texts,which lacks interactivity,immersion perception and depth of field and can't generate immersive feelings.Aiming at the above problems,this paper uses 3D virtual reality technologies,designs and develops a user-centered virtual campus roaming system with entertainment,interactivity and immersion.Users can visit freely or automatically to the campus,click the given interactive objects and gain the information they are interested in.

Keywords:virtual reality;virtual campus;Unity3D;game engine

1 ? 引言(Introduction)

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

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

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

2 ?系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(Design and implementation of the system)

2.1 ? 系統(tǒng)的開發(fā)流程

虛擬校園漫游系統(tǒng)的開發(fā)遵循軟件開發(fā)的基本流程,包括分析、設(shè)計(jì)、開發(fā)、測試、修改,重復(fù)上述步驟逐步實(shí)現(xiàn)系統(tǒng)所規(guī)劃的功能[5]。其開發(fā)流程大致分為九個步驟:校園環(huán)境測量、繪制校園草圖、創(chuàng)建主要建筑物模型、收集素材、為模型添加紋理和材質(zhì)、將模型導(dǎo)入U(xiǎn)nity3D引擎、錄制視頻和音頻文件、編輯互動腳本、生成虛擬校園。具體的開發(fā)流程如圖1所示。

首先測量真實(shí)的校園環(huán)境,并按等比例繪制校園環(huán)境的草圖。然后利用三維建模工具3DMax,創(chuàng)建地形、主要建筑物和環(huán)境模型,并盡量保證與真實(shí)環(huán)境的比例相同。接下來根據(jù)環(huán)境的特點(diǎn),為三維模型貼上逼真的素材,構(gòu)建完整的校園場景。最后將場景導(dǎo)入U(xiǎn)nity3D引擎,編輯互動腳本,將靜態(tài)場景連接到Unity3D引擎,實(shí)現(xiàn)角色和場景間的互動。

2.2 ? 系統(tǒng)的設(shè)計(jì)目標(biāo)

虛擬校園要為用戶提供盡可能真實(shí)的校園模擬環(huán)境,并實(shí)現(xiàn)角色與場景間的互動,其具體設(shè)計(jì)目標(biāo)如下:

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

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

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

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

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

2.3 ? 系統(tǒng)的實(shí)現(xiàn)

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

3 ?系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)(Key technologies in the system development)

3.1 ? 模型優(yōu)化

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

3.2 ? 碰撞檢測技術(shù)

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

3.3 ? 虛擬交互

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

3.3.1 ? 自由游覽

自由游覽是指用戶以第一人稱視角參觀、游覽校園。游覽過程中用戶通過W、S、A、D鍵控制角色的前進(jìn)、后退、左、右移動,使用鼠標(biāo)改變角色的觀察視角[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 ? 自動游覽

自動游覽是指用戶以規(guī)定的視角,沿固定的線路參觀、游覽校園。游覽過程中,可通過鼠標(biāo)改變觀察視角。自動游覽功能的實(shí)現(xiàn)步驟如下。

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

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

導(dǎo)航數(shù)據(jù)初始化在Start方法中實(shí)現(xiàn),其部分核心代碼如下所示:

path=GameObject.FindGameObjectsWithTag("WandarPoint");

Array.Sort(path,(x,y)=>{returnx.gameObject.name.CompareTo(y.gameObject.name);});

transform.position=path [0].transform.position;

transform.forward=path [Index].transform.position-transform.position;

自動漫游在Update方法中實(shí)現(xiàn),其部分核心代碼如下所示:

if(Vector3.Distance(path [Index].transform.position,transform.position)<0.1f){

if(Index!=path.Length-1){

Index++;}

if(Vector3.Distance(path[path.Length-1].transform.position,transform.position)<0.1f){

transform.position=path [path.Length-1].transform.position;

return;}

transform.forward=path Index].transform.position-transform.position;}

transform.Translate(Vector3.forward*5*Time.deltaTime,Space.Self);

3.3.3 ? 信息交互

系統(tǒng)的信息交互應(yīng)用了Unity3D引擎提供的3D拾取技術(shù)。3D拾取技術(shù)的基本思想是,從用戶位置向鼠標(biāo)點(diǎn)擊位置發(fā)射一條射向3D世界的射線,與射線相交的第一個對象,為被選中對象[8]。獲取選中對象后,可以以動畫、音頻、圖片、文字等形式向用戶展示對象的相關(guān)信息。利用信息交互功能,用戶可在漫游時方便快捷地查詢周圍環(huán)境的信息。信息交互的部分核心代碼如下所示:

Ray ray=Camera.mainCamera.ScreenPointToRay

(Input.mousePosition);

if (Physics.Raycast(ray,out hit,100)){

if (hit.transform.gameObject.name=="Library") {

……// event handling

}

}

4 ? 結(jié)論(Conclusion)

本文設(shè)計(jì)、開發(fā)基于Unity3D引擎的交互式虛擬校園漫游系統(tǒng),并利用Unity3D的多平臺部署功能,將其發(fā)布到Web平臺上。系統(tǒng)為用戶提供了逼真的校園環(huán)境,且具備良好的實(shí)時性和交互性。文中還討論了在虛擬校園漫游系統(tǒng)開發(fā)中所涉及的幾個關(guān)鍵技術(shù),并給出了相應(yīng)的解決方案。文中所涉及的技術(shù)同樣可應(yīng)用于電子、游戲、醫(yī)學(xué)、教育等虛擬現(xiàn)實(shí)和仿真領(lǐng)域。

參考文獻(xiàn)(References)

[1] 肖建良,張程,李陽.基于Unity3D的室內(nèi)漫游系統(tǒng)[J].電子設(shè)計(jì)工程,2016,19:54-56.

[2] 朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)用,2012,21(10):36-38.

[3] 李遠(yuǎn)鑫,蔣海鷗,徐亦飛,等.基于Web3D的交互式虛擬社區(qū)[J].計(jì)算機(jī)工程,2011,37(11):289-290.

[4] 劉海川,王小鵬,王磊.虛擬校園模型構(gòu)建及優(yōu)化[J].電子科技,2010,11:1-3.

[5] 張明明.基于Unity3D虛擬校園漫游的研究與實(shí)現(xiàn)[D].昆明:云南大學(xué),2014:35-36.

[6] 李在賢.Unity5權(quán)威講解[M].北京:人民郵電出版社,2016:15-16.

[7] 王星捷,李春花.基于Unity3D平臺的三維虛擬城市研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(4):241-244.

[8] 黃濤.基于Unity3D的虛擬校園漫游系統(tǒng)的研究和實(shí)現(xiàn)[D].桂林:廣西師范大學(xué),2014:39-40.

作者簡介:

尹大偉(1985-),男,碩士,副教授.研究領(lǐng)域:現(xiàn)代思想政治教育理論與方法,多媒體技術(shù)應(yīng)用.

張熙若(1997-),男,本科生.研究領(lǐng)域:軟件開發(fā).

李歡歡(1998-),女,本科生.研究領(lǐng)域:虛擬現(xiàn)實(shí).

馬恒銳(1998-),男,本科生.研究領(lǐng)域:網(wǎng)絡(luò)安全.

孟祥銳(1998-),男,本科生.研究領(lǐng)域:圖像處理.

主站蜘蛛池模板: 国产亚洲一区二区三区在线| 久久国产精品77777| 在线观看免费国产| 日本一本在线视频| 亚洲电影天堂在线国语对白| 午夜久久影院| 视频二区国产精品职场同事| 久草热视频在线| 国产黄色爱视频| 成年人国产视频| 亚洲综合精品第一页| 国产aaaaa一级毛片| 亚洲综合色在线| 久久永久免费人妻精品| 天天综合网站| 国产精品第| 日韩在线播放中文字幕| 中文成人在线视频| 午夜视频日本| 久无码久无码av无码| 国产精品久久久久久久久| 久久特级毛片| 国产美女免费| 国产91在线|日本| 国产a在视频线精品视频下载| 国产本道久久一区二区三区| 久久精品中文字幕免费| 国产精品一老牛影视频| 97精品国产高清久久久久蜜芽| 2020精品极品国产色在线观看| 国产综合精品日本亚洲777| 国产视频a| 国产原创演绎剧情有字幕的| 午夜性刺激在线观看免费| 亚洲丝袜第一页| 青青草国产免费国产| 亚洲中文无码av永久伊人| 成年人国产网站| 亚洲一区二区三区中文字幕5566| 精品成人一区二区三区电影| AV不卡无码免费一区二区三区| 亚洲中文久久精品无玛| 亚洲美女一区| 久久天天躁夜夜躁狠狠| 欧美精品在线观看视频| 欧美日韩综合网| 人人爽人人爽人人片| 拍国产真实乱人偷精品| 亚洲aaa视频| 成人夜夜嗨| 亚洲日韩精品欧美中文字幕| 亚洲视频黄| 高清码无在线看| 特级毛片8级毛片免费观看| 欧美日韩国产精品va| 99草精品视频| 特级做a爰片毛片免费69| 欧美69视频在线| 国产区免费| 精品1区2区3区| 国模粉嫩小泬视频在线观看| 丁香五月亚洲综合在线| 精品久久久久久成人AV| 国产精品亚洲精品爽爽| 国产成人无码久久久久毛片| 国产午夜精品鲁丝片| 精品成人一区二区三区电影| 人妻精品久久久无码区色视| 亚洲区一区| 国产精品私拍在线爆乳| 在线国产毛片| 欧洲一区二区三区无码| 亚洲欧洲美色一区二区三区| 波多野结衣一区二区三区AV| 9久久伊人精品综合| 亚洲天堂色色人体| 亚洲免费福利视频| 91探花在线观看国产最新| 538国产视频| 亚洲午夜福利精品无码不卡 | 色综合天天操| 日本午夜视频在线观看|