潘仟喜 郭斌 楊樹媛 吳童 劉丹 黃海鯤 曾澤坤
摘要:隨著科學(xué)技術(shù)的發(fā)展,部分高校利用虛擬技術(shù)來(lái)構(gòu)建虛擬校園漫游系統(tǒng),該系統(tǒng)通過(guò)3D虛擬技術(shù)模擬校園的真實(shí)建筑,從而達(dá)到虛擬校園漫游的效果。項(xiàng)目實(shí)踐過(guò)程中,首先對(duì)校園的全貌進(jìn)行深入了解,然后利用3Dmax技術(shù)對(duì)校園中的各種建筑物進(jìn)行建模,并通過(guò)實(shí)景采樣來(lái)提高模型的真實(shí)感。最后利用Unity3D技術(shù)實(shí)現(xiàn)場(chǎng)景交互,并通過(guò)模擬仿真構(gòu)建了一個(gè)具有沉浸感和交互性的虛擬漫游系統(tǒng),從而使用戶做到足不出戶便可漫游校園,同時(shí)擁有一種身臨其境的感覺。
關(guān)鍵詞:建筑渲染;虛擬漫游;3Dmax;Unity3D
中圖分類號(hào):TP399 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)13-0099-03
1引言
近些年來(lái),我國(guó)對(duì)于3D建模的運(yùn)用越來(lái)越廣泛,在三維創(chuàng)作上也有了突飛猛進(jìn)的進(jìn)步,在各個(gè)領(lǐng)域都占據(jù)了很大的空間[1]。目前,三維立體模型的制作以及引擎的運(yùn)用還有很多的提升空間。從我國(guó)的3D游戲和3D動(dòng)漫展來(lái)看,3D虛擬場(chǎng)景正在我國(guó)慢慢崛起,并且也有很多的學(xué)校和景區(qū)已經(jīng)運(yùn)用了虛擬場(chǎng)景漫游技術(shù)[2]。另外有很多公司將其公司的三維立體模型放入公司官網(wǎng),使得用戶可以以第一人稱的視角對(duì)公司進(jìn)行全部的了解,并且從公司展示的角度滿足企業(yè)多方面宣傳的需求。將3D虛擬場(chǎng)景技術(shù)運(yùn)用到3D交互領(lǐng)域,不僅可以復(fù)刻,還可以進(jìn)行虛擬的三維立體模型的制作使得現(xiàn)實(shí)和虛擬有一個(gè)更好的交融,讓用戶可以在虛擬場(chǎng)景中有一個(gè)非常好的觀感體驗(yàn)。作為三維模型的拓展,現(xiàn)代VR、AR技術(shù)的性能也日益凸顯,可以讓用戶有更加身臨其境的體驗(yàn)[3]。
虛擬校園漫游系統(tǒng)在校園建設(shè)中扮演著很重要的一環(huán),對(duì)每棟建筑的外觀設(shè)計(jì)和3D建模不僅可以提高學(xué)校的公眾認(rèn)可度,還可以作為校園管理和科學(xué)管理的支持系統(tǒng)[4]。本系統(tǒng)利用3DMAX、Substance Painter、PhotoShop、Unity3D等軟件完成模型從平面到立體的構(gòu)建,并實(shí)現(xiàn)校園場(chǎng)景漫游功能。
2虛擬漫游場(chǎng)景框架設(shè)計(jì)
虛擬漫游場(chǎng)景包括虛擬三維場(chǎng)景和虛擬人物,用戶可以使用鍵盤或鼠標(biāo)等輸入設(shè)備控制人物在場(chǎng)景中移動(dòng)。其可以分為三個(gè)模塊,分別為場(chǎng)景、視圖和圖形。觀察者可以從多個(gè)視圖觀看一個(gè)場(chǎng)景,而其中的場(chǎng)景又包括了很多的圖形。場(chǎng)景可以為大量圖形的處理提供接口,并且可以輸出每一個(gè)圖形。場(chǎng)景也可以管理圖形的當(dāng)前狀態(tài)并顯示其渲染畫面。視圖表示場(chǎng)景中的可視化內(nèi)容,為功能和場(chǎng)景建立交互。從鍵盤或鼠標(biāo)接收事件之后,會(huì)發(fā)送這些事件到場(chǎng)景從而完成相應(yīng)功能轉(zhuǎn)化。圖形主要支持對(duì)鼠標(biāo)事件和鍵盤事件的處理,為其在場(chǎng)景中活動(dòng)也提供了碰撞檢測(cè)的功能和交互功能。
以上的模塊需要通過(guò)坐標(biāo)建立聯(lián)系,坐標(biāo)又可以分為場(chǎng)景坐標(biāo)、視圖坐標(biāo)和圖形坐標(biāo)。場(chǎng)景坐標(biāo)是基礎(chǔ)坐標(biāo),而圖形坐標(biāo)和視圖坐標(biāo)分別對(duì)應(yīng)在每一個(gè)圖形和視圖單位之中。這三類坐標(biāo)可以映射出場(chǎng)景、視圖和圖像三者之間的聯(lián)系。虛擬漫游場(chǎng)景系統(tǒng)設(shè)計(jì)框架如圖1所示。
3系統(tǒng)功能
本系統(tǒng)虛擬漫游場(chǎng)景包含了瀏覽校園、導(dǎo)航校園和了解校園的功能,用戶可以在場(chǎng)景中完成虛擬漫游。瀏覽校園是在場(chǎng)景中將校園的三維模型刻畫出來(lái),并且按照其地理位置,將每一個(gè)建筑物的坐標(biāo)和方向都確定了下來(lái)[5]。用戶可以在場(chǎng)景中控制設(shè)定的人物來(lái)控制人稱視角的轉(zhuǎn)換,通過(guò)移動(dòng)來(lái)完成瀏覽校園的目的。導(dǎo)航校園通過(guò)對(duì)校園地圖的繪制和建模,可以讓用戶通過(guò)點(diǎn)擊導(dǎo)航按鈕選擇某一地點(diǎn),系統(tǒng)中便會(huì)出現(xiàn)該地點(diǎn)名稱,隨后場(chǎng)景中會(huì)顯示出一條通往該地點(diǎn)的箭頭為用戶導(dǎo)航。了解校園功能是通過(guò)突出每一棟建筑的建筑風(fēng)格和特性中體現(xiàn)出來(lái)的,用戶通過(guò)導(dǎo)航到達(dá)建筑物時(shí),會(huì)有介紹當(dāng)前建筑物的彈窗出現(xiàn),從而可以讓用戶了解該建筑物的歷史與文化,加深對(duì)整個(gè)校園的認(rèn)識(shí)。系統(tǒng)功能框圖如圖2所示。
3.1 交互功能模塊
模型交互功能通過(guò)Unity3D軟件實(shí)現(xiàn)。在場(chǎng)景之中加入重力引擎、剛體組件等,使其更加真實(shí)地模擬現(xiàn)實(shí)場(chǎng)景,碰到建筑物的時(shí)候會(huì)有碰撞效果[6]。在虛擬場(chǎng)景之中當(dāng)人物到達(dá)某一建筑物時(shí),彈出信息模塊展示此時(shí)眼前的建筑物的基本信息,讓用戶可以更好地去了解這棟建筑物。場(chǎng)景中還展示了用戶想要循跡的路線以及系統(tǒng)為用戶規(guī)劃好的路線,避免因?yàn)槌莱霈F(xiàn)踩踏草坪的情況,讓新用戶以更全面更文明的方式去了解校園。
對(duì)于人物移動(dòng)方面,采用常見的鍵盤移動(dòng)的方法進(jìn)行移動(dòng),具體使用KEYCODE功能來(lái)實(shí)現(xiàn),用NavMeshAgent組件完成導(dǎo)航系統(tǒng)[7]。交互更多體現(xiàn)在導(dǎo)航和按鈕之間,例如根據(jù)鼠標(biāo)的點(diǎn)擊事件顯示出相應(yīng)的數(shù)據(jù)以及完成相關(guān)的功能。程序中根據(jù)按鈕交互控制單獨(dú)的導(dǎo)航系統(tǒng),每一個(gè)按鈕都對(duì)應(yīng)一個(gè)導(dǎo)航目標(biāo),位置不同的導(dǎo)航按鈕是分別控制顯示那些地點(diǎn)按鈕的控制器,而地點(diǎn)按鈕控制器又控制導(dǎo)航路線的規(guī)劃,從而實(shí)現(xiàn)導(dǎo)航和按鈕之間的交互。按鈕交互界面如圖4所示。
3.2 導(dǎo)航功能
使用LineRenderer組件實(shí)現(xiàn)線路規(guī)劃功能,并且在繪制選擇點(diǎn)到目標(biāo)位置的路徑時(shí),系統(tǒng)將向下投射,以獲得底部的導(dǎo)航網(wǎng)格點(diǎn),這樣在用戶移動(dòng)位置之后也可以完成導(dǎo)航路線的更新。在腳本中繪制物理射線驗(yàn)證目標(biāo)位置和Player的起始位置就可以判斷出用戶走的路線是何種情況。
導(dǎo)航功能實(shí)現(xiàn)是使用的NavmeshPathDraw組件,在該組件中完成路線導(dǎo)航需要搭配LineRenderer組件,這是一個(gè)Unity中自帶的畫線組件,隨后在程序中將自己導(dǎo)航路徑實(shí)例化之后顯示出來(lái)。同樣,每一幀都會(huì)運(yùn)算LineRenderer組件,并輸出返回值,以便達(dá)到導(dǎo)航的精準(zhǔn)性。導(dǎo)航界面如圖5所示。
4系統(tǒng)實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)首先要對(duì)學(xué)校的建筑物進(jìn)行拍攝取景,將三維建筑物拍攝為二維建筑物[8],然后根據(jù)2D建筑的輪廓繪制3D虛擬建筑,再通過(guò)Unity3D來(lái)實(shí)現(xiàn)多個(gè)三維虛擬建筑的交互場(chǎng)景,并通過(guò)程序控制每一個(gè)三維圖形。
4.1 數(shù)據(jù)收集
系統(tǒng)實(shí)現(xiàn)要做大量數(shù)據(jù)收集工作,主要包括拍攝學(xué)校地圖的每一棟建筑物,并且計(jì)算出來(lái)其相對(duì)應(yīng)的尺寸,完善每一處細(xì)節(jié),讓用戶可以更加直觀地觀看到其內(nèi)容。有些細(xì)節(jié)可能在平時(shí)很少能注意到,但是當(dāng)真正要去實(shí)現(xiàn)模型的時(shí)候也是要非常認(rèn)真地檢查,所以所有細(xì)節(jié)可能都會(huì)被放大。對(duì)各個(gè)建筑物進(jìn)行實(shí)地拍照,可以保證實(shí)現(xiàn)1:1最真實(shí)的還原[9]。與此同時(shí)也要保證數(shù)據(jù)的偏差不能太大,如果觀察到拍攝的數(shù)據(jù)有誤,后期必須做出及時(shí)的調(diào)整。
4.2 數(shù)據(jù)處理
在數(shù)據(jù)處理方面,先使用3DMAX進(jìn)行基礎(chǔ)建模,之后進(jìn)一步建模建筑細(xì)節(jié),對(duì)于收集到的樣本信息,會(huì)選擇清晰度高、距離更近的信息[10]。材質(zhì)方面選擇3DMAX中的UV展開圖,隨后使用PS導(dǎo)出模型法線貼圖以及ID貼圖在Substance Painter中完成建模。圖6為校園圖書館的細(xì)節(jié)圖。
上述步驟完成單個(gè)建筑模型的處理和構(gòu)建,在構(gòu)建完所有模型時(shí)將其同時(shí)導(dǎo)入到Unity 3D中進(jìn)行匯總編程工作。首先獲取學(xué)校校園的2D平面地理圖,然后根據(jù)平面圖鋪設(shè)出學(xué)校整體樣貌,最后進(jìn)行綠化處理,增加場(chǎng)景的現(xiàn)實(shí)感,這里采用的是第三視角的方式來(lái)瀏覽新疆農(nóng)業(yè)大學(xué)。圖7~圖10顯示校園圖書館的虛擬構(gòu)建過(guò)程和結(jié)果。
4.3 系統(tǒng)后期處理
在系統(tǒng)后期處理階段,事先將所有的美化工作完成,避免出現(xiàn)快速度、快轉(zhuǎn)向、人物與建筑比例不符等問(wèn)題。注意將人物與建筑物的比例控制在合適的比例,本系統(tǒng)選擇微軟系統(tǒng)程序的打開方式,通過(guò)Unity導(dǎo)出可執(zhí)行程序使其獨(dú)立成為軟件,并不會(huì)像在Unity中運(yùn)行那樣消耗太多性能。獨(dú)立運(yùn)行時(shí)其細(xì)節(jié)以及操作響應(yīng)事件的程序都保留了下來(lái),并且事先控制的交互界面也會(huì)保留。系統(tǒng)步驟及界面設(shè)計(jì)如圖10、圖11所示。
5結(jié)束語(yǔ)
近些年3D項(xiàng)目已經(jīng)慢慢普及到千家萬(wàn)戶,相對(duì)應(yīng)的就是Unity3D的使用,它可以最大限度地完成所設(shè)定的想法。而對(duì)于國(guó)內(nèi)AR、VR技術(shù)的普及,3D交互已經(jīng)取得了很大的成就,所以在當(dāng)下的環(huán)境中更應(yīng)該去推廣3DMAX以及Unity3D。本系統(tǒng)的特點(diǎn)在于使用虛擬表現(xiàn)出現(xiàn)實(shí),并把學(xué)校環(huán)境資源進(jìn)行特定的分析。通過(guò)此方法開發(fā)出的漫游系統(tǒng)與模型,將學(xué)校的多數(shù)建筑與環(huán)境,完整地復(fù)制在場(chǎng)景當(dāng)中,使不同類型的用戶不受限于時(shí)間與空間便可以漫游校園。本系統(tǒng)的技術(shù)開發(fā)與設(shè)計(jì)以校園環(huán)境為平臺(tái),借助于豐富便利的實(shí)體觀測(cè)與考察,最終實(shí)現(xiàn)了以新疆農(nóng)業(yè)大學(xué)為載體的三維漫游的系統(tǒng),為其他三維場(chǎng)景的設(shè)計(jì)與建設(shè)提供一定的借鑒意義。
參考文獻(xiàn):
[1] 李順娟.虛擬校園建模與漫游技術(shù)分析[J].無(wú)線互聯(lián)科技,2021,18(2):10-12.
[2] 李樊.基于虛擬現(xiàn)實(shí)技術(shù)的3D游戲場(chǎng)景設(shè)計(jì)研究[J].科學(xué)大眾(科學(xué)教育),2019(2):194.
[3] 宋澤軍,柯紅紅.基于VR技術(shù)的虛擬校園漫游系統(tǒng)開發(fā)[J].產(chǎn)業(yè)科技創(chuàng)新,2020,2(4):40-41.
[4] 李珍,于海東.在Unity3D技術(shù)基礎(chǔ)上構(gòu)建虛擬校園漫游系統(tǒng)的研究[J].電腦編程技巧與維護(hù),2021(7):144-146.
[5] 李倩.虛擬現(xiàn)實(shí)技術(shù)在虛擬校園漫游系統(tǒng)中的應(yīng)用研究[D].杭州:浙江工業(yè)大學(xué),2012.
[6] 曾貞.Unity3D物理引擎中剛體組件在AR碰撞設(shè)計(jì)中的運(yùn)用[J].信息與電腦(理論版),2019,31(23):101-103.
[7] 馬曉萍.基于NavMeshAgent系統(tǒng)的Trigger自動(dòng)門設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2021,50(10):14-15.
[8] 王穆一雄,吳政漾,張新秀,等.校園建筑物三維可視化查詢系統(tǒng)研究與開發(fā)[J].蘭州交通大學(xué)學(xué)報(bào),2013,32(1):120-123.
[9] 李俊軍.基于Unity3D的室內(nèi)建筑三維建模與交互系統(tǒng)實(shí)現(xiàn)[D].徐州:中國(guó)礦業(yè)大學(xué),2014.
[10] 吳婧,馮永忠,劉軍.基于3D MAX的建筑建模[J].甘肅科技,2015,31(1):119-120.
【通聯(lián)編輯:謝媛媛】