張心悅 謝麗怡 李文娟
關(guān)鍵詞:3D場景構(gòu)建;游戲開發(fā);虛擬現(xiàn)實(shí);Unity3D;導(dǎo)航
0 引言
隨著經(jīng)濟(jì)發(fā)展和社會(huì)進(jìn)步,大學(xué)師生人數(shù)逐年增加,大學(xué)校園的規(guī)模也在不斷擴(kuò)大。學(xué)生群體中既有初來乍到、不能很快熟悉新環(huán)境的新生,也有度過四年時(shí)光,不斷耕耘收獲,滿懷不舍之情即將遠(yuǎn)航的畢業(yè)生,更有職場沉浮、念念不忘母校青春記憶的校友們。為了讓新生更快熟悉校園環(huán)境、給即將離開母校的畢業(yè)生和更多的校友留下真實(shí)美好的回憶,本文以杭州師范大學(xué)下沙校區(qū)為背景,在對(duì)校園環(huán)境和文化活動(dòng)進(jìn)行深入調(diào)研的基礎(chǔ)上,基于unity3D開發(fā)了一個(gè)校園漫游系統(tǒng),通過模擬校園建筑物、環(huán)境等,讓使用者體驗(yàn)到親臨其境的效果。
全景虛擬現(xiàn)實(shí)技術(shù)可以較好地展示目標(biāo)場景,通過圖片幾何關(guān)系,讓人感受到虛擬影像中的三維立體空間關(guān)系,實(shí)現(xiàn)全方位瀏覽圖像景色[1-2]。近年來全景技術(shù)飛速發(fā)展,包括360°全方位實(shí)景圖像或視頻和VR(虛擬現(xiàn)實(shí)技術(shù)),以及后來由VR 進(jìn)一步衍生出的AR(增強(qiáng)現(xiàn)實(shí)技術(shù)),均在各行業(yè)被廣泛應(yīng)用且得到了很好的反饋[3]。隨著5G時(shí)代的到來,虛擬現(xiàn)實(shí)技術(shù)得到了快速的發(fā)展,搭建虛擬校園可以讓全國各地的新生足不出戶就可以游覽熟悉校園,了解校園文化和場地環(huán)境,通過交互獲得更多的學(xué)校信息[4],相較于傳統(tǒng)的校園宣傳,擁有更好的推廣效果[5]。
本文開發(fā)的校園漫游系統(tǒng)分為男女兩個(gè)人物視角,玩家既可以選擇女性角色,也可以選擇男性角色,通過圓盤控制人物在模擬的虛擬校園中進(jìn)行游覽此外,還包含自動(dòng)導(dǎo)航功能,能夠引導(dǎo)玩家找到相應(yīng)的地方,同時(shí)查看對(duì)應(yīng)地點(diǎn)的校園活動(dòng),當(dāng)然,玩家也可以選擇地點(diǎn)進(jìn)行場景直接跳轉(zhuǎn)。同時(shí),系統(tǒng)還帶有若干交互式游戲。校園場景模擬的效果如圖1所示。
校園漫游系統(tǒng)的設(shè)計(jì)亮點(diǎn)如下:
1) 采用3D技術(shù)還原校園場景:首先,對(duì)校園實(shí)景進(jìn)行采集并最大限度地加以還原,其次,通過地形地貌設(shè)計(jì)、場景整合、轉(zhuǎn)場特效等,以及加入天氣、動(dòng)物元素,讓場景更加真實(shí);
2) 具備自動(dòng)導(dǎo)航功能:玩家可以設(shè)定目的地,系統(tǒng)將結(jié)合人物當(dāng)前位置進(jìn)行自動(dòng)導(dǎo)航,也可選擇目的地進(jìn)行場景的直接跳轉(zhuǎn)。
3) 交互方式豐富、體驗(yàn)感強(qiáng);添加了多場景交互式小游戲,實(shí)現(xiàn)游戲場景轉(zhuǎn)換,增加交互樣式,考慮光影效果、顏色搭配,通過較少的性能消耗使靜態(tài)場景看上去更真實(shí)、豐富,具備立體感,使整體游戲體驗(yàn)十分豐滿。
本系統(tǒng)有助于方便師生學(xué)習(xí)生活工作,對(duì)宣傳校園文化、提升高校的知名度和影響力具有積極意義,也具有良好的應(yīng)用、開發(fā)和推廣價(jià)值。
1 系統(tǒng)框架
本系統(tǒng)主要包括三個(gè)模塊:場景瀏覽主界面模塊,自動(dòng)導(dǎo)航模塊和小游戲模塊,如圖2所示。
1) 場景瀏覽主界面模塊。在校園瀏覽界面中,玩家通過圓盤控制角色走動(dòng),以人物視角進(jìn)行校園環(huán)境瀏覽。玩家還可以通過天氣控制按鈕切換天氣,以體驗(yàn)不同天氣狀況下的校園風(fēng)景,系統(tǒng)還能自動(dòng)識(shí)別白天夜晚,使場景切換白天和黑夜的效果。體驗(yàn)者控制人物走動(dòng)到對(duì)應(yīng)的校園的標(biāo)志性建筑附近,會(huì)出現(xiàn)相應(yīng)地點(diǎn)的介紹,在圖書館的信息欄處可以查看校園的活動(dòng)。
2) 自動(dòng)導(dǎo)航模塊。玩家可選擇想去的地點(diǎn),系統(tǒng)會(huì)開啟自動(dòng)導(dǎo)航,實(shí)現(xiàn)路線自動(dòng)規(guī)劃。玩家還可以點(diǎn)擊場景切換按鈕,在彈出的地點(diǎn)選擇菜單中選擇想去的地點(diǎn),實(shí)現(xiàn)地點(diǎn)的直接跳轉(zhuǎn)。
3) 小游戲模塊。本系統(tǒng)設(shè)計(jì)了三個(gè)小游戲:小貓喂食、知識(shí)問答和投籃。玩家可在知識(shí)問答和投籃游戲中獲得金幣,金幣可用于小貓喂食游戲中購買貓糧喂食。
2 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)
2.1 進(jìn)入界面
以學(xué)校的寢室作為背景,中間是“憶錢江”校園漫游標(biāo)題,點(diǎn)擊開始按鈕進(jìn)入角色性別選擇界面,如圖3所示。
以3D校園的俯視圖為背景,體驗(yàn)者可以選擇性別,完成性別選擇后進(jìn)入校園瀏覽主界面。
2.2 校園瀏覽界面
2.2.1 控制角色走動(dòng)
在校園瀏覽界面中,玩家可以通過圓盤控制角色走動(dòng),場景90%還原校園真實(shí)場景,體驗(yàn)者可以通過人物視角進(jìn)行校園環(huán)境的參觀,如圖4所示。
2.2.2 場景切換
在界面的右下角可以看到“場景切換”按鈕,點(diǎn)擊“場景切換”按鈕,會(huì)向左彈出地點(diǎn)選擇菜單,體驗(yàn)者可以選擇想去的地點(diǎn),實(shí)現(xiàn)地點(diǎn)的直接跳轉(zhuǎn)。
2.2.3 校園公告欄
為了讓玩家能夠更好地了解校園文化,當(dāng)人物接近標(biāo)志性建筑物時(shí)會(huì)出現(xiàn)校園活動(dòng)介紹。
2.2.4 導(dǎo)航
體驗(yàn)者可以點(diǎn)擊右下角的“導(dǎo)航”按鈕,選擇想去的地點(diǎn),角色會(huì)進(jìn)行自動(dòng)導(dǎo)航,不用體驗(yàn)者手動(dòng)選擇圓盤,角色會(huì)自動(dòng)規(guī)劃路線,走動(dòng)到相應(yīng)的地點(diǎn)。
2.2.5 天氣切換
在界面的左上角是“天氣控制”按鈕,體驗(yàn)者可以切換天氣按鈕,用來體驗(yàn)不同天氣下的校園風(fēng)景,系統(tǒng)還會(huì)自動(dòng)識(shí)別白天和夜晚,使場景切換白天和黑夜的效果,如圖5所示。
2.3 游戲
點(diǎn)擊界面右下角的“游戲”按鈕,進(jìn)入小游戲的選擇界面,本系統(tǒng)包含小貓喂食、知識(shí)問答和投籃三款小游戲。
2.3.1 小貓喂食游戲
在小貓喂食游戲中,體驗(yàn)者在商店中購買貓糧,點(diǎn)擊小貓進(jìn)行投喂,小貓頭上的進(jìn)度條為小貓的饑餓狀態(tài),當(dāng)進(jìn)度條被填滿時(shí),小貓被喂飽,會(huì)在原地蹲下眨著眼睛看著體驗(yàn)者,如圖6所示。
2.3.2 知識(shí)問答游戲
在知識(shí)問答游戲中,每次從題庫中隨機(jī)抽取三道題目,答對(duì)即可獲得金幣,金幣可用于購買貓食。
2.3.3 投籃游戲
在投籃游戲中,體驗(yàn)者有三次機(jī)會(huì)可以進(jìn)行投籃,將籃球投進(jìn)籃球框中即為勝利。
3 關(guān)鍵技術(shù)
3.1 場景搭建
3.1.1 校園實(shí)景拍攝
以杭州師范大學(xué)下沙校區(qū)的真實(shí)場景為虛擬場景的搭建樣板,以圖書館、教學(xué)樓、行政樓和體育館等標(biāo)志性建筑為主,包括學(xué)校的綠化景觀的構(gòu)建,90% 還原真實(shí)校園場景,利用實(shí)景圖完成整個(gè)虛擬校園場景搭建。
3.1.2 地形地貌搭建
在Unity中建立地形(Terrain),在地形的屬性中有設(shè)置地形渲染的筆刷,可以導(dǎo)入地面的渲染模型。創(chuàng)建不同的筆刷,用筆刷對(duì)地面進(jìn)行渲染,從而搭建出不同的地貌。
種植樹木的筆刷,可以選擇paint trees 下的edittrees選項(xiàng),加入樹的模型,調(diào)整筆刷的參數(shù),即可在地形上種植樹木。種植花草的筆刷,可以選擇paint de?tails 下的edit details button,點(diǎn)擊add grass texture,即可添加花草筆刷。表1和表2分別顯示了本系統(tǒng)種植樹木和花草所使用的筆刷屬性。
3.2 人物控制
3.2.1 使用搖桿控制
采用Easytouch插件進(jìn)行人物控制。首先,在官網(wǎng)下載Easytouch插件后導(dǎo)入U(xiǎn)nity項(xiàng)目中。創(chuàng)建一個(gè)虛擬搖桿,將搖桿與人物綁定,使用EasyTouch實(shí)現(xiàn)角色的轉(zhuǎn)向,再通過設(shè)置Camera,相機(jī)會(huì)跟隨在角色背后,即可通過移動(dòng)搖桿來控制人物走動(dòng)。圖7顯示了通過搖桿進(jìn)行人物綁定的過程。
3.2.2 鍵盤控制人物
使用playmaker 插件實(shí)現(xiàn)鍵盤對(duì)人物動(dòng)作的控制。將playmaker包和人物模型導(dǎo)入U(xiǎn)nity項(xiàng)目中,創(chuàng)建Animator Controller,添加人物坐標(biāo)變量Horizontal 和Vertical,在BlendTree中綁定人物向前走、向后走、向右走、向左走的動(dòng)作,然后將Animator Controller綁定到人物。接下來為人物創(chuàng)建playmaker,將人物的坐標(biāo)和變動(dòng)實(shí)時(shí)記錄下來。上述步驟成功后便可使用鍵盤的上下左右(WSAD) 鍵控制人物走動(dòng)。
3.3 導(dǎo)航系統(tǒng)
運(yùn)用Unity自帶的Navigation實(shí)現(xiàn)人物的自動(dòng)導(dǎo)航。主要步驟是:1) 首先進(jìn)行地面烘焙:在地面In?spector面板中選中靜態(tài)(static)下拉選項(xiàng)的NavigationStatic,再依次選擇菜單欄中的Windows - Navigation,單擊該面板右下角的Bake按鈕,即可生成導(dǎo)航網(wǎng)格;2) 其次,設(shè)定可行走與不可行走地區(qū):通過點(diǎn)擊地面上的物體,將障礙物設(shè)置為不可行走部分。保證導(dǎo)航系統(tǒng)工作時(shí),人物按照既定路線行走能分辨哪些地方可以行走、哪些不可以行走;3) 最后,創(chuàng)建C#代碼,綁定到人物上,即可進(jìn)行人物的自動(dòng)導(dǎo)航功能。
4 總結(jié)與展望
本文以杭州師范大學(xué)下沙校區(qū)為背景,運(yùn)用VR 技術(shù)搭建了虛擬校園,使體驗(yàn)者如身臨其境般在虛擬校園中自由漫步,了解校園地理環(huán)境和人文風(fēng)貌,幫助新生更快地熟悉校園環(huán)境,讓畢業(yè)生能夠回憶往昔美好時(shí)光。