李 旭 王世發(fā) 慈為濤 司春景 姚江河
(塔里木大學(xué)信息工程學(xué)院,新疆 阿拉爾 843300)
?
基于3DS MAX和Unity3D校園虛擬漫游系統(tǒng)的研究
李 旭 王世發(fā) 慈為濤 司春景 姚江河*
(塔里木大學(xué)信息工程學(xué)院,新疆 阿拉爾 843300)
本文以塔里木大學(xué)數(shù)字虛擬漫游的研究為主要內(nèi)容,利用3DS MAX 和 Unity3D 引擎等工具,設(shè)計(jì)完成塔里木大學(xué)虛擬漫游系統(tǒng)。系統(tǒng)以第三人稱視角進(jìn)行虛擬校園漫游,使用者可直觀自控角色的一舉一動(dòng),増加系統(tǒng)交互性。此系統(tǒng)的建設(shè)可為塔里木大學(xué)提升文化內(nèi)涵起到宣傳作用;為校園規(guī)劃提供參考資料和依據(jù);促進(jìn)校園管理數(shù)字化,有利于實(shí)現(xiàn)大學(xué)遠(yuǎn)程教育,加快校園數(shù)字化建設(shè)。
塔里木大學(xué); 數(shù)字; 虛擬漫游系統(tǒng)
計(jì)算機(jī)科學(xué)研究的一個(gè)重要方向就是虛擬現(xiàn)實(shí)技術(shù),“數(shù)字校園”引入虛擬現(xiàn)實(shí)技術(shù),可以為學(xué)校的宣傳和游覽提供一種新的方式和方法。傳統(tǒng)的虛擬現(xiàn)實(shí)技術(shù),如基于靜態(tài)圖像處理的初級虛擬實(shí)境技術(shù) QuickTime VR 和虛擬現(xiàn)實(shí)建模語言 VRML,雖然精確性較高,但交互性差,漫游速度因其本性影響,系統(tǒng)結(jié)構(gòu)過于繁冗,并且都是以第一人稱的視角來設(shè)計(jì)的。校園虛擬漫游系統(tǒng)的研究,有利于校園形象的宣傳與展示,并且對校園的進(jìn)一步數(shù)字化建設(shè)和遠(yuǎn)景規(guī)劃提供真實(shí)可靠的可視化平臺(tái)。本文研究以校園虛擬漫游系統(tǒng)為研究對象,系統(tǒng)采用三維立體的方式以增強(qiáng)立體感,而且還可以以第三人稱視角漫游整個(gè)校園,借助3DS MAX三維建模軟件和Unity3D引擎開發(fā)一款校園虛擬漫游系統(tǒng),可以使用戶對學(xué)校對學(xué)校的了解有更直觀、更具體。
虛擬漫游系統(tǒng)開發(fā)的必要條件是要具有軟件工程的思想,從軟件需求分析入手,各個(gè)模塊功能的設(shè)計(jì)與實(shí)現(xiàn)。首先使用AutoCAD軟件繪制學(xué)校的平面圖,利用相機(jī)拍攝相關(guān)建筑物圖片,對測量不準(zhǔn)確的建筑物進(jìn)行補(bǔ)測, 再利用3DS MAX三維建模軟件對校園中建筑物進(jìn)行建模, 然后將建模文件導(dǎo)入到Unity引擎中,第二步進(jìn)行模型的貼圖,添加燈光效果。構(gòu)建場景完成后再進(jìn)行系統(tǒng)交互設(shè)計(jì), 該交互設(shè)計(jì)包括漫游行走的交互、界面菜單的交互,該漫游系統(tǒng)完成后進(jìn)行性能測試,生成可執(zhí)行文件和網(wǎng)絡(luò)文件,此文件更具有精確性、真實(shí)性和無限的可操作性。整個(gè)開發(fā)流程如圖1所示。
圖1 虛擬校園系統(tǒng)開發(fā)流程
2.1 Unity3D
Unity3D是一個(gè)多平臺(tái)的專業(yè)3D游戲開發(fā)引擎,它具有出色的高級渲染效果和用戶定制支持,具有高度優(yōu)化的圖形渲染管道,支持DirectX和OpenGL[1]。其內(nèi)置的NVIDIA、PhysX 物理引擎能夠?qū)崿F(xiàn)逼真的互動(dòng),并提供了支持柔和陰影與烘焙高度完善的光影渲染系統(tǒng)。而且Unity 3D具有方便的可視化創(chuàng)作環(huán)境,使用常見的C#、JavaScript和Boo編程語言作為腳本語言,并且針對Unity引擎,還有很多出色的插件供開發(fā)者使用,如PlayMaker、NGUI等,使用這些插件可以使開發(fā)者多快好省地完成一些功能[2]。
2.2 場景建模技術(shù)
虛擬場景中漫游系統(tǒng)的核心是三維模型,其好壞將影響系統(tǒng)漫游效果以及場景的逼真程度[3]。在做好數(shù)據(jù)采集、建筑測量等前期準(zhǔn)備后,就要進(jìn)行校園物體的建模工作了。建模是根據(jù)前期的造型設(shè)計(jì),通過3D MAX軟件繪制出校園物體的三維模型。需要建模的物體有很多,而且模型的創(chuàng)建也要經(jīng)過建模、材質(zhì)和貼圖、燈光、渲染等一系列步驟,因此場景建模是一個(gè)細(xì)致而繁重的過程。
2.3 漫游交互技術(shù)
漫游是虛擬校園的關(guān)鍵, 交互是實(shí)現(xiàn)漫游的方式[4]。Unity引擎中的交互功能是通過對游戲物體編寫控制腳本來實(shí)現(xiàn)的。Unity同時(shí)支持JavaScript、C#和Boo三種腳本語言,而且Unity引擎還支持在同一個(gè)項(xiàng)目中同時(shí)使用多種腳本語言來進(jìn)行腳本的編寫[5]。
2.4 碰撞檢測技術(shù)
碰撞檢測技術(shù)是模擬真實(shí)環(huán)境中在遇到障礙物時(shí)物體發(fā)生的本能反應(yīng), 很多時(shí)候,當(dāng)我們的主角與其他GameObject(游戲物體)發(fā)生碰撞時(shí),我們需要做一些特殊的事情,比如遇到墻壁時(shí), 不能前行, 避免角色在場景中出現(xiàn)穿墻而入等一些離奇的行為。在Unity3d中,能檢測碰撞發(fā)生的方式有兩種,一種是利用碰撞器,另一種則是利用觸發(fā)器。本文研究利用碰撞器進(jìn)行碰撞檢測[6]。
本研究的校園虛擬漫游系統(tǒng)是以塔里木大學(xué)校園為設(shè)計(jì)目標(biāo)的。校園整體呈長方形,南北窄,東西長。教學(xué)區(qū)由重點(diǎn)實(shí)驗(yàn)室、教學(xué)樓和圖書館等組成;辦公區(qū)由行政樓和后勤保安等部門組成;生活?yuàn)蕵穮^(qū)由小市場、食堂、學(xué)生宿舍、澡堂、操場等組成;以及由道路、花草、樹木、路燈等小品構(gòu)成的輔助設(shè)施。
3.1 數(shù)據(jù)采集
為了將校園環(huán)境中的建筑物、道路、花草樹木等對象描述的更加生動(dòng)準(zhǔn)確,以達(dá)到逼真的仿真效果。首先根據(jù)地圖及影像圖繪制出校園的CAD平面圖,平面圖對校園中空間的構(gòu)成十分重要。然后對花草樹木、建筑物等用數(shù)碼相機(jī)拍攝清晰照片。許多模型的紋理主要來自數(shù)碼照片,拍攝的照片整合了摳像、校色、攝像機(jī)貼圖、光柵與矢量繪畫、基于樣條的變形、運(yùn)動(dòng)模糊、景深以及支持立體視效,在圖像處理軟件中進(jìn)行雜質(zhì)去除、大小調(diào)整、對比度、亮度和銳化等效果處理,改進(jìn)渲染傳遞并把它們?nèi)诤系綄?shí)拍鏡頭中,制作成模型的材質(zhì)貼圖,存放在紋理庫中。
3.2 建模及渲染輸出
本文研究建模主要是二維圖形制作成三維圖形,主要是將圖形的輪廓通過線、多邊形等制作出來,然后通過對圖形的擠壓、車削、放樣等方法,制作出相應(yīng)的模型。首先考慮制作模型的輪廓,并對其結(jié)構(gòu)和形態(tài)進(jìn)行規(guī)劃,根據(jù)其結(jié)構(gòu)特征,分為規(guī)則物體和不規(guī)則物體,一般規(guī)則物體使用堆砌建模法,而不規(guī)則物體使用細(xì)分建模法,最后根據(jù)部分網(wǎng)格的拓?fù)浣Y(jié)構(gòu),制作相應(yīng)的模型。模型的創(chuàng)建大致要經(jīng)過建模、材質(zhì)和貼圖、燈光等一系列步驟。
在整個(gè)三維創(chuàng)作中渲染是一項(xiàng)重要的工作。在前面所制作的材質(zhì)與貼圖、環(huán)境反射和燈光的作用等效果,在經(jīng)過渲染之后才能更好地呈現(xiàn)出來。在3DS MAX中主要包括快速渲染、實(shí)時(shí)渲染和最終渲染等類型。
本文研究在渲染時(shí)運(yùn)用到了最終渲染,此插件的主要用途是將燈光和材質(zhì)能夠更好的渲染出來,比3DS MAX自身所帶的渲染器要更加的精細(xì)。
3.3 模型的導(dǎo)入
首先進(jìn)行模型導(dǎo)入,然后進(jìn)行編輯組合,其具體步驟如下:
1.首先運(yùn)行Unity 3D,第二步是工程項(xiàng)目的建立。Layers選擇合適的窗口模式進(jìn)行設(shè)計(jì)。
2.Create Terrain菜單通過創(chuàng)建地形以及編輯地形;Directtion Light通過創(chuàng)建燈光,編輯其屬性,設(shè)置相應(yīng)效果;Seting Renter通過設(shè)置天空盒,為天空盒添加需要的材質(zhì)貼圖。
3.通過3D MAX導(dǎo)出成.fbx格式的各類建筑物模型文件,從項(xiàng)目中用鼠標(biāo)拖動(dòng)到場景中進(jìn)行設(shè)置和位置擺放。
4.重新指定模型中丟失的材質(zhì)和貼圖。
5.對地面、天空、樓梯、墻壁等場景添加Physics菜單下的Box Collider或者M(jìn)esh Collider碰撞組件,在漫游時(shí)避免出現(xiàn)穿墻的錯(cuò)誤效果。
6.光線進(jìn)行調(diào)節(jié),達(dá)到所需的照度和燈光色彩效果,體現(xiàn)空間層次感。
3.4 角色漫游的設(shè)計(jì)與實(shí)現(xiàn)
角色漫游的設(shè)計(jì)主要包括對角色的控制和對攝像機(jī)的控制兩部分內(nèi)容,角色是漫游系統(tǒng)的主角,而攝像機(jī)就像角色的眼睛一樣。在本系統(tǒng)中角色漫游是以第三人稱視角來實(shí)現(xiàn)的,使用者可以直觀的觀察到自己控制的角色人物的一舉一動(dòng),使系統(tǒng)的交互性更加顯著。為了完成通過控制角色移動(dòng)來實(shí)現(xiàn)場景漫游的功能,攝像機(jī)必須緊緊跟隨角色移動(dòng)。
實(shí)現(xiàn)對角色控制的基本原理是,首先在場景中導(dǎo)入一個(gè)帶有動(dòng)畫的游戲角色,然后通過編寫腳本來控制角色。例如用戶按下W、A、S、D按鍵后,首先通過腳本控制角色播放走路動(dòng)畫,同時(shí)控制角色的坐標(biāo)位置在相應(yīng)方向上進(jìn)行移動(dòng),這樣就實(shí)現(xiàn)了角色在場景中走動(dòng)的效果,再通過腳本控制攝像機(jī)跟隨角色移動(dòng),并與角色保持一定的相對距離,就實(shí)現(xiàn)了簡單的場景漫游功能。
3.5 GUI界面的設(shè)計(jì)和實(shí)現(xiàn)
在本漫游系統(tǒng)中,GUI 界面是用戶與系統(tǒng)之間的橋梁,通過GUI界面的引導(dǎo),用戶可以輕松的上手本系統(tǒng),快速熟悉系統(tǒng)的操作方法,并且用戶還可以通過自己的選擇控制角色進(jìn)入不同的場景, 實(shí)現(xiàn)相應(yīng)的漫游功能。
在本系統(tǒng)的GUI界面中,共創(chuàng)建了三個(gè)菜單項(xiàng),分別為Select Scene(場景選擇)菜單、How To Use(使用說明)菜單和Visit Tarim(訪問校網(wǎng))菜單。
本系統(tǒng)中GUI界面的創(chuàng)建,是通過先創(chuàng)建相應(yīng)的預(yù)設(shè),然后在運(yùn)行時(shí)對預(yù)設(shè)進(jìn)行實(shí)例化來實(shí)現(xiàn)的。
在創(chuàng)建預(yù)設(shè)時(shí),首先在工程視圖中,右擊:Create->Prefab。此時(shí)Prefab為灰色,然后從Hierarchy窗口中將某一游戲物體拖到該P(yáng)refab上,此時(shí)可以看到Hierarchy窗口中該物體變成了藍(lán)色,至此Prefab就創(chuàng)建完成了。
在本系統(tǒng)GUI界面設(shè)計(jì)過程中,首先創(chuàng)建一個(gè)空的游戲物體,然后將編好的創(chuàng)建GUI界面的腳本添加到該物體上,最后將該物體創(chuàng)建成預(yù)設(shè),在系統(tǒng)運(yùn)行時(shí),會(huì)創(chuàng)建一個(gè)該預(yù)設(shè)的實(shí)例,這樣GUI界面就顯示出來了。
以塔里木大學(xué)校園為模型,借助3DS MAX 三維建模軟件,在Unity3D上實(shí)現(xiàn)虛擬校園漫游系統(tǒng)。如圖2-圖3所示,瀏覽者可以對場景進(jìn)行全方位瀏覽,而且也可以按預(yù)定路徑自動(dòng)漫游,還可以選擇不同視角進(jìn)行瀏覽。該系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)方法具有很好的應(yīng)用價(jià)值。
圖2 GUI界面的效果圖
圖3 綜合樓的效果圖
總體來說,在本文設(shè)計(jì)中首先通過3DS MAX構(gòu)建校園中各物體的模型,利用3DS MAX在建模、材質(zhì)和貼圖、燈光、渲染等方面的功能。然后通過Unity3D進(jìn)行系統(tǒng)的交互設(shè)計(jì),進(jìn)而運(yùn)用Unity平臺(tái)進(jìn)行虛擬漫游系統(tǒng)設(shè)計(jì)的流程和相關(guān)技術(shù),并且通過對Unity腳本的編寫,實(shí)現(xiàn)了碰撞檢測、虛擬漫游等功能。塔里木大學(xué)虛擬漫游系統(tǒng)是數(shù)字塔里木大學(xué)建設(shè)的基礎(chǔ),它是一個(gè)三維可視化的,有聲有色的仿真校園景觀,該系統(tǒng)的研究和實(shí)現(xiàn)對后續(xù)數(shù)字校園的建設(shè)有重要的現(xiàn)實(shí)意義。
[1] 李旭,姚江河,司春景,等. 基于3DS MAX的數(shù)字西域文化博物館的設(shè)計(jì)與實(shí)現(xiàn)[J]. 塔里木大學(xué)學(xué)報(bào),2012(03):60-63.
[2] 鄧見光,袁華強(qiáng). 基于游戲引擎的三維虛擬漫游系統(tǒng)實(shí)現(xiàn)[J]. 計(jì)算機(jī)應(yīng)用與軟件,2012(03):122-124.
[3] 宋平,楊濤. 大學(xué)校園虛擬漫游系統(tǒng)集成關(guān)鍵技術(shù)的探索與實(shí)踐——以沈陽農(nóng)業(yè)大學(xué)校園虛擬漫游系統(tǒng)為例[J]. 沈陽農(nóng)業(yè)大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2012(02):227-230.
[4] 祝敏嬌. 基于Unity3D的虛擬漫游技術(shù)的研究[J]. 硅谷,2012(20):77-102.
[5] 張榮華.幾何建模技術(shù)在虛擬校園漫游系統(tǒng)開發(fā)中的應(yīng)用[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2008(23):6146-6151.
[6] 白學(xué)明,趙剛. 三維校園虛擬漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 泰山學(xué)院學(xué)報(bào),2011(06):50-54.
The Research of Based on 3DS MAX and Unity3D Virtual Reality System
Li Xu Wang Shifa Ci Weitao Si Chunjing Yao Jianghe*
(College of Information Engineering, Tarim University, Alar, Xinjiang 843300)
This paper studies the digital Tarim University Virtual Tour system. By 3DS MAX and Unity3D engine, visual identity Virtual Tour system of the school was designed completely. In third-person perspective virtual campus roaming system design, the user can intuitively controlled character's every move, strengthening the system interactivity. Construction of this system can play an advocacy role for the Tarim University to create a good image, enhance cultural taste, References the basis can be provided for the construction of the campus planning, promoted the management and unified of the campus, conducive to university education, accelerate the construction of digital campus.
digital; Tarim University; campus roaming
2014-10-16
塔里木大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(2013107570025)。
李旭(1983-),男,講師,碩士,主要研究方向?yàn)樘摂M現(xiàn)實(shí)、農(nóng)業(yè)信息系統(tǒng)等。 E-mail:lixu2866@126.com
E-mail:lixu2866@126.com
1009-0568(2015)02-0090-04
TP391.9
A
10.3969/j.issn.1009-0568.2015.02.017