唐云龍 陳平
摘?要:5G及網(wǎng)絡(luò)通信技術(shù)的飛速發(fā)展,在我國(guó)越來(lái)越多的學(xué)校選擇將線下的校園實(shí)地游覽通過(guò)虛擬現(xiàn)實(shí)技術(shù),在互聯(lián)網(wǎng)上進(jìn)行學(xué)校校園風(fēng)光的虛擬漫游。針對(duì)這種形勢(shì),本文從需求分析、設(shè)計(jì)、實(shí)現(xiàn)等過(guò)程詳細(xì)描述校園虛擬漫游系統(tǒng)的設(shè)計(jì)過(guò)程和關(guān)鍵技術(shù)。以安徽省某高職院校制作校園虛擬漫游系統(tǒng)為例,在平臺(tái)上,選擇運(yùn)行效率更高、維護(hù)更方便的unity3d平臺(tái),通過(guò)細(xì)化系統(tǒng)架構(gòu)設(shè)計(jì),運(yùn)用3dsmax建模軟件技術(shù)制作場(chǎng)景中的模型,使用C#和JavaScript語(yǔ)言實(shí)現(xiàn)人機(jī)交互,最終以html進(jìn)行融合導(dǎo)出,完成校園虛擬漫游系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)。系統(tǒng)經(jīng)過(guò)測(cè)試和優(yōu)化,能夠滿足學(xué)生使用,解決了因帶寬不足帶來(lái)用戶訪問(wèn)流暢度不足的問(wèn)題。在校園虛擬漫游系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)中,通過(guò)比較選擇主流的3ds?max軟件進(jìn)行建模,使用unity?3d平臺(tái)實(shí)現(xiàn)人機(jī)交互,再結(jié)合網(wǎng)頁(yè)進(jìn)行輸出,可以設(shè)計(jì)、實(shí)現(xiàn)以展示校園風(fēng)光和建筑物為目的的虛擬漫游系統(tǒng),同時(shí)在建模、交互設(shè)計(jì)過(guò)程中,選擇通過(guò)一定的方法對(duì)模型、代碼進(jìn)行優(yōu)化,通過(guò)系統(tǒng)測(cè)試及運(yùn)行,該方法可以為其他場(chǎng)景的虛擬漫游系統(tǒng)帶來(lái)一定的參考價(jià)值。
關(guān)鍵詞:虛擬現(xiàn)實(shí);unity?3d;交互
中圖分類號(hào):TB???文獻(xiàn)標(biāo)識(shí)碼:A????doi:10.19311/j.cnki.16723198.2022.16.108
0?引言
當(dāng)前,智慧校園建設(shè)如火如荼,在校園展示方面,傳統(tǒng)的通過(guò)數(shù)碼照片、數(shù)字影像等方式呈現(xiàn)的校園風(fēng)景,已經(jīng)不能滿足新生代大學(xué)生的需求,網(wǎng)絡(luò)技術(shù)的更新迭代,5G通信時(shí)代的到來(lái),虛擬現(xiàn)實(shí)技術(shù)(英文Virtual?Reality,以下稱VR)的成熟,都為校園風(fēng)光的呈現(xiàn)帶來(lái)了另一種視角和方式。借助VR技術(shù)及互聯(lián)網(wǎng)平臺(tái),我們可以讓遠(yuǎn)在千里之外的用戶,全景式、沉浸式的漫游校園,在帶來(lái)視覺(jué)新鮮感的同時(shí),加深了對(duì)學(xué)校及校園建設(shè)的印象。
1?設(shè)計(jì)需求分析
根據(jù)甲方要求,本次項(xiàng)目需要旨在制作學(xué)校的一個(gè)三維虛擬場(chǎng)景漫游系統(tǒng),通過(guò)該系統(tǒng)可以展示學(xué)校全景、功能布局、建筑設(shè)施等情況,用戶通過(guò)客戶端訪問(wèn),可以自動(dòng)、手動(dòng)漫游,參看學(xué)校三維虛擬建筑物的外貌、功能介紹等信息。
通過(guò)分析客戶需求,綜合考慮,設(shè)計(jì)制作出開(kāi)發(fā)流程,如圖1所示。
2?設(shè)計(jì)、開(kāi)發(fā)過(guò)程
2.1?構(gòu)建虛擬校園模型
第一,通過(guò)Google?earth的衛(wèi)星模式,獲得學(xué)校校園地理信息,如圖2所示;利用航拍技術(shù)結(jié)合衛(wèi)星地圖對(duì)校園建筑物布局和比例關(guān)系進(jìn)行精確構(gòu)建,再導(dǎo)入到AUTOCAD中,制作平面圖。
第二,通過(guò)相機(jī)拍攝校園中各個(gè)建筑物不同角度的照片,作為模型建模的貼圖文件。
第三,將CAD制作的平面圖導(dǎo)入到3ds?Max軟件中,打開(kāi)對(duì)象捕捉,用樣條線繪制出某個(gè)建筑物的墻體,然后使用“輪廓”命令得出墻體的厚度,再擠出墻體的高度,轉(zhuǎn)換成可編輯多邊形,右擊選擇對(duì)象屬性,在彈出的對(duì)象屬性菜單中選擇顯示屬性,勾選“背面消隱”,再在修改菜單中選擇法線得到建筑物的整體模型。
模型構(gòu)建完成以后,還需要根據(jù)模型內(nèi)容的材質(zhì)制作貼圖文件。本次項(xiàng)目制作中的貼圖都是相機(jī)使用相機(jī)實(shí)地進(jìn)行拍攝獲取的,因此材質(zhì)很真實(shí),但是像素分辨率較大,需要使用Photoshop等圖片處理軟件進(jìn)行后期裁剪、明暗度、飽和度、像素大小等調(diào)整,所有貼圖文件需保存為jpg或者png格式,且貼圖的命名不能用中文,以免導(dǎo)入到unity?3D軟件中不能識(shí)別。
在3ds?max軟件中構(gòu)建完成模型并貼完貼圖以后,將建筑模型文件以FBX文件格式打包導(dǎo)出。
2.2?在unity?3D中導(dǎo)入模型并構(gòu)建虛擬校園場(chǎng)景
在unity?3D軟件中新建項(xiàng)目工程文件,將之前從3ds?max軟件中導(dǎo)出的FBX文件,保存到項(xiàng)目工程文件夾“assets”中,在unity?3D中進(jìn)行場(chǎng)景編輯、燈光設(shè)置、地形繪制,同時(shí)進(jìn)行物理碰撞檢測(cè)設(shè)計(jì)。
2.3?實(shí)現(xiàn)人機(jī)交互
人機(jī)交互是實(shí)現(xiàn)校園虛擬場(chǎng)景漫游的關(guān)鍵技術(shù),本系統(tǒng)采用最基本的人機(jī)交互方式,采用鼠標(biāo)點(diǎn)擊相應(yīng)按鈕或鍵盤(pán)輸入WASD進(jìn)行場(chǎng)景漫游,而場(chǎng)景跳轉(zhuǎn)是另一種交互,如圖1所示,用戶點(diǎn)擊不同的按鈕,從而進(jìn)入不同的場(chǎng)景,關(guān)鍵代碼如下:
function?OnGUI(){
GUI.Label(Rect(300,50,600,300),str);
if(GUI.Button(Rect(250,450,200,50),“進(jìn)入學(xué)?!保?/p>
{
Application.LoadLevel("anshangmao01");
}
if(GUI.Button(Rect(800,450,200,50),“退出漫游”)){
Application.Quit();
3?效果展示
4?系統(tǒng)測(cè)試與優(yōu)化
在網(wǎng)絡(luò)環(huán)境下對(duì)系統(tǒng)進(jìn)行測(cè)試,發(fā)現(xiàn)系統(tǒng)存在運(yùn)行比較緩慢、占用網(wǎng)絡(luò)流量比較大等問(wèn)題,分析原因是因?yàn)殡娔X配置差、網(wǎng)絡(luò)帶寬不足等引起的。因此,從使用者角度出發(fā),我們應(yīng)該對(duì)系統(tǒng)進(jìn)行模型和程序兩個(gè)方面的優(yōu)化。第一,控制模型頂點(diǎn)數(shù)量,多個(gè)模型共享一張貼圖,將暫時(shí)不顯示的模型進(jìn)行隱藏;第二,在程序代碼上,通過(guò)合理聲明變量屬性可以有效消除代碼冗余,優(yōu)化代碼。如可將在整個(gè)場(chǎng)景中經(jīng)常需要用到的變量,設(shè)置為全局變量,這樣就可以跨場(chǎng)景全局調(diào)用;通過(guò)將對(duì)象移出攝像機(jī)范圍、移回原位而不是采用代碼的方式來(lái)實(shí)現(xiàn)對(duì)象的暫時(shí)隱藏、顯示。
5?結(jié)束語(yǔ)
本文以某高校校園虛擬漫游系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)過(guò)程為例,深入探討基于3ds?max、unity?3D技術(shù)的校園虛擬漫游系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)的方法以及關(guān)鍵技術(shù)。整個(gè)開(kāi)發(fā)過(guò)程是使用3ds?max進(jìn)行模型構(gòu)建,再運(yùn)用unity?3D實(shí)現(xiàn)人機(jī)交互,最后通過(guò)HTML格式進(jìn)行導(dǎo)出,并對(duì)系統(tǒng)進(jìn)行測(cè)試,從模型、代碼等方面提出優(yōu)化方案,最終測(cè)試表明系統(tǒng)基本能夠滿足學(xué)生用戶的使用。
參考文獻(xiàn)
[1]葛巖,吳帆,王澤華,等.基于Unity3D的虛擬校園漫游系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)[J].數(shù)字技術(shù)與應(yīng)用,2019,37(06):167+169.
[2]黃穎.基于Unity3D虛擬現(xiàn)實(shí)技術(shù)的岳麓書(shū)院3D漫游設(shè)計(jì)[D].湖南大學(xué),2016.
[3]王春艷,甘甜,吳倩蓮,等.基于Unity3D的VR英語(yǔ)教育游戲的設(shè)計(jì)與開(kāi)發(fā)[J].計(jì)算機(jī)時(shí)代,2019,(10):7477.
[4]李珍,于海東.在Unity3D技術(shù)基礎(chǔ)上構(gòu)建虛擬校園漫游系統(tǒng)的研究[J].電腦編程技巧與維護(hù),2021,(07):144146.
[5]王彩玲,劉瑞香,宋釗,等.基于Unity3D的虛擬校園漫游的設(shè)計(jì)與實(shí)現(xiàn)[J].科技視界,2015,(07):1820.