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