袁涌
摘要:虛擬校園漫游系統(tǒng)是當(dāng)今校園發(fā)展和更新的重要舉措,也是當(dāng)前狀況下各高校宣傳自身必不可少的平臺,對推進(jìn)校園的現(xiàn)代化管理水平和提升學(xué)校知名度也起到了積極的促進(jìn)作用。通過以開發(fā)湖北理工學(xué)院虛擬校園漫游系統(tǒng)為例,論述了開發(fā)虛擬校園漫游系統(tǒng)的方法和步驟。利用3DsMax建立三維模型,對建筑模型進(jìn)行貼圖,再將模型導(dǎo)入U(xiǎn)nity3D進(jìn)行漫游系統(tǒng)的開發(fā),逐步實(shí)現(xiàn)虛擬校園漫游系統(tǒng)。
關(guān)鍵詞:虛擬校園;3DsMax;Unity3D
中圖分類號:TP319 ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)24-0023-03
1背景
自20世紀(jì)90年代以來,國內(nèi)高校紛紛對校園網(wǎng)加大建設(shè)力度,并以校園網(wǎng)為依托開發(fā)應(yīng)用形式多種多樣的管理信息系統(tǒng)用于學(xué)校日常管理和教學(xué)管理,開啟了我國高校校園數(shù)字化的進(jìn)程。2002年5月,在中山大學(xué)舉行了高校數(shù)字化校園建設(shè)工作研討會,標(biāo)志著我國高校數(shù)字化校園建設(shè)進(jìn)入一個嶄新的階段。隨著網(wǎng)絡(luò)技術(shù)和虛擬現(xiàn)實(shí)技術(shù)的發(fā)展,人們對于校園在網(wǎng)絡(luò)上的展示也不滿足于僅僅以平面圖形或圖片的形式,而提出了以三維物體的形式來展示校園。虛擬校園逐步出現(xiàn)在人們的視野中,并成了校園數(shù)字化的過程中一個重要的建設(shè)問題。建設(shè)虛擬校園對于各個高校擴(kuò)大其知名度和拓展高校功能起到了建設(shè)性的作用。
2國內(nèi)外現(xiàn)狀概況和發(fā)展趨勢
在如今互聯(lián)網(wǎng)絡(luò)遍布全球的時(shí)代,虛擬校園已經(jīng)成為各個大學(xué)在校園數(shù)字化發(fā)展過程中的一個重點(diǎn)建設(shè)問題,對于學(xué)校的管理和對外宣傳都會起到不可或缺的作用。
國外的高校一向都很重視虛擬校園的建設(shè)。1999年10月,瑞士聯(lián)邦兩院正式通過了《瑞士大學(xué)2000—2003年發(fā)展計(jì)劃》。在2000—2003年期間,瑞士聯(lián)邦政府將以特別財(cái)政補(bǔ)貼方式為州立大學(xué)撥款3000萬瑞郎,以鼓勵在高等教育領(lǐng)域應(yīng)用新的信息與通信技術(shù),建立“瑞士虛擬校園”[1]。土耳其的伊斯坦布爾大學(xué)早在2002年前后就已經(jīng)開始著手以VRML作為工具建立應(yīng)用虛擬校園,如圖1所示。新加坡南洋理工大學(xué)在網(wǎng)絡(luò)上建立起了虛擬校園,進(jìn)入虛擬校園的用戶可以選擇成為自己心目中的各式人物或者其他的任何物品,比如一輛跑車。這大大增加了虛擬校園的趣味性和用戶的自主性。在虛擬校園內(nèi)部,虛擬人物可以相互之間交流。老師更是可以利用建立起來的虛擬教室和學(xué)生進(jìn)行交流溝通,學(xué)生可以自主選擇需要學(xué)習(xí)的課程來進(jìn)行學(xué)習(xí)。
在國內(nèi)現(xiàn)在很多大學(xué)都已經(jīng)有了自己的虛擬校園平臺。1996年天津大學(xué)以VRML國際標(biāo)準(zhǔn)為準(zhǔn)則,基于SGI硬件平臺,開發(fā)出了虛擬校園,這是國內(nèi)最早涉足虛擬校園的高校之一。隨著網(wǎng)絡(luò)時(shí)代的來臨,北京大學(xué)、清華大學(xué)、上海交通大學(xué)、浙江大學(xué)等國內(nèi)著名高校開始在校園網(wǎng)內(nèi)建設(shè)虛擬校園系統(tǒng),使得學(xué)生可以在網(wǎng)上瀏覽學(xué)校各景點(diǎn)和建筑,如下圖2所示。近幾年來各高校虛擬校園系統(tǒng)不再局限于校園網(wǎng)內(nèi),而是在更加開放的互聯(lián)網(wǎng)平臺上,虛擬校園系統(tǒng)的受眾面也更加的廣泛。
但是這些三維虛擬校園大多都不是完全的3D顯示,從嚴(yán)格意義上說,只能算作是2.5D。本系統(tǒng)應(yīng)用3DSMAX和Unity3d結(jié)合的方式,開發(fā)出面向3D的虛擬校園仿真系統(tǒng)。
3D Studio Max,常簡稱為3d Max或3ds MAX,是Discreet公司開發(fā)的(后被Autodesk公司合并)基于PC系統(tǒng)的三維動畫渲染和制作軟件。其前身是基于DOS操作系統(tǒng)的3D Studio系列軟件[2-3],現(xiàn)在最新版本是3ds max 2020。
Unity3D是由Unity Technologies開發(fā)的一個讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動畫等類型互動內(nèi)容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。Unity3d利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件。其編輯器可運(yùn)行在Windows、Linux(目前僅支持Ubuntu和Centos發(fā)行版)以及Mac OS X下[4]。
3開發(fā)流程
開發(fā)流程涉及模型的制作和導(dǎo)入U(xiǎn)nity3d中實(shí)現(xiàn)漫游。
建模包括建筑模型和地形制作,第一步是提取建筑物貼圖的資料,需要對實(shí)際校園里的建筑物進(jìn)行拍照以收集數(shù)據(jù),并將這些照片進(jìn)行提煉以形成對應(yīng)建筑物的貼圖材質(zhì)。第二步是完成建筑物的3d模型構(gòu)建,以校園內(nèi)實(shí)際建筑物為原型,應(yīng)用3Ds Max軟件構(gòu)建出虛擬校園系統(tǒng)中建筑物的3d模型。第三步是將第一步得到的貼圖加載到建筑物的3d模型上,得到實(shí)景的3d建筑模型,并將其導(dǎo)出為.fbx格式文件存儲,從而完成建筑物模型的制作。
隨后進(jìn)行全面的校園地形數(shù)據(jù)采集,利用Unity3D進(jìn)行地形制作。并在校園地形的基礎(chǔ)上,對各處有特色的場景單獨(dú)拍照,從而得到實(shí)景地形。在實(shí)景地形上進(jìn)行3d建筑模型擺放,最后進(jìn)行發(fā)布即可。整個開發(fā)流程如下圖3所示。
4三維建模和實(shí)景地形生成技術(shù)重點(diǎn)
首先要對學(xué)校的各個主要建筑物進(jìn)行拍照采集資料。由于受建筑物高度、拍攝距離及相機(jī)自身成像特點(diǎn)的影響,拍攝的相片往往會比例失調(diào)或有一定量的畸變, 需要使用圖形處理軟件Photoshop對每張圖片進(jìn)行處理, 如用自由變換把比例失調(diào)的圖片拉正,去除圖片中的雜物等[5-6]。
在3Ds Max中需要對照著圖紙描繪出建筑物的外形再進(jìn)行拉伸變形之類的處理即可,因?yàn)閷W(xué)校建筑外形都比較規(guī)則,所以只需要避免出現(xiàn)錯面就可以完成三維實(shí)景的建模。但這是一個需要大量精力投入的細(xì)致事項(xiàng),在完成期間一定要保證認(rèn)真仔細(xì)。
模型完成后,就需要將前期處理好的紋理圖片貼到模型各個外墻面上。紋理貼上去后,有可能出現(xiàn)貼圖與模型面不一致的情況,這時(shí)就要手動調(diào)整UVW坐標(biāo)的方式,使二者相互吻合。還有一點(diǎn)需要注意的就是,由于貼圖在拍攝的時(shí)候光照等外部條件不一樣,從而導(dǎo)致貼圖在色調(diào)等方面不一致。所以在貼圖之前需要利用圖像處理軟件將紋理圖片的色調(diào)等調(diào)整一致。
貼圖完成后還需要進(jìn)行燈光的調(diào)整,以使得模型更加的逼真,我們可以采用經(jīng)典的三點(diǎn)光源來進(jìn)行燈光的調(diào)整。如圖4所示的教學(xué)樓和學(xué)校大門。
將已經(jīng)建好的各個模型以.FBX格式導(dǎo)出,再將此文件導(dǎo)入到Unity 3D中。然后采用Unity 3D自帶的地形生成工具,并在校園地形的基礎(chǔ)上,對各處有特色的場景單獨(dú)拍照,進(jìn)而得到實(shí)景地形。將在分別得到實(shí)景的3d建筑模型和實(shí)景地形之后,要將實(shí)景的3d建筑模型導(dǎo)入到Unity3D中的實(shí)景地形上,這時(shí)就可以開始對建筑物進(jìn)行擺放在對應(yīng)位置上并對其進(jìn)行光照渲染,最后應(yīng)用Unity3D的發(fā)布平臺將該漫游系統(tǒng)發(fā)布在計(jì)算機(jī)上。
5 Unity3d實(shí)現(xiàn)漫游
完成上述步驟后就可以在Unity3D中設(shè)計(jì)虛擬校園場景交互,用戶可以通過采用如鍵盤、鼠標(biāo)之類的簡單輸入設(shè)備操縱虛擬角色在學(xué)校場景中游覽,體驗(yàn)網(wǎng)上虛擬漫游校園。
5.1碰撞檢測的實(shí)現(xiàn)
碰撞檢測(Collision Detection)也稱作接觸檢測或干涉檢測,主要是避免在虛擬系統(tǒng)中出現(xiàn)運(yùn)動物體穿過墻壁、穿越山體等障礙物,其中采用的技術(shù)要點(diǎn)是對物體在運(yùn)動過程中可能與其他運(yùn)動物體或障礙物出現(xiàn)的碰撞進(jìn)行檢測。
在高校漫游系統(tǒng)中,需要處理漫游人物不能穿墻而過,這就需要碰撞檢測到漫游人物與不能通過的建筑或者地形相遇時(shí),要限制通行。要產(chǎn)生碰撞必須為漫游人物添加剛體和碰撞器,剛體可以讓物體在物理影響下運(yùn)動。剛體和碰撞器結(jié)合在一起添加到漫游對象上才有可能觸發(fā)碰撞檢測。兩個以上的對象在有碰撞體存在的前提下,物理引擎才會對碰撞進(jìn)行計(jì)算。如果對剛體不設(shè)置碰撞體,這類剛體會直接穿過。
觸發(fā)器的設(shè)置在Unity3D中是通過在檢視面板中的碰撞器組件中勾選IsTrigger屬性選擇框完成。Unity3d中,主要有觸發(fā)信息檢測和碰撞信息檢測兩類接口函數(shù)來處理對應(yīng)的兩種碰撞檢測。如下表1和表2所示。
上述兩表中的六個接口函數(shù)都是MonoBehaviour的函數(shù),可以通過重寫這六個函數(shù)來實(shí)現(xiàn)虛擬系統(tǒng)中實(shí)際的要求。
5.2虛擬漫游
虛擬漫游是系統(tǒng)的重要模塊,通過虛擬漫游可以讓用戶充分感受到校園的3D美景,本文采用自動漫游的方式帶領(lǐng),系統(tǒng)會帶領(lǐng)用戶按照預(yù)定的瀏覽路線進(jìn)行游覽,自動對整個校園3D美景進(jìn)行游覽。在自動漫游中,由于路線是預(yù)先設(shè)定好的,所以用戶可以不受外界一切干擾,只需要跟隨當(dāng)前的路線欣賞學(xué)校景色。
對于學(xué)校幾個較重要的景點(diǎn),漫游系統(tǒng)到了景點(diǎn)后會暫停下來,系統(tǒng)會彈出一個對話框介紹該景點(diǎn)的相關(guān)信息,也可以選擇視頻文件進(jìn)行播放,從而了解更加具體的細(xì)節(jié)。
6結(jié)束語
校園虛擬系統(tǒng)通過前期的各個階段設(shè)計(jì)與實(shí)現(xiàn)和對系統(tǒng)的內(nèi)部測試檢驗(yàn),達(dá)到了預(yù)期的設(shè)計(jì)效果,場景展示效果逼真、用戶沉浸度較高、建筑模型高擬真度,為校園虛擬系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)提供了一個3D沉浸式解決方案。
基于今年的疫情,像以往大規(guī)模的聚集進(jìn)行學(xué)校招生宣傳不再可行,在線虛擬漫游校園將成為各個高校引領(lǐng)外界了解校園的主要方式,也是各高校宣傳自身必不可少的平臺,對推進(jìn)校園的現(xiàn)代化管理水平和提升學(xué)校知名度也起到了積極的促進(jìn)作用。
參考文獻(xiàn):
[1] 牟萍. 虛擬校園建模、漫游技術(shù)研究及其實(shí)踐[D]. 重慶: 重慶師范大學(xué), 2006.
[2] 王靖. 基于Unity3D礦山虛擬現(xiàn)實(shí)系統(tǒng)開發(fā)研究[D]. 西安: 西安建筑科技大學(xué), 2018.
[3] 陽菲,賀細(xì)平, 何俊鋒. 基于VR與TTS的沉浸式虛擬校園向?qū)到y(tǒng)設(shè)計(jì)[J]. 電腦與信息技術(shù), 2018, 26(4): 56-58.
[4]百度百科[EB/OL].[2019-12-20] https://baike.baidu.com/item/Unity3D/3064002?fromtitle=unity%203d&fromid=1888878&fr=aladdin.
[5] 陳濤, 田海晏,岑學(xué)學(xué), 等. 三維校園虛擬現(xiàn)實(shí)研究[J]. 北京石油化工學(xué)院學(xué)報(bào), 2010, 18(2): 45-49.
[6] 孟祥增,馬萍,劉瑞梅.三維虛擬場景的創(chuàng)設(shè)與立體播放[J].中國電化教育,2011(8):125-128.
【通聯(lián)編輯:謝媛媛】