李 旭 王世發 慈為濤 司春景 姚江河
(塔里木大學信息工程學院,新疆 阿拉爾 843300)
?
基于3DS MAX和Unity3D校園虛擬漫游系統的研究
李 旭 王世發 慈為濤 司春景 姚江河*
(塔里木大學信息工程學院,新疆 阿拉爾 843300)
本文以塔里木大學數字虛擬漫游的研究為主要內容,利用3DS MAX 和 Unity3D 引擎等工具,設計完成塔里木大學虛擬漫游系統。系統以第三人稱視角進行虛擬校園漫游,使用者可直觀自控角色的一舉一動,増加系統交互性。此系統的建設可為塔里木大學提升文化內涵起到宣傳作用;為校園規劃提供參考資料和依據;促進校園管理數字化,有利于實現大學遠程教育,加快校園數字化建設。
塔里木大學; 數字; 虛擬漫游系統
計算機科學研究的一個重要方向就是虛擬現實技術,“數字校園”引入虛擬現實技術,可以為學校的宣傳和游覽提供一種新的方式和方法。傳統的虛擬現實技術,如基于靜態圖像處理的初級虛擬實境技術 QuickTime VR 和虛擬現實建模語言 VRML,雖然精確性較高,但交互性差,漫游速度因其本性影響,系統結構過于繁冗,并且都是以第一人稱的視角來設計的。校園虛擬漫游系統的研究,有利于校園形象的宣傳與展示,并且對校園的進一步數字化建設和遠景規劃提供真實可靠的可視化平臺。本文研究以校園虛擬漫游系統為研究對象,系統采用三維立體的方式以增強立體感,而且還可以以第三人稱視角漫游整個校園,借助3DS MAX三維建模軟件和Unity3D引擎開發一款校園虛擬漫游系統,可以使用戶對學校對學校的了解有更直觀、更具體。
虛擬漫游系統開發的必要條件是要具有軟件工程的思想,從軟件需求分析入手,各個模塊功能的設計與實現。首先使用AutoCAD軟件繪制學校的平面圖,利用相機拍攝相關建筑物圖片,對測量不準確的建筑物進行補測, 再利用3DS MAX三維建模軟件對校園中建筑物進行建模, 然后將建模文件導入到Unity引擎中,第二步進行模型的貼圖,添加燈光效果。構建場景完成后再進行系統交互設計, 該交互設計包括漫游行走的交互、界面菜單的交互,該漫游系統完成后進行性能測試,生成可執行文件和網絡文件,此文件更具有精確性、真實性和無限的可操作性。整個開發流程如圖1所示。

圖1 虛擬校園系統開發流程
2.1 Unity3D
Unity3D是一個多平臺的專業3D游戲開發引擎,它具有出色的高級渲染效果和用戶定制支持,具有高度優化的圖形渲染管道,支持DirectX和OpenGL[1]。其內置的NVIDIA、PhysX 物理引擎能夠實現逼真的互動,并提供了支持柔和陰影與烘焙高度完善的光影渲染系統。而且Unity 3D具有方便的可視化創作環境,使用常見的C#、JavaScript和Boo編程語言作為腳本語言,并且針對Unity引擎,還有很多出色的插件供開發者使用,如PlayMaker、NGUI等,使用這些插件可以使開發者多快好省地完成一些功能[2]。
2.2 場景建模技術
虛擬場景中漫游系統的核心是三維模型,其好壞將影響系統漫游效果以及場景的逼真程度[3]。在做好數據采集、建筑測量等前期準備后,就要進行校園物體的建模工作了。建模是根據前期的造型設計,通過3D MAX軟件繪制出校園物體的三維模型。需要建模的物體有很多,而且模型的創建也要經過建模、材質和貼圖、燈光、渲染等一系列步驟,因此場景建模是一個細致而繁重的過程。
2.3 漫游交互技術
漫游是虛擬校園的關鍵, 交互是實現漫游的方式[4]。Unity引擎中的交互功能是通過對游戲物體編寫控制腳本來實現的。Unity同時支持JavaScript、C#和Boo三種腳本語言,而且Unity引擎還支持在同一個項目中同時使用多種腳本語言來進行腳本的編寫[5]。
2.4 碰撞檢測技術
碰撞檢測技術是模擬真實環境中在遇到障礙物時物體發生的本能反應, 很多時候,當我們的主角與其他GameObject(游戲物體)發生碰撞時,我們需要做一些特殊的事情,比如遇到墻壁時, 不能前行, 避免角色在場景中出現穿墻而入等一些離奇的行為。在Unity3d中,能檢測碰撞發生的方式有兩種,一種是利用碰撞器,另一種則是利用觸發器。本文研究利用碰撞器進行碰撞檢測[6]。
本研究的校園虛擬漫游系統是以塔里木大學校園為設計目標的。校園整體呈長方形,南北窄,東西長。教學區由重點實驗室、教學樓和圖書館等組成;辦公區由行政樓和后勤保安等部門組成;生活娛樂區由小市場、食堂、學生宿舍、澡堂、操場等組成;以及由道路、花草、樹木、路燈等小品構成的輔助設施。
3.1 數據采集
為了將校園環境中的建筑物、道路、花草樹木等對象描述的更加生動準確,以達到逼真的仿真效果。首先根據地圖及影像圖繪制出校園的CAD平面圖,平面圖對校園中空間的構成十分重要。然后對花草樹木、建筑物等用數碼相機拍攝清晰照片。許多模型的紋理主要來自數碼照片,拍攝的照片整合了摳像、校色、攝像機貼圖、光柵與矢量繪畫、基于樣條的變形、運動模糊、景深以及支持立體視效,在圖像處理軟件中進行雜質去除、大小調整、對比度、亮度和銳化等效果處理,改進渲染傳遞并把它們融合到實拍鏡頭中,制作成模型的材質貼圖,存放在紋理庫中。
3.2 建模及渲染輸出
本文研究建模主要是二維圖形制作成三維圖形,主要是將圖形的輪廓通過線、多邊形等制作出來,然后通過對圖形的擠壓、車削、放樣等方法,制作出相應的模型。首先考慮制作模型的輪廓,并對其結構和形態進行規劃,根據其結構特征,分為規則物體和不規則物體,一般規則物體使用堆砌建模法,而不規則物體使用細分建模法,最后根據部分網格的拓撲結構,制作相應的模型。模型的創建大致要經過建模、材質和貼圖、燈光等一系列步驟。
在整個三維創作中渲染是一項重要的工作。在前面所制作的材質與貼圖、環境反射和燈光的作用等效果,在經過渲染之后才能更好地呈現出來。在3DS MAX中主要包括快速渲染、實時渲染和最終渲染等類型。
本文研究在渲染時運用到了最終渲染,此插件的主要用途是將燈光和材質能夠更好的渲染出來,比3DS MAX自身所帶的渲染器要更加的精細。
3.3 模型的導入
首先進行模型導入,然后進行編輯組合,其具體步驟如下:
1.首先運行Unity 3D,第二步是工程項目的建立。Layers選擇合適的窗口模式進行設計。
2.Create Terrain菜單通過創建地形以及編輯地形;Directtion Light通過創建燈光,編輯其屬性,設置相應效果;Seting Renter通過設置天空盒,為天空盒添加需要的材質貼圖。
3.通過3D MAX導出成.fbx格式的各類建筑物模型文件,從項目中用鼠標拖動到場景中進行設置和位置擺放。
4.重新指定模型中丟失的材質和貼圖。
5.對地面、天空、樓梯、墻壁等場景添加Physics菜單下的Box Collider或者Mesh Collider碰撞組件,在漫游時避免出現穿墻的錯誤效果。
6.光線進行調節,達到所需的照度和燈光色彩效果,體現空間層次感。
3.4 角色漫游的設計與實現
角色漫游的設計主要包括對角色的控制和對攝像機的控制兩部分內容,角色是漫游系統的主角,而攝像機就像角色的眼睛一樣。在本系統中角色漫游是以第三人稱視角來實現的,使用者可以直觀的觀察到自己控制的角色人物的一舉一動,使系統的交互性更加顯著。為了完成通過控制角色移動來實現場景漫游的功能,攝像機必須緊緊跟隨角色移動。
實現對角色控制的基本原理是,首先在場景中導入一個帶有動畫的游戲角色,然后通過編寫腳本來控制角色。例如用戶按下W、A、S、D按鍵后,首先通過腳本控制角色播放走路動畫,同時控制角色的坐標位置在相應方向上進行移動,這樣就實現了角色在場景中走動的效果,再通過腳本控制攝像機跟隨角色移動,并與角色保持一定的相對距離,就實現了簡單的場景漫游功能。
3.5 GUI界面的設計和實現
在本漫游系統中,GUI 界面是用戶與系統之間的橋梁,通過GUI界面的引導,用戶可以輕松的上手本系統,快速熟悉系統的操作方法,并且用戶還可以通過自己的選擇控制角色進入不同的場景, 實現相應的漫游功能。
在本系統的GUI界面中,共創建了三個菜單項,分別為Select Scene(場景選擇)菜單、How To Use(使用說明)菜單和Visit Tarim(訪問校網)菜單。
本系統中GUI界面的創建,是通過先創建相應的預設,然后在運行時對預設進行實例化來實現的。
在創建預設時,首先在工程視圖中,右擊:Create->Prefab。此時Prefab為灰色,然后從Hierarchy窗口中將某一游戲物體拖到該Prefab上,此時可以看到Hierarchy窗口中該物體變成了藍色,至此Prefab就創建完成了。
在本系統GUI界面設計過程中,首先創建一個空的游戲物體,然后將編好的創建GUI界面的腳本添加到該物體上,最后將該物體創建成預設,在系統運行時,會創建一個該預設的實例,這樣GUI界面就顯示出來了。
以塔里木大學校園為模型,借助3DS MAX 三維建模軟件,在Unity3D上實現虛擬校園漫游系統。如圖2-圖3所示,瀏覽者可以對場景進行全方位瀏覽,而且也可以按預定路徑自動漫游,還可以選擇不同視角進行瀏覽。該系統設計與實現方法具有很好的應用價值。

圖2 GUI界面的效果圖

圖3 綜合樓的效果圖
總體來說,在本文設計中首先通過3DS MAX構建校園中各物體的模型,利用3DS MAX在建模、材質和貼圖、燈光、渲染等方面的功能。然后通過Unity3D進行系統的交互設計,進而運用Unity平臺進行虛擬漫游系統設計的流程和相關技術,并且通過對Unity腳本的編寫,實現了碰撞檢測、虛擬漫游等功能。塔里木大學虛擬漫游系統是數字塔里木大學建設的基礎,它是一個三維可視化的,有聲有色的仿真校園景觀,該系統的研究和實現對后續數字校園的建設有重要的現實意義。
[1] 李旭,姚江河,司春景,等. 基于3DS MAX的數字西域文化博物館的設計與實現[J]. 塔里木大學學報,2012(03):60-63.
[2] 鄧見光,袁華強. 基于游戲引擎的三維虛擬漫游系統實現[J]. 計算機應用與軟件,2012(03):122-124.
[3] 宋平,楊濤. 大學校園虛擬漫游系統集成關鍵技術的探索與實踐——以沈陽農業大學校園虛擬漫游系統為例[J]. 沈陽農業大學學報(社會科學版),2012(02):227-230.
[4] 祝敏嬌. 基于Unity3D的虛擬漫游技術的研究[J]. 硅谷,2012(20):77-102.
[5] 張榮華.幾何建模技術在虛擬校園漫游系統開發中的應用[J]. 計算機工程與設計,2008(23):6146-6151.
[6] 白學明,趙剛. 三維校園虛擬漫游系統的設計與實現[J]. 泰山學院學報,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
塔里木大學大學生創新創業訓練計劃項目(2013107570025)。
李旭(1983-),男,講師,碩士,主要研究方向為虛擬現實、農業信息系統等。 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