国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity3D的虛擬校園

2016-10-14 06:44:29劉發(fā)久
電子設(shè)計工程 2016年12期
關(guān)鍵詞:漫游建模校園

劉發(fā)久

(山西農(nóng)業(yè)大學(xué)信息學(xué)院,山西太谷030800)

基于Unity3D的虛擬校園

劉發(fā)久

(山西農(nóng)業(yè)大學(xué)信息學(xué)院,山西太谷030800)

虛擬校園是數(shù)字校園建設(shè)的基礎(chǔ),它的研究和創(chuàng)建對以后數(shù)字校園的建設(shè)有重要的現(xiàn)實意義。文章以山西農(nóng)業(yè)大學(xué)信息學(xué)院為例,采用多場景建模方法,構(gòu)建了虛擬校園的三維場景。運用Unity3D跨平臺引擎,結(jié)合C#腳本語言,實現(xiàn)人機交互控制。在虛擬校園環(huán)境中,用戶可進行三維空間的漫游、導(dǎo)覽,并能夠方便、詳盡的查詢校園各部分的相關(guān)信息。系統(tǒng)運行效果良好、維護簡單,說明了Unity3D是設(shè)計、開發(fā)虛擬現(xiàn)實平臺的有效工具。

虛擬漫游;虛擬校園;Unity3D;游戲引擎

近幾年隨著計算機技術(shù)的發(fā)展,校園信息化建設(shè)也快速發(fā)展,而虛擬校園是校園信息化建設(shè)的重要組成部分[1]。傳統(tǒng)的虛擬校園都是建立在二維平面地圖和影像地圖的基礎(chǔ)上,已經(jīng)不能滿足學(xué)校對外招生宣傳、校園導(dǎo)航、信息化管理的多元化功能需求[2]。三維虛擬校園基于虛擬現(xiàn)實技術(shù)和網(wǎng)絡(luò)技術(shù),它更直觀形象,更逼近校園的實景,并具有更好的交互性,能夠給使用者一種逼真、身臨其境的感覺。當前,三維虛擬校園已成為校園門戶網(wǎng)不可缺少的重要欄目,對學(xué)校的對外形象宣傳、招生宣傳、信息化管理將產(chǎn)生重要的作用。本文采用3DMax為場景建模工具,選用Unity3D游戲引擎為開發(fā)平臺,設(shè)計、開發(fā)了基于Web環(huán)境的三維虛擬校園,并深入討論了三維場景建模和漫游、交互設(shè)計中的一些關(guān)鍵技術(shù)。

Unity 3D是一套包括圖形、聲音、物理等功能的游戲引擎,提供了一個強大的關(guān)卡編輯器,支持大部分主流3D軟件格式,使用C#或JavaScript等高級語言實現(xiàn)腳本功能,使開發(fā)者無需了解底層復(fù)雜的技術(shù),快速地開發(fā)具有高性能、高品質(zhì)的游戲產(chǎn)品。Unity3D是跨平臺的3D游戲引擎,支持的平臺包括PC、Mac、Linux、Web、IOS、Android、Xbox360、PS3等大部分主流游戲平臺[3]。在很多時候,可以選擇在PC平臺開發(fā)和測試,然后只要很少的改動,就可以將游戲移植到其他平臺。

1 虛擬校園開發(fā)流程與設(shè)計

1.1虛擬校園開發(fā)流程

虛擬校園的開發(fā)遵循軟件開發(fā)的一般步驟,依次是分析、設(shè)計、開發(fā)、測試、修改反復(fù)且漸進的完成所規(guī)劃的功能[4]。系統(tǒng)開發(fā)的流程可以分為兩大部分:第一部份是構(gòu)建校園的三維模型,其工作的主要內(nèi)容是利用三維建模軟件3DMax對校園地形、建筑和環(huán)境建模;第二部分是在虛擬校園環(huán)境中實現(xiàn)用戶與環(huán)境間的交互,其工作的主要內(nèi)容是編寫互動腳本,利用腳本把靜態(tài)的三維模型與Unity3D連接起來,賦予模型交互的能力。系統(tǒng)開發(fā)的詳細流程如圖1所示。

圖1 虛擬校園開發(fā)流程

1.2虛擬校園設(shè)計

虛擬校園的設(shè)計目標是給使用者提供一個盡可能逼真的校園仿真環(huán)境,并實現(xiàn)用戶與環(huán)境間的交互。虛擬校園的設(shè)計、規(guī)劃如下:

1)用戶可通過網(wǎng)絡(luò)訪問、瀏覽。為了適應(yīng)不同的網(wǎng)絡(luò)環(huán)境和硬、軟件設(shè)備,仿真場景不能過大,本文將校園劃分為6個子場景,并解決了子場景間的不可見問題。

2)校園三維展示功能。建立學(xué)校主要景觀如教學(xué)樓、體育場、圖書館、宿舍樓等建筑物的精細模型,盡量接近現(xiàn)實。

3)漫游功能。用戶可以通過鍵盤、鼠標控制在校園內(nèi)隨意游覽,也可以通過導(dǎo)航菜單直接到達指定區(qū)域。

4)多媒體展示服務(wù)。可以在場景中嵌入視頻、音頻、文字等宣傳資料,訪問者到達特定區(qū)域后,可通過點播列表選擇播放內(nèi)容,現(xiàn)場感更強、三維展示更生動。

5)設(shè)置鳥瞰圖、導(dǎo)航圖方便用戶對校園整體的了解。

2 虛擬校園的實現(xiàn)

2.1模型的構(gòu)建

模型是虛擬校園的基礎(chǔ),能夠直接影響到系統(tǒng)的仿真效果。校園模型主要包地表模型、建筑模型和環(huán)境模型。

地表模型可根據(jù)校園的等高線地形圖生成,首先用CAD對其進行預(yù)處理,然后導(dǎo)入3DMax生成由不規(guī)則三角形面構(gòu)成的地表模型。建筑模型可根據(jù)校園平面規(guī)劃設(shè)計圖和樓宇的立面圖生成,將這些圖導(dǎo)入3DMax中生成精確的三維建筑模型。對于建筑物表面的細節(jié)例如陽臺、門窗、護欄等并沒有單獨建模,而是采用紋理映射的方法,用紋理圖片來代替復(fù)雜的模型結(jié)構(gòu)。環(huán)境模型主要包括樹木、花草和植被。校園場景中有大量的樹木,為了降低場景的復(fù)雜度,并未對樹木建模,而是采用廣告牌的制作方式?;ú莺椭脖徊捎昧思y理映射的方法。在模型的構(gòu)建中還考慮到對模型的優(yōu)化,通過采用刪除不可見面、減少材質(zhì)數(shù)量、壓縮貼圖等優(yōu)化方法,簡化了模型,減少了模型的大小[5]。

圖2 虛擬校園模型

2.2場景設(shè)計

如果場景中包含了過多的模型,就會增加系統(tǒng)的載入時間和執(zhí)行時間,導(dǎo)致用戶在操作上出現(xiàn)長時間的等待。為了改善這種情況,系統(tǒng)采用了多場景模式,即將校園劃分為多個完全獨立的子場景,并對每個子場景單獨建模。通過對校園的分割,減少了子場景中的模型數(shù)量,降低了子場景的復(fù)雜度,提高了渲染速度。在多場景模式中,用戶希望在哪個子場景中漫游,就載入哪個子場景而無須載入全部校園信息,這減少了系統(tǒng)的載入時間,使其更適合網(wǎng)絡(luò)瀏覽。本文將校園分為校門、教學(xué)樓和實驗樓,圖書館,體育館,體育場和宿舍區(qū)1,食堂和宿舍區(qū)2等6個子場景,子場景間按“九宮格”的方式排布,其分布如圖3所示。

圖3 校園場景布局

由于子場景的獨立性,各子場景之間是完全不可見的,也就是說用戶在某個子場景中不可能看到其它子場景中的景物,但這并不符合實際情況,比如,站在圖書館門前應(yīng)該能看到體育館的側(cè)面輪廓。傳統(tǒng)的解決方法是在子場景的邊界設(shè)置綠化帶、雕塑等建筑物來遮擋用戶的視線,但這會影響仿真效果,降低用戶的體驗感。本文通過對子場景的擴展有效解決了子場景間的不可見問題,其擴展原則是:擴展有相鄰子場景的邊界,擴展的寬度為用戶的視距,然后將相鄰子場景邊界處視距范圍內(nèi)的景物映射到擴展區(qū)域的相應(yīng)位置。圖4為擴展后的教學(xué)樓和實驗樓子場景,圖中實線矩形框表示擴展前的場景區(qū)域,虛線矩形框表示擴展區(qū)域,實心矩形表示建筑物,可以看到在擴展區(qū)域的景物實際上是相鄰子場景對應(yīng)區(qū)域的映像。

圖4 擴展后的教學(xué)樓和實驗樓場景

2.3交互設(shè)計與實現(xiàn)

將創(chuàng)建好的校園場景模型導(dǎo)入Unity3D開發(fā)環(huán)境,然后使用C#編寫互動腳本實現(xiàn)用戶與環(huán)境間的交互[6]。系統(tǒng)的交互設(shè)計主要包括校園漫游、場景鏈接交互和信息交互。

2.3.1校園漫游

漫游是虛擬校園的主要功能,系統(tǒng)支持用戶以第一人稱視角在校園中參觀、瀏覽。用戶借助鼠標和鍵盤在校園中運動,↑、↓、←、→鍵分別控制向前、向后、向左、向右運動,鼠標用于改變行進方向。實現(xiàn)校園漫游功能的步驟如下:

1)構(gòu)建虛擬人物。導(dǎo)入人物模型,并命名為Player;新建一臺攝影機(Camera),將攝影機放到Player的頭部,并將其設(shè)置為Player的子對象,將環(huán)境觀察視角切換到攝影機,實現(xiàn)了第一人稱視角;為Player添加一個膠囊碰撞體(CapsuleCollider)組件,用來感知碰撞和模擬碰撞后的效果,例如,碰到墻后會停下來,調(diào)節(jié)膠囊的大小,使其剛好包裹Player;為Player添加一個剛體(Rigibody)組件,使Player的運動符合物理規(guī)則,例如,由于受到重力作用,跳起后不會飛向天空而是會重新落回地面。

2)控制虛擬人物運動。為了使虛擬人物運動,需要創(chuàng)建腳本PlayerMove,并將腳本指定給Player。下面舉例向前運動的代碼。

3)實例化虛擬人物。由于在每個場景中漫游都需要使用虛擬人物,因而創(chuàng)建Player的Prefab,并命名為PlayerPrefab;使用PlayerPrefab,通過編寫腳本InstantiatePlayer實例化虛擬人物,并將腳本指定給每個場景中的空對象。下面舉例實例化虛擬人物的代碼。

2.3.2場景鏈接交互

虛擬校園由6個場景構(gòu)成,用戶可通過場景間的交互鏈接自由地選擇漫游場景。系統(tǒng)提供兩種場景鏈接方式:其一是當用戶到達場景中的特定位置時,通過觸發(fā)碰撞事件實現(xiàn)場景間的鏈接;其二是用戶通過導(dǎo)航菜單直接鏈接到指定場景。文中主要介紹通過觸發(fā)碰撞事件實現(xiàn)場景鏈接的方法,其實現(xiàn)步驟如下:

1)創(chuàng)建Cube對象,調(diào)整Cube的位置和大小,使其剛好包括場景中的某個擴展區(qū)域;將Cube的Box Collider組件的Is Trigger屬性設(shè)為真;刪除Cube的Mesh Renderer組件;用擴展區(qū)域所對應(yīng)的場景名命名對象。

2)編寫場景鏈接腳本,并將其添加到Cube對象上。下面舉例場景鏈接的代碼。

3)重復(fù)執(zhí)行以上操作,為場景的每一個擴展區(qū)域創(chuàng)建對應(yīng)的Cube對象

2.3.3信息交互

用戶在漫游的過程中,可以通過信息交互,方便、快捷地查詢校園各部分的相關(guān)信息。系統(tǒng)提供兩種信息交互方式:其一是通過點擊物體實現(xiàn)信息交互。例如,用戶點擊公告板可以彈出信息瀏覽子窗體,查詢學(xué)校最新公告和課程表等信息;其二是通過觸發(fā)碰撞事件實現(xiàn)信息交互。比如,當用戶到達圖書館門口,就會出現(xiàn)圖書館的信息提示菜單,用戶可選擇通過視頻、音頻或文字介紹,查詢圖書館的歷史、建筑布局和館藏書籍等信息。碰撞交互的過程與場景鏈接的過程類似,本文主要介紹點擊交互的實現(xiàn)方法。點擊交互應(yīng)用了3D拾取技術(shù),即由攝影機和屏幕上的點擊位置確定一條射線,射線射向世界空間,最先和射線相交的物體就是被選中的物體。下面舉例是查詢公告板信息的部分代碼。

3 結(jié)束語

文中將虛擬現(xiàn)實技術(shù)應(yīng)用到數(shù)字化校園建設(shè)中,采用多場景建模方法,利用3DMax構(gòu)建了三維校園模型。借助Unity3D游戲引擎實現(xiàn)了校園漫游,場景鏈接交互和信息交互。最后利用Unity3D的多平臺部署功能,將其發(fā)布到Web平臺。用戶通過網(wǎng)絡(luò)在計算機上進行漫游,對校園景觀、校內(nèi)的各種設(shè)施和服務(wù)等獲得身臨其境的感受。通過系統(tǒng)的開發(fā),也證明了Unity3D是設(shè)計、開發(fā)虛擬現(xiàn)實平臺的有效工具。

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

[2]歐陽攀,李強,盧秀慧.基于Unity3D的虛擬校園開發(fā)研究與實現(xiàn)[J].現(xiàn)代電子技術(shù),2013,4(2):19-22.

[3]金璽曾.Unity 3D手機游戲開發(fā)[M].北京:清華大學(xué)出版社,2013.

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

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

[6]任宏萍,周犇.基于Virtools的虛擬校園在線交互設(shè)計與實現(xiàn)[J].計算機工程與科學(xué),2011,33(11):117-119.

Virtual campus based on Unity3D

LIU Fa-jiu
(College of information,Shanxi Agricultural University,Taigu 030800,China)

Virtual campus is the foundation of digital campus construction,the research on it has great significance to the further study on digital campus.Taking college of information,Shanxi Agricultural University as an example,this paper adopt the modeling method in multi-scene and build 3D scene of virtual campus.The Unity3D cross-platform engine and C#script language are applied on man-machine interactive control.The virtual campus enables the users to navigate the 3D virtual space,to guide and browse,and to inquire conveniently about relevant campus information at full length.The system runs well and maintain expediently,which means Unity3D is an effective tool for designing and developing a virtual reality platform.

virtual system of navigating;virtual campus;Unity3D;game engine

TN02

A

1674-6236(2016)12-0037-03

2015-06-27稿件編號:201506227

劉發(fā)久(1958—),男,遼寧大連人,碩士,教授。研究方向:游戲開發(fā)、虛擬現(xiàn)實、人工智能。

猜你喜歡
漫游建模校園
聯(lián)想等效,拓展建模——以“帶電小球在等效場中做圓周運動”為例
基于PSS/E的風(fēng)電場建模與動態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對稱半橋變換器的建模與仿真
霹靂漫游堂
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
NASA漫游記
開心校園
爆笑校園
三元組輻射場的建模與仿真
丹阳市| 霞浦县| 尚义县| 浑源县| 出国| 东乌| 民乐县| 富宁县| 扶沟县| 淮安市| 阳高县| 垫江县| 瑞金市| 封开县| 安龙县| 灵台县| 河北区| 鱼台县| 锦屏县| 澄迈县| 自治县| 浦北县| 临邑县| 延寿县| 公主岭市| 石屏县| 内黄县| 鄂托克前旗| 巴林左旗| 隆化县| 巴塘县| 巴彦县| 拉萨市| 海城市| 永德县| 东城区| 襄城县| 阳春市| 雷山县| 三穗县| 青川县|