范國華,吳國棟,張友華,焦 俊
(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,安徽合肥 230036)
?
基于Unity的虛擬校園漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
范國華,吳國棟,張友華,焦 俊
(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,安徽合肥 230036)
虛擬現(xiàn)實(shí)(VirtualReality,簡寫為VR)技術(shù)又稱靈境技術(shù),是近十幾年正在逐步興起的高新的科學(xué)技術(shù),它利用計(jì)算機(jī)模擬產(chǎn)生虛擬場景,是一種可以產(chǎn)生虛擬現(xiàn)實(shí)環(huán)境的計(jì)算機(jī)仿真技術(shù)。這種場景是通過計(jì)算機(jī)創(chuàng)建的,通過人的各種體驗(yàn)等作用于人,使人能夠產(chǎn)生身處虛擬環(huán)境的感覺[1]。
近幾年,隨著計(jì)算機(jī)技術(shù)的發(fā)展,校園信息化建設(shè)也快速發(fā)展,而虛擬校園是校園信息化建設(shè)的重要組成部分。傳統(tǒng)的虛擬校園都是建立在二維平面地圖和影像地圖的基礎(chǔ)上,已經(jīng)不能滿足學(xué)校對(duì)外招生宣傳、校園導(dǎo)航、信息化管理的多元化功能需求。利用最新的計(jì)算機(jī)虛擬技術(shù)和網(wǎng)絡(luò)技術(shù),產(chǎn)生了最先進(jìn)的三維虛擬校園技術(shù),三維比二維平面更直觀形象,更逼近校園的實(shí)景,三維虛擬校園還具有智能化的POI查詢定位功能和管理后臺(tái)標(biāo)注功能,是虛擬校園建設(shè)的革命性突破[2]。筆者以3ds Max+Unity 4.6為開發(fā)工具,開發(fā)了安徽農(nóng)業(yè)大學(xué)虛擬校園漫游系統(tǒng),用戶可以通過該系統(tǒng)對(duì)安徽農(nóng)業(yè)大學(xué)進(jìn)行漫游和信息了解,具有實(shí)用價(jià)值。
1虛擬校園漫游系統(tǒng)與Unity平臺(tái)概述
虛擬漫游技術(shù)是虛擬現(xiàn)實(shí)技術(shù)的一個(gè)重要的分支。虛擬現(xiàn)實(shí)系統(tǒng)從根本上來說是一種人和計(jì)算機(jī)交互的技術(shù)的產(chǎn)物,可以使人在所創(chuàng)建的體系結(jié)構(gòu)中進(jìn)行融入其中的的各種行為。虛擬漫游技術(shù)讓人可以從不同方面的體驗(yàn)各種前所未有的嘗試,用戶和計(jì)算機(jī)虛擬環(huán)境的交互控制是虛擬漫游系統(tǒng)的關(guān)鍵,可以讓用戶通過自己的操作來控制模擬環(huán)境內(nèi)實(shí)體并且從虛擬環(huán)境得到實(shí)時(shí)的全面的回饋。技術(shù)發(fā)展到現(xiàn)在,人們能夠完全的融入這種技術(shù)創(chuàng)建的虛擬現(xiàn)實(shí)場景系統(tǒng)中去,并通過各種傳感器設(shè)備實(shí)時(shí)捕捉與虛擬現(xiàn)實(shí)環(huán)境進(jìn)行實(shí)時(shí)的多角度的相互影響,從而在綜合復(fù)雜的虛擬環(huán)境中得到自己想要的數(shù)據(jù)和反饋效果[3-4]。
一般來說,一個(gè)虛擬漫游系統(tǒng)應(yīng)該包括兩大部分:視景數(shù)據(jù)庫的構(gòu)建以及漫游平臺(tái)的設(shè)計(jì)[5]。虛擬校園漫游系統(tǒng)的實(shí)現(xiàn)流程見圖1。其中,視景數(shù)據(jù)庫包括三維模型以及相關(guān)多媒體素材,漫游平臺(tái)設(shè)計(jì)則包括對(duì)相關(guān)素材的控制以及交互。
圖1 虛擬校園漫游系統(tǒng)的實(shí)現(xiàn)流程Fig.1 Realization process of virtual campus roaming system
目前進(jìn)行虛擬漫游設(shè)計(jì)的開發(fā),在平臺(tái)的選擇上大致有兩種選擇:一種是直接利用面向硬件底層API 的調(diào)用,從而達(dá)到自主開發(fā)引擎的目的,這種方式運(yùn)行效率較高,設(shè)計(jì)靈活,有自主產(chǎn)權(quán)但花費(fèi)的代價(jià)比較大;第二種是用第三方軟件商開發(fā)提供的帶有商業(yè)意義的虛擬現(xiàn)實(shí)引擎,使用者不需要太關(guān)心底層實(shí)現(xiàn),而將注意力集中于設(shè)計(jì)思想上,通過引擎制作出比較實(shí)用的虛擬漫游產(chǎn)品。虛擬校園漫游系統(tǒng)采用第二種方法,使用英國Unity Technologies公司開發(fā)的游戲引擎Unity來完成實(shí)時(shí)漫游。
Unity是由Unity Technologies開發(fā)的一款全面整合的專業(yè)游戲引擎。Unity類似于Director、Blender Game Engine、Virtools或Torque Game Builder等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件其編輯器運(yùn)行在Windows 和Mac OS X下,可發(fā)布游戲至Windows、Mac、Wii、iPhone、Windows Phone 8和Android平臺(tái)。也可以利用Unity Web Player插件發(fā)布網(wǎng)頁游戲,支持Mac和Windows的網(wǎng)頁瀏覽。它的網(wǎng)頁播放器也被Mac Widgets所支持。Unity本身是免費(fèi)的,只有專業(yè)版中的一些功能需要付費(fèi)激活,因此是國內(nèi)使用范圍最廣的游戲引擎。
2虛擬校園漫游系統(tǒng)的設(shè)計(jì)
該研究使用三維模型制作軟件3ds Max 2012來構(gòu)建安徽農(nóng)業(yè)大學(xué)校園的相關(guān)模型,采用游戲引擎Unity 4.6來完成漫游平臺(tái)的控制。
2.1系統(tǒng)總體設(shè)計(jì)目標(biāo)虛擬校園漫游系統(tǒng)的主要目的是讓使用者能在虛擬校園自由漫游,使用者可以通過鍵盤來控制視角進(jìn)行前后左右4個(gè)方向的的行走、仰俯,達(dá)到虛擬校園內(nèi)任何可以到達(dá)的地方,并能通過點(diǎn)擊各個(gè)建筑看到該建筑的介紹。該系統(tǒng)可以使得使用者了解安徽農(nóng)業(yè)大學(xué)的校內(nèi)建筑分布位置,并對(duì)校園規(guī)劃有基本的了解,系統(tǒng)功能見圖2。該研究著重論述虛擬校園漫游系統(tǒng)的三維模型設(shè)計(jì)以及漫游系統(tǒng)的具體實(shí)現(xiàn)過程。
2.2系統(tǒng)三維模型設(shè)計(jì)三維建模技術(shù)是虛擬校園漫游系統(tǒng)重要的組成部分之一。系統(tǒng)漫游是否真實(shí)可信取決于三維建模的結(jié)果是否真實(shí)生動(dòng)。虛擬校園的三維建模使用3ds Max 2012來完成,利用百度地圖繪制安徽農(nóng)業(yè)大學(xué)的CAD圖,然后根據(jù)CAD圖構(gòu)建三維模型并進(jìn)行優(yōu)化。
圖2 虛擬校園漫游系統(tǒng)的功能Fig.2 Functions of virtual campus roaming system
2.2.1建筑模型構(gòu)建。利用百度地圖和相關(guān)材料,繪制安徽農(nóng)業(yè)大學(xué)的CAD圖,再將CAD圖轉(zhuǎn)換為.dwg文件格式導(dǎo)入3ds Max。由于整體模型的建筑數(shù)量太多,考慮到運(yùn)行幀數(shù),所以建筑整體采用簡模方案,在各個(gè)位置制作建筑模型的簡模;完成后,對(duì)各個(gè)簡模的表面進(jìn)行處理;最后將相關(guān)的文件合并成1個(gè)文件,效果見圖3。
圖3 安徽農(nóng)業(yè)大學(xué).max文件Fig.3 The max software of Anhui Agricultural University
2.2.2植物模型構(gòu)建。 植物是建筑建模的重要組成部分,3ds Max中制作植物有遠(yuǎn)景、中景、近景、平面拼插貼圖法等方法??紤]到實(shí)時(shí)漫游的需求,應(yīng)盡量減少植物的面數(shù),因此采用Unity內(nèi)自帶植物+平面拼插貼圖混合的方法,主要建筑附近的植物和標(biāo)志性植物使用系統(tǒng)自帶的植物,其余植物則先建立1個(gè)平面,然后利用貼圖通道中的不透明貼圖建立植物的平面,接著用2~3個(gè)平面交叉到一起形成立體的植物。
2.2.3整體模型優(yōu)化。 實(shí)時(shí)漫游對(duì)電腦的CPU和GPU要求較高,因此3D模型在導(dǎo)入U(xiǎn)nity前要進(jìn)行優(yōu)化,盡量減少模型面數(shù),將多個(gè)次要對(duì)象通過布爾運(yùn)算合并成一個(gè)對(duì)象,減少Unity的渲染負(fù)擔(dān),將場景進(jìn)行適當(dāng)切割,使場景中只有攝像機(jī)視角范圍內(nèi)的部分資料載入內(nèi)存中,檢查場景有無孤立的點(diǎn)和面,予以刪除,調(diào)整貼圖模式、減少燈光的使用等,通過這些措施對(duì)模型進(jìn)行優(yōu)化,以增加系統(tǒng)運(yùn)行時(shí)的幀數(shù)[6]。
2.3系統(tǒng)關(guān)鍵技術(shù)
2.3.1角色交互。角色交互是實(shí)現(xiàn)虛擬校園漫游的關(guān)鍵之一,Unity中內(nèi)置了角色控制資源包,里面包含1個(gè)第一人稱角色控制預(yù)設(shè)體和1個(gè)第三人稱角色控制預(yù)設(shè)體,兩者都包含了基本的漫游行走功能,利用鍵盤上的“W”“S”“A”“D”鍵來控制角色的前后移動(dòng)以及左右旋轉(zhuǎn),也可以編寫代碼來實(shí)現(xiàn)鼠標(biāo)定位移動(dòng)的功能。該系統(tǒng)采用Unity自帶的第一人稱角色控制預(yù)設(shè)體來實(shí)現(xiàn)交互。
2.3.2碰撞檢測。 碰撞檢測是虛擬漫游系統(tǒng)的重要功能之一,其主要作用是用來確保兩個(gè)不可穿透的對(duì)象互相不能共享相同的空間,如果發(fā)生碰撞,如何進(jìn)行處理。Unity中內(nèi)置了物理引擎,可以實(shí)現(xiàn)多種碰撞檢測處理,包括盒型碰撞體、球型碰撞體、膠囊碰撞體、網(wǎng)格碰撞體等[7]。該研究設(shè)計(jì)的虛擬校園漫游系統(tǒng)中,第一人稱控制預(yù)設(shè)體由于外表不規(guī)則,且為漫游的操作主要角色,采用網(wǎng)格碰撞體;其余的部分,包括建筑和植物,基本都采用盒型碰撞體。
2.3.3自動(dòng)漫游。 自動(dòng)漫游就是系統(tǒng)中的游覽校園功能,按照預(yù)先設(shè)定好的路徑來進(jìn)行漫游,可以給第一次來校園的游客提供一條漫游校園的路徑。Unity中實(shí)現(xiàn)自動(dòng)漫游的方法有好幾種,該系統(tǒng)采用iTween插件來實(shí)現(xiàn)自動(dòng)漫游。iTween實(shí)現(xiàn)自動(dòng)漫游的原理是:處理模型從起始點(diǎn)到結(jié)束點(diǎn)之間運(yùn)動(dòng)的軌跡,利用插值運(yùn)算實(shí)現(xiàn)點(diǎn)與點(diǎn)之間的平滑過渡效果。iTween運(yùn)動(dòng)軌跡效果見圖4,白色方塊為各個(gè)關(guān)鍵點(diǎn),黃色直線為兩點(diǎn)間的直線路徑,紅色為插值運(yùn)算后的實(shí)際運(yùn)動(dòng)軌跡。該研究設(shè)計(jì)的虛擬校園漫游系統(tǒng)在整個(gè)校園模型的范圍內(nèi)設(shè)置了數(shù)十個(gè)關(guān)鍵點(diǎn),利用iTween的插值運(yùn)算來完成對(duì)校園的自動(dòng)漫游。
圖4 iTween運(yùn)動(dòng)軌跡效果Fig.4 Effects of iTween motion curve
3虛擬校園漫游系統(tǒng)演示
該研究采用3ds Max+Unity 4.6開發(fā)了安徽農(nóng)業(yè)大學(xué)的虛擬校園漫游系統(tǒng),演示效果如圖5所示。該系統(tǒng)設(shè)計(jì)效果良好且場景逼真,并可以網(wǎng)頁形式發(fā)布,支持幾乎所有的瀏覽器,宣傳展示效果極佳。
圖5 安徽農(nóng)業(yè)大學(xué)虛擬校園漫游系統(tǒng)演示效果Fig.5 Demonstration effect of the virtual campus roaming system of Anhui Agricultural University
4結(jié)語
該研究使用3ds Max+Unity 4.6工具開發(fā)設(shè)計(jì)了安徽農(nóng)業(yè)大學(xué)虛擬校園漫游系統(tǒng),該系統(tǒng)通過三維建模技術(shù)來構(gòu)建校園三維場景,利用漫游技術(shù)來實(shí)現(xiàn)用戶和校園主要場景間的交互,并采用碰撞檢測技術(shù)來保證系統(tǒng)的真實(shí)效果。系統(tǒng)設(shè)計(jì)效果良好且場景逼真,宣傳效果極佳。但設(shè)計(jì)仍有不足之處,如場景細(xì)節(jié)不夠豐富,交互性依舊比較簡單,豐富場景細(xì)節(jié)、同數(shù)據(jù)庫連接以讀取動(dòng)態(tài)數(shù)據(jù)使系統(tǒng)交互性更加豐富將是下一步的研究重點(diǎn)。
參考文獻(xiàn)
[1] 朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2012,21(10):36-39,65.
[2] 楊玉婷,楊佳平.虛擬校園漫游與實(shí)時(shí)可視化研究[J].計(jì)算機(jī)工程與科學(xué),2014,36(8):1588-1594.
[3] 張宏,宋萃娥.可視化及漫游技術(shù)的研究與實(shí)現(xiàn)[J].系統(tǒng)仿真學(xué)報(bào),2011,23(12):2701-2703,2708.
[4] 字建香,嚴(yán)紅平,葉軍濤.一個(gè)沉浸式場景漫游系統(tǒng)的構(gòu)建[J].計(jì)算機(jī)工程與應(yīng)用,2013,49(4):192-196.
[5] 范國華,杜哲明,張友華,等.基于Virtools的虛擬火車站漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].紅河學(xué)院學(xué)報(bào),2014,12(5):30-32,43.
[6] 曲寶,趙婭,趙琦.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2008,31(12):130-133.
[7] 張錫英,韓吉燁.基于Unity3D的虛擬水流墻系統(tǒng)的設(shè)計(jì)研究[J].安徽農(nóng)業(yè)科學(xué),2014,42(13):4111-4113.
摘要在對(duì)虛擬校園系統(tǒng)和Unity平臺(tái)進(jìn)行概述的基礎(chǔ)上,利用從百度地圖繪制的CAD圖,使用3ds Max+Unity4.6作為開發(fā)工具,構(gòu)建三維模型并進(jìn)行優(yōu)化,開發(fā)了安徽農(nóng)業(yè)大學(xué)的虛擬校園漫游系統(tǒng)。該系統(tǒng)的關(guān)鍵技術(shù)包括角色交互、碰撞檢測和自動(dòng)漫游。系統(tǒng)演示結(jié)果表明,該系統(tǒng)設(shè)計(jì)效果良好且場景逼真,適用性強(qiáng),宣傳效果極佳。
關(guān)鍵詞虛擬漫游;Unity;交互設(shè)計(jì)
Design and Implementation of Virtual Campus Roaming System Based on Unity
FAN Guo-hua, WU Guo-dong, ZHANG You-hua et al( School of Information and Computer, Anhui Agricultural University, Hefei, Anhui 230036)
AbstractBased on the virtual campus roaming system and the review of Unity platform, CAD from Baidu map was established. With 3dsMax+Unity4.6 as the development tool, virtual campus roaming system was developed for Anhui Agricultural University. The key technology of this system included role exchange, collision detection and automatic roam. System demonstration results showed that it had good system design effects with scene fidelity, strong practicability and high propaganda effect.
Key wordsVirtual roaming; Unity; Interaction design
收稿日期2015-12-14
作者簡介范國華(1982- ),男,安徽合肥人,講師,碩士,從事計(jì)算機(jī)圖形可視化,虛擬現(xiàn)實(shí)研究。
基金項(xiàng)目安徽省科技攻關(guān)計(jì)劃項(xiàng)目(1501031082)。
中圖分類號(hào)S 126
文獻(xiàn)標(biāo)識(shí)碼A
文章編號(hào)0517-6611(2016)01-325-03