姜 銳,陳默祺
(1.黃河水利職業(yè)技術(shù)學(xué)院,河南 開封 475004;2.河南大學(xué)第一附屬醫(yī)院,河南 開封 475001)
黃河水院三維數(shù)字校園漫游系統(tǒng)方案研究
姜 銳1,陳默祺2
(1.黃河水利職業(yè)技術(shù)學(xué)院,河南 開封 475004;2.河南大學(xué)第一附屬醫(yī)院,河南 開封 475001)
以黃河水院校園為研究對(duì)象,研究了各類三維數(shù)字校園解決方案的優(yōu)缺點(diǎn),創(chuàng)造性地提出基于3DS MAX建模和Untiy 3D游戲開發(fā)平臺(tái)建立漫游系統(tǒng)的設(shè)想。通過(guò)分析實(shí)施過(guò)程,建立漫游系統(tǒng),編制了黃河水院三維數(shù)字校園漫游系統(tǒng)運(yùn)行方案。
黃河水院;三維數(shù)字校園;漫游系統(tǒng);方案設(shè)計(jì)
數(shù)字化校園是利用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)技術(shù)、通訊技術(shù)以及科學(xué)規(guī)范的管理對(duì)校園內(nèi)與教學(xué)、科研、管理和生活服務(wù)有關(guān)的所有信息資源進(jìn)行整合、集成和全面的數(shù)字化,以構(gòu)成統(tǒng)一的用戶管理、統(tǒng)一的資源管理和統(tǒng)一的權(quán)限控制;通過(guò)組織和業(yè)務(wù)流程再造,推動(dòng)學(xué)校進(jìn)行制度創(chuàng)新、管理創(chuàng)新,最終實(shí)現(xiàn)教育信息化、決策科學(xué)化和管理規(guī)范化[1]。
“數(shù)字校園”的基礎(chǔ)主要包括信息、數(shù)據(jù)和人3項(xiàng)。信息基礎(chǔ)設(shè)施要有高速寬帶網(wǎng)絡(luò)和支撐的計(jì)算機(jī)服務(wù)系統(tǒng)與網(wǎng)絡(luò)交換系統(tǒng)。也就是說(shuō)“數(shù)字校園”的第一項(xiàng)任務(wù)是解決“修路”的問(wèn)題。但是。光有路不行,還必須有數(shù)據(jù),特別是“空間數(shù)據(jù)”。所以,衡量“數(shù)字校園”的指標(biāo)除寬帶網(wǎng)里程以外,還有數(shù)據(jù)量的大小。數(shù)據(jù)量包括各類基礎(chǔ)空間數(shù)據(jù)的數(shù)據(jù)量外,學(xué)生全面素質(zhì)教育數(shù)據(jù)庫(kù)、教師教學(xué)資源庫(kù)。建立在此基礎(chǔ)上的數(shù)據(jù)挖掘是數(shù)字校園的核心特點(diǎn)?!皵?shù)字校園”第三項(xiàng)基礎(chǔ)是人,即管理“數(shù)字校園”和使用“數(shù)字校園”的人。與管理 “現(xiàn)實(shí)校園”相對(duì)應(yīng),管理“數(shù)字校園”要逐漸建立起相應(yīng)的機(jī)構(gòu)和規(guī)范,要不斷對(duì)網(wǎng)絡(luò)系統(tǒng)和數(shù)據(jù)進(jìn)行建設(shè)、更新、維護(hù)和升級(jí),并協(xié)調(diào)用戶的訪問(wèn)[2]。
在眾多服務(wù)中,虛擬漫游系統(tǒng)可以作為信息查詢、管理校園等系統(tǒng)的基礎(chǔ),也可作為地圖信息查詢、實(shí)時(shí)導(dǎo)航的應(yīng)用獨(dú)立存在,是具有實(shí)際應(yīng)用價(jià)值的。同時(shí),這一項(xiàng)目的研究也帶動(dòng)了虛擬現(xiàn)實(shí)技術(shù)應(yīng)用的研究。
黃河水利職業(yè)技術(shù)學(xué)院(簡(jiǎn)稱“黃河水院”)是全國(guó)28所首批示范建設(shè)高職院校,于2005年前后,委托校外公司,投入大量經(jīng)費(fèi)制作的以360°全景照片為基本技術(shù),利用漫游大師制作了數(shù)字化校園虛擬漫游系統(tǒng)。但是,因?yàn)槁未髱煴旧硎腔?60°全景照片的方式來(lái)進(jìn)行虛擬漫游展示的,歸根結(jié)底是二維圖片經(jīng)過(guò)軟件模擬的柱體模式或立方體模式顯示的“假”三維,在虛擬漫游的快速移動(dòng)、旋轉(zhuǎn)和切換時(shí)有變形、模糊等瑕疵。所以,我們決定選擇一條真實(shí)的三維模型來(lái)完成三維數(shù)字校園漫游系統(tǒng)的技術(shù)路線。
1.1 研究思路
在三維數(shù)字校園漫游系統(tǒng)的解決方案中,常見的三維數(shù)字校園有基于VRML、OpenGL、X3D、DirectX等各種技術(shù)來(lái)實(shí)現(xiàn)漫游的[3~5]。 縱觀基于VRML、OpenGL、X3D、DirectX等技術(shù)的解決方案,往往是利用3DS MAX制作出模型,然后,在軟件開發(fā)環(huán)境中,通過(guò)編程來(lái)實(shí)現(xiàn)交互與漫游。例如,基于OpenGL的就是在3DS MAX中先完成模型制作,然后結(jié)合Visual Studio編程環(huán)境,在OpenGL中進(jìn)行繪制交互控制,形成真實(shí)的三維效果。但是,由于該方案的后期實(shí)現(xiàn)對(duì)操作者的編程技術(shù)要求高,又不是所見即所得的開發(fā)環(huán)境,開發(fā)成本也較高,不是理想的方案。
本文提出的解決方案的思路來(lái)自于目前流行的三維游戲。筆者在玩三維游戲的時(shí)候,發(fā)現(xiàn)不少大型三維游戲場(chǎng)景制作的非常逼真,運(yùn)行也非常流暢,試想如果可以把三維游戲里設(shè)定的遭遇戰(zhàn)斗情景去掉,把游戲里的虛擬環(huán)境換成現(xiàn)實(shí)中真實(shí)存在的校園實(shí)景,那就實(shí)現(xiàn)了高效平滑的數(shù)字校園漫游。
1.2 方案的擬定
沿著這樣一條線路,筆者通過(guò)查閱網(wǎng)上的文獻(xiàn)資料發(fā)現(xiàn),很多游戲,如,益智游戲《Bad piggies(搗蛋豬)》、射擊游戲《Ballistic》(狂怒射擊)、戰(zhàn)斗游戲《Blade slinger》刀鋒斯林格、《Ravens word》(掠奪之劍)、 第三人稱角色扮演游戲 《Legends of Aethereus》(伊瑟雷斯傳奇)、《City of Steam》(蒸汽之城)等都出自一個(gè)制作平臺(tái)—Untiy 3D游戲開放平臺(tái)。
Unity3D是由Unity Technologies開發(fā)的一個(gè)讓你輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎。Unity類似于Director,Blender game engine,Virtools或 Torque Game Builder等利用交互的圖形化開發(fā)環(huán)境為首要方式的軟件,其編輯器運(yùn)行在Windows和Mac OS X下,可發(fā)布游戲至Windows、Mac、Wii、iPhone和Android平臺(tái),也可以利用Unity web player插件發(fā)布網(wǎng)頁(yè)游戲,支持Mac和Windows的網(wǎng)頁(yè)瀏覽。它的網(wǎng)頁(yè)播放器也被Mac widgets所支持。所以,本文提出了基于3DS MAX建模和Untiy 3D游戲開發(fā)平臺(tái)的三維數(shù)字校園漫游系統(tǒng)的解決方案。
基于3DS MAX建模和Untiy 3D游戲開發(fā)平臺(tái)的三維數(shù)字校園漫游系統(tǒng)的解決方案的前期依然采用3DS MAX建模。因?yàn)?DS MAX應(yīng)用廣泛而且技術(shù)成熟,結(jié)合校園的AutoCAD設(shè)計(jì)圖和實(shí)地采集的地理信息,很容易制作出真實(shí)性好的三維模型。Untiy 3D游戲開發(fā)平臺(tái)是一種基于開源的、組件化的游戲引擎,能夠?qū)崿F(xiàn)一次開發(fā),跨平臺(tái)發(fā)布的效果。最關(guān)鍵的是,它自帶多個(gè)資源包,可以在不做任何編程的情況下開發(fā)出三維數(shù)字校園漫游系統(tǒng)。本項(xiàng)目將3DS MAX中做好的三維模型導(dǎo)出成.FBX格式,然后導(dǎo)入U(xiǎn)ntiy游戲開發(fā)平臺(tái),利用其所見即所得的開發(fā)方式,可以很方便地實(shí)現(xiàn)三維漫游效果。具體實(shí)現(xiàn)過(guò)程包括以下9個(gè)步驟。
2.1 整理CAD圖和其他資源文件
在準(zhǔn)備階段,除了制訂一些項(xiàng)目用的工作規(guī)范之外,重點(diǎn)就是整理CAD圖和其他資源文件。在一些建筑物的CAD規(guī)劃圖中,含有許多不需要的部分,例如圖框、標(biāo)注、綠化部分、填充圖案及其中的字體等。如果這些不刪掉,在導(dǎo)入到3DS MAX時(shí),可能會(huì)遇到一些問(wèn)題。即使不出現(xiàn)問(wèn)題,也可能因?yàn)槲募勘容^大造成3DS MAX死機(jī)。但是,一些基本的建模數(shù)據(jù)必須要保留。
2.2 地理信息實(shí)地采集
一般情況下,建筑物拍攝的基本步驟是:內(nèi)業(yè)編號(hào) (電子數(shù)據(jù))→打印CAD圖紙→拍照并記錄電子照片的順序→內(nèi)業(yè)整理數(shù)據(jù)→提交成果 (電子數(shù)據(jù)和紙質(zhì)地形圖)。因此,首先需要根據(jù)要制作的三維校園的具體情況,對(duì)照CAD工程設(shè)計(jì)圖,逐個(gè)采集各個(gè)建筑物的信息,以及有關(guān)地形信息。如果制作的對(duì)象內(nèi)的建筑物很少,也可以不編號(hào),直接利用建筑物名稱標(biāo)注,按照特定的約定的工作順序(如從南到北,從東到西,順時(shí)針?lè)绞剑┡臄z。
2.3 根據(jù)工程圖紙制作校院地形和建筑物
三維模型的制作分地形制作和建筑物制作2個(gè)大類分組進(jìn)行。在三維地形制作過(guò)程中,需要根據(jù)CAD設(shè)計(jì)圖中的平面圖,并結(jié)合實(shí)地采集的地理信息情況來(lái)完成制作。需要注意的是,地面上的一些“小品”的制作,比如路燈、宣傳欄、垃圾桶、長(zhǎng)廊、戶外電視屏等也是在地形制作組中完成。
在建筑物建模時(shí),需要根據(jù)CAD設(shè)計(jì)圖的平面圖和多張立面圖來(lái)完成整個(gè)三維建筑物的制作,特別是多層建筑,需要根據(jù)情況或客戶要求制作高精度模型或者簡(jiǎn)單模型。不論制作那種模型,都有以下要求:(1)沒(méi)有破面、沒(méi)有翻轉(zhuǎn)面,結(jié)構(gòu)盡量簡(jiǎn)化。(2)底部與地面接觸的面 (也就是坐落在地面上的建筑底面)都應(yīng)該刪除。(3)模型落搭時(shí),相對(duì)被包裹的小面要?jiǎng)h除。(4)刪除模型中重合的面,不然會(huì)造成重疊面在場(chǎng)景中閃爍的情況。(5)為了便于管理和以后合并模型,模型Z軸最低點(diǎn)坐標(biāo)要在0點(diǎn)以上,地面同理。(6)對(duì)模型結(jié)構(gòu)與貼圖坐標(biāo)起不到作用的點(diǎn)和面要?jiǎng)h除,以節(jié)省數(shù)據(jù)量。(7)用面片制作欄桿的模型,用通道貼圖來(lái)表現(xiàn)欄桿的透明效果。
2.4 利用采集的照片制作貼圖
因?yàn)闂l件原因,拍攝的照片有些有變形、色差、透視等不規(guī)范的地方。另外,根據(jù)“做新如新,做舊如舊”的制作原則,在利用P htotshop軟件加工采集實(shí)地照片時(shí),也要加強(qiáng)這兩個(gè)極端的效果。這樣完成的貼圖貼上模型后,才能更好地表現(xiàn)三維虛擬漫游效果。
2.5 利用UV在三維模型上定位貼圖
在3DS MAX中,只能使用標(biāo)準(zhǔn) (Standard)材質(zhì),材質(zhì)類型使用布林(Blinn)材質(zhì)。除漫反射(Diffuse)通道可加貼圖外,其他通道一般不加貼圖,其他參數(shù)采用3DS MAX軟件默認(rèn)設(shè)置。另外,不能在3DS MAX材質(zhì)編輯器中對(duì)貼圖進(jìn)行裁剪對(duì)材質(zhì)的透明度進(jìn)行調(diào)節(jié)。材質(zhì)的透明度依靠貼圖的通道來(lái)實(shí)現(xiàn)。
利用3DS MAX軟件中的UV貼圖坐標(biāo)和貼圖展開等命令,將貼圖定位到所做的模型上,完成整個(gè)模型的制作。在確認(rèn)無(wú)誤后,通過(guò)“塌陷”命令將貼圖固定在模型上。
2.6 審查合并模型,場(chǎng)景制作,導(dǎo)出全部文件
因?yàn)樾薷牡脑皆绯杀驹降?,所以,在整個(gè)場(chǎng)景合模之前,要逐一檢查模型的正確性。確認(rèn)無(wú)誤后,再將模型合并到一個(gè)場(chǎng)景文件中。需要注意的是,在合并過(guò)程中,材質(zhì)的命名不要沖突。另外,因?yàn)槲募容^大,在合并過(guò)程中經(jīng)常保存多個(gè)版本,以防死機(jī)。
完成的場(chǎng)景文件是一個(gè)MAX文件,Untiy 3D游戲開發(fā)平臺(tái)不能接受該文件的。因此,需要將MAX場(chǎng)景文件導(dǎo)出成為FBX文件。如果用的是3DS MAX2009及以前版本,需要安裝一個(gè)FBX插件,反之,直接導(dǎo)出即可。
另外,MAX文件中設(shè)計(jì)的貼圖文件應(yīng)作為相關(guān)文件一起提取,按照要求,存放在一個(gè)單獨(dú)的文件夾,以便導(dǎo)入U(xiǎn)ntiy 3D游戲開發(fā)平臺(tái)。
2.7 導(dǎo)入U(xiǎn)ntiy3D游戲開發(fā)平臺(tái)完成3D效果
創(chuàng)建一個(gè)Untiy 3D工程文件,保存后會(huì)自動(dòng)創(chuàng)建一個(gè)文件夾。退出Untiy 3D軟件后,將導(dǎo)出的FBX文件及其相關(guān)的map貼圖文件所在的文件夾一起復(fù)制到Assets文件夾中,再次啟動(dòng)Untiy 3D軟件,會(huì)自動(dòng)讀取該文件夾內(nèi)的資源,自動(dòng)導(dǎo)入工程文件。也可以利用軟件中的導(dǎo)入命令逐一導(dǎo)入。
在合并模型時(shí),如果把建筑物和地形合并在一起,導(dǎo)出的FBX文件導(dǎo)入U(xiǎn)ntiy 3D軟件后,就不需要單獨(dú)制作地形和擺放建筑物了。如果沒(méi)有全部合并在一起,在導(dǎo)入時(shí),就需要導(dǎo)入多個(gè)FBX文件,然后,根據(jù)CAD設(shè)計(jì)圖,在Untiy 3D平臺(tái)上完成場(chǎng)景合并。
一個(gè)完美的虛擬現(xiàn)實(shí)三維漫游系統(tǒng)除了準(zhǔn)確的模型,逼真的材質(zhì)以外,還有很多環(huán)境方面的設(shè)置需要做:比如天空的添加、燈光的添加、綠色植物的設(shè)置,以及水面效果的設(shè)置等等。完成了這些設(shè)置才能使得最終的三維漫游系統(tǒng)更完美。
2.8 添加第一人稱角色漫游
為了實(shí)現(xiàn)漫游效果,可以添加調(diào)用Untiy 3D游戲平臺(tái)提供的第一人稱角色漫游資源包。如果需要,也可以添加調(diào)用第三人稱角色漫游資源包。這個(gè)功能是Untiy 3D平臺(tái)自帶的,實(shí)現(xiàn)起來(lái)很方便。具體操作步驟為:
打開“資源”菜單下的“導(dǎo)入資源包”選項(xiàng)中的相應(yīng)命令,導(dǎo)入“角色控制器”。在對(duì)應(yīng)的窗口中選擇“第一人稱角色”,并將其拖放到場(chǎng)景中,單擊“層級(jí)”面板中的對(duì)應(yīng)選項(xiàng),可以看到其下包含的“Graphics”(圖形,就是那個(gè)膠囊狀的輔助物體)和“Main Camera”(主攝像機(jī))兩個(gè)子項(xiàng)。由于這個(gè)角色是膠囊狀的,在形成系統(tǒng)渲染后,是看不見的,只是通過(guò)其上的主攝像機(jī)模擬第一人稱角色人眼看到的景象。它的控制是由游戲平臺(tái)設(shè)定好的,用鼠標(biāo)控制運(yùn)動(dòng)方向,用鍵盤上的上下左右鍵控制行走。
2.9 調(diào)試、輸出構(gòu)建應(yīng)用系統(tǒng)
選擇輸出載體、系統(tǒng)環(huán)境、媒體文件類型。在外界環(huán)境搭建完成情況下,可以輸出跨平臺(tái)、多格式、多選擇的應(yīng)用系統(tǒng),可以實(shí)現(xiàn)一鍵部署到桌面。一般情況下,可以選擇Windows系統(tǒng)下的x86(32位)模式下的漫游系統(tǒng)模式,也可以選擇基于Web或者Android等系統(tǒng)下的相應(yīng)模式。
基于3DS MAX建模和UNTIY 3D游戲開發(fā)平臺(tái)的三維數(shù)字校園漫游系統(tǒng)的解決方案可以成功解決黃河水院數(shù)字化校園的虛擬現(xiàn)實(shí)三維漫游問(wèn)題。同樣,也可以通過(guò)一些改進(jìn),用于解決精品資源共享課程中的虛擬實(shí)驗(yàn)室,虛擬實(shí)訓(xùn)場(chǎng)和導(dǎo)游訓(xùn)練的虛擬場(chǎng)景的創(chuàng)建,還可以用于房地產(chǎn)營(yíng)銷,生成低成本的網(wǎng)上樓盤展示系統(tǒng);用于文物估計(jì)展示;做成網(wǎng)上數(shù)字博物館。如果利用該平臺(tái)內(nèi)嵌JAVA或C++代碼,掛接Access數(shù)據(jù)庫(kù)或SQL Server數(shù)據(jù)庫(kù),更可進(jìn)行二次開發(fā),實(shí)現(xiàn)信息查詢和管理等功能。
[1]陳誠(chéng).三維校園的開發(fā)與設(shè)計(jì)即全景校園虛擬漫游技術(shù)的實(shí)現(xiàn)[D].武漢:武漢科技大學(xué),2010.
[2]賴亮鑫.廣東女子學(xué)院數(shù)字校園系統(tǒng)的構(gòu)建與技術(shù)實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.
[3]邱有春.虛擬校園場(chǎng)景建模和漫游系統(tǒng)實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.
[4]徐健,方朝陽(yáng),高丹,等.江西師范大學(xué)人文生態(tài)校園虛擬仿真系統(tǒng) [J].電腦知識(shí)與技術(shù),2014(04):813-817.
[5]張曉宇.數(shù)字校園漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2013.
[責(zé)任編輯 楊明慶]
TP393.18
B
1008-486X(2015)02-0052-03
2015-01-05
黃河水利職業(yè)技術(shù)學(xué)院軟科學(xué)青年基金項(xiàng)目:黃河水院數(shù)字化校園之虛擬校園漫游系統(tǒng)方案研究(2012RKXB002)。
姜 銳(1971-),男,浙江湖州人,講師,主要從事計(jì)算機(jī)多媒體技術(shù)教學(xué)與研究工作。