徐州生物工程職業(yè)技術(shù)學(xué)院 黃志平
虛擬現(xiàn)實(shí)技術(shù)可以創(chuàng)建一個(gè)實(shí)時(shí)的三維虛擬環(huán)境,用戶可以在虛擬環(huán)境中感受真實(shí)物理世界的情感體驗(yàn)。本文采用VRP編輯器作為虛擬現(xiàn)實(shí)平臺(tái),構(gòu)建了具有多種漫游方式、交互性強(qiáng)、多人在線交流等功能的三維虛擬校園系統(tǒng)。
創(chuàng)建虛擬校園,讓體驗(yàn)者在網(wǎng)上通過虛擬校園參與學(xué)校的學(xué)習(xí)、生活等日常活動(dòng)。三維虛擬校園設(shè)計(jì)中包括不同漫游形式、多人在線互動(dòng)、地圖導(dǎo)航等各種交互功能,這就需要在VRP編輯器中進(jìn)行相關(guān)操作以實(shí)現(xiàn)這些功能。本文主要對(duì)三維虛擬校園這些功能的實(shí)現(xiàn)進(jìn)行設(shè)計(jì)和研究。
VRP編輯器中提供了多種相機(jī)類型,包括行走相機(jī)、飛行相機(jī)、繞物旋轉(zhuǎn)相機(jī)、角色控制相機(jī)、跟隨相機(jī)、定點(diǎn)觀察相機(jī)、動(dòng)畫相機(jī)等。本項(xiàng)目在設(shè)計(jì)和制作三維虛擬校園場(chǎng)景漫游時(shí),通過創(chuàng)建角色控制相機(jī)、飛行相機(jī)這四種相機(jī)讓體驗(yàn)者從不同視角、不同的路徑、不同的方式游覽虛擬校園場(chǎng)景,產(chǎn)生不同的感官感受。
角色控制相機(jī),角色設(shè)置了跑動(dòng)、站立、行走三個(gè)動(dòng)作游覽校園,用戶可以根據(jù)游覽的需要自行選擇運(yùn)動(dòng)方式,增加體驗(yàn)者游覽的真實(shí)感和沉浸感。角色控制相機(jī)設(shè)計(jì)和創(chuàng)作過程如下:
(1)從角色庫中調(diào)用角色。點(diǎn)擊【創(chuàng)建對(duì)象】欄里的【骨骼動(dòng)畫】,然后點(diǎn)擊【角色庫】按鈕,在彈出的【角色庫】對(duì)話框中有很多角色可供選擇,這里選擇“亞洲休閑平跟鞋女士”調(diào)到虛擬場(chǎng)景中,通過移動(dòng)工具和縮放工具調(diào)整其位置和大小。
(2)為加色添加動(dòng)作。點(diǎn)擊右側(cè)的【動(dòng)作庫…】按鈕,會(huì)彈出一個(gè)【動(dòng)作庫】對(duì)話框,在對(duì)話框中雙擊“跑動(dòng)原地(平跟女士)”、“空閑站立(平跟女士)”和“行走原地(平跟女士)”,將這三個(gè)角色的動(dòng)作添加到場(chǎng)景角色中。添加好三個(gè)動(dòng)作后,在動(dòng)作庫中分別右鍵單擊這三個(gè)動(dòng)作將“跑動(dòng)原地(平跟女士)”、“空閑站立(平跟女士)”和“行走原地(平跟女士)”分別設(shè)置為“跑步動(dòng)作”,“默認(rèn)動(dòng)作”和“行走動(dòng)作”。
(3)角色控制相機(jī)的創(chuàng)建。通過點(diǎn)擊【相機(jī)】面板下的【角色控制相機(jī)】按鈕,可以打開【Camera name】對(duì)話框,在對(duì)話框里可以更改相機(jī)名稱。
(4)設(shè)置相機(jī)控制角色。打開角色控制相機(jī)屬性面板,在屬性面板中選擇“亞洲休閑裝平跟”角色。
(5)切換角色控制相機(jī)。設(shè)置好之后,點(diǎn)擊F5運(yùn)行,按“C”鍵打開【相機(jī)列表】對(duì)話框,選擇“角色控制相機(jī)”就可以在虛擬校園場(chǎng)景中控制角色模型。通過點(diǎn)擊鍵盤上的W、S、A、D可以控制角色模型的前、后、左、右的移動(dòng),如果用鼠標(biāo)直接單擊要去的位置,角色可以自動(dòng)前往,點(diǎn)擊鍵盤左上角的“~”鍵,可以將行走狀態(tài)切換成跑步狀態(tài)。
本項(xiàng)目中通過設(shè)計(jì)和創(chuàng)建飛行相機(jī),讓體驗(yàn)者從高空俯視三維虛擬校園場(chǎng)景。
(1)創(chuàng)建飛行相機(jī)。在VRP編輯器的相機(jī)面板中創(chuàng)建飛行相機(jī),設(shè)置飛行相機(jī)的名稱
(2)設(shè)置飛行相機(jī)屬性。點(diǎn)擊【相機(jī)列表】中的“飛行相機(jī)”,在彈出的飛行相機(jī)屬性列表中將【基本參數(shù)】下的【水平視角】設(shè)為90度,其它參數(shù)保持不變。
(3)轉(zhuǎn)換相機(jī)類型。虛擬校園場(chǎng)景中創(chuàng)建了不同的相機(jī)類型,我們可以通過點(diǎn)擊相機(jī)屬性面板中的【相機(jī)類型】選擇需要的相機(jī),在彈出的對(duì)話框中選擇“是”即可。
使用跟隨相機(jī)精心策劃一條較好的游覽線路,使體驗(yàn)者按照這條線路瀏覽校園,既可以較高效率的及時(shí)了解校容校貌,又方便體驗(yàn)者對(duì)學(xué)校有個(gè)快速整體的了解。實(shí)現(xiàn)方法和上面兩種相機(jī)的實(shí)現(xiàn)方法類似。首先創(chuàng)建角色并為角色添加動(dòng)作,然后創(chuàng)建角色路徑并將路徑綁定到角色,最后創(chuàng)建跟隨相機(jī)并設(shè)置相機(jī)跟隨角色,完成跟隨相機(jī)的創(chuàng)建。
在創(chuàng)建相機(jī)時(shí),還會(huì)遇到一些問題,因此,我們?cè)趧?chuàng)建相機(jī)時(shí)還要注意一些事項(xiàng),掌握一些技巧。
(1)在VRP中編輯時(shí)可以設(shè)定角色自動(dòng)攀登符合實(shí)際尺寸的臺(tái)階。正常角色的高度,可以自行攀登20公分的臺(tái)階,若臺(tái)階超過20公分,則角色無法跨越。
(2)在制作過程中,若角色被墻或者地板卡住了,用鼠標(biāo)中鍵將角色拖到合適的位置就可以了。
為了讓體驗(yàn)者在瀏覽校園時(shí)有身臨其境的感受,我們還需要在虛擬校園場(chǎng)景中進(jìn)行碰撞檢測(cè)的設(shè)置。
設(shè)置碰撞檢測(cè),單擊【物理碰撞】按鈕,在場(chǎng)景中選中全部模型,然后取消不需要進(jìn)行碰撞的模型,最后單擊【碰撞方式】下的開啟按鈕,碰撞檢測(cè)設(shè)置完成。設(shè)置碰撞檢測(cè)好之后,角色在在場(chǎng)景中就不會(huì)發(fā)生穿墻而過等穿幫現(xiàn)象了,碰到墻壁會(huì)沿著墻壁向前行走。
在碰撞檢測(cè)設(shè)置過程中,要掌握以下碰撞檢測(cè)的優(yōu)化技巧。
(1)在制作時(shí),可以將模型不加入碰撞,而是制作一個(gè)盒子模型作為碰撞替代,運(yùn)行時(shí)將盒子模型隱藏即可。
(2)我們?cè)谥谱鬟^程中有必要盡可能的簡(jiǎn)化碰撞的模型。此外,一些走路碰不到的面如屋頂上的模型等就不需要加入碰撞。
前面的內(nèi)容我們已經(jīng)研究過在VRP中添加角色的方法。下面我們將研究如何設(shè)置MMO場(chǎng)景里的角色。
(1)在【創(chuàng)建對(duì)象】中的【骨骼動(dòng)畫】面板里點(diǎn)擊【角色庫…】按鈕,在彈出的角色庫對(duì)話框中選擇需要的角色添加到場(chǎng)景中。根據(jù)制作需要為角色添加骨骼動(dòng)作,如行走原地、跑動(dòng)原地、空閑站立、跳躍動(dòng)作等,創(chuàng)建一臺(tái)角色控制相機(jī),供MMO設(shè)置參數(shù)調(diào)用。
(2)在【多人在線】中的【角色系統(tǒng)】面板中點(diǎn)擊【添加】按鈕,添加角色骨骼。在【多人在線】中的【角色系統(tǒng)】面板中點(diǎn)擊【控制相機(jī)】按鈕,添加角色控制相機(jī)。
(3)在【多人在線】中的【基礎(chǔ)設(shè)置】面板中修改角色的登錄名稱,在角色的頭頂上方顯示修改后的名稱。
三維虛擬校園設(shè)計(jì)多人在線時(shí),在線用戶還可以進(jìn)行聊天。
(1)文本聊天的設(shè)計(jì)和制作。通過前面的制作已經(jīng)在場(chǎng)景里添加了角色。在制作文本聊天時(shí)有兩種方法,一種是設(shè)置GUI控件文本聊天函數(shù),另一種是設(shè)置角色文本聊天函數(shù)。
創(chuàng)建GUI控件,在【高級(jí)界面】中的【控件】面板里創(chuàng)建輸入框和信息顯示框兩種控件,在初始化函數(shù)中設(shè)置一個(gè)變量,在自定義函數(shù)中創(chuàng)建腳本函數(shù),創(chuàng)建MMO系統(tǒng)函數(shù),新建MMO時(shí)間映射函數(shù),用MMO文本信息接收文字,添加相應(yīng)腳本在MMO文本信息函數(shù)里。經(jīng)過上面的制作,進(jìn)行運(yùn)行效果測(cè)試。
設(shè)置角色文本聊天函數(shù),我們?cè)谔摂M校園角色聊天中還可以設(shè)置文本聊天的內(nèi)容在角色頭頂顯示的效果。在上面制作的基礎(chǔ)上,我們?cè)诤瘮?shù)中創(chuàng)建相應(yīng)的腳本就可以。
【user_say】函數(shù)和【model_name】函數(shù)都是系統(tǒng)函數(shù),要想實(shí)現(xiàn)不同客戶端說的話都顯示在正確角色的頭頂,腳本里必須要調(diào)用,而且腳本不能隨意更改,否則不能實(shí)現(xiàn)。腳本設(shè)置好后,測(cè)試場(chǎng)景。
(2)語音聊天的設(shè)計(jì)和制作。在虛擬校園MMO多人在線場(chǎng)景里,也可以設(shè)計(jì)語音聊天。通過設(shè)置【創(chuàng)建鍵盤映射函數(shù)】K按下的函數(shù)來打開控制語音聊天。同樣的方法,設(shè)置K彈起的的函數(shù)來控制語音聊天的關(guān)閉。設(shè)置GUI控制腳本,在自定義函數(shù)中創(chuàng)建函數(shù)腳本。
設(shè)置好虛擬校園語音聊天后,用戶在MMO虛擬校園場(chǎng)景中通過按鍵盤上的【K】鍵就可以控制語音聊天的開啟和關(guān)閉。
在設(shè)計(jì)虛擬校園時(shí),有必要制作導(dǎo)航圖以增加用戶瀏覽校園時(shí)的便捷性。虛擬校園導(dǎo)航圖的設(shè)計(jì)和制作如下:
(1)創(chuàng)建導(dǎo)航對(duì)象。在虛擬校園場(chǎng)景中點(diǎn)擊創(chuàng)建導(dǎo)航圖工具,在場(chǎng)景中想要?jiǎng)?chuàng)建導(dǎo)航圖的位置按住鼠標(biāo)左鍵拖拽繪制虛擬校園導(dǎo)航圖。
(2)創(chuàng)建并添加導(dǎo)航圖圖片。在Photoshop中對(duì)截取的導(dǎo)航圖進(jìn)行編輯操作,包括裁切、去除背景、設(shè)不透明度為70%等,將編輯好的圖片保存為PNG格式。在VRP中為導(dǎo)航圖選擇在Photoshop中處理好的學(xué)院整體輪廓圖。
(3)設(shè)置導(dǎo)航圖透明。選擇【編輯界面】下的【主頁面】,點(diǎn)擊【透明】選項(xiàng),在下拉列表中選擇【使用貼圖alpha】。導(dǎo)航圖顯示為鏤空與透明了。
(4)回到3ds Max場(chǎng)景中,通過拾取場(chǎng)景坐標(biāo),找到世界坐標(biāo)的值,表明當(dāng)前相機(jī)的位置。單擊【箭頭】按鈕,在彈出的對(duì)話框中找到在Photoshop中處理好的手指型導(dǎo)航箭頭圖片。手指箭頭圖片準(zhǔn)確的出現(xiàn)在導(dǎo)航圖里。
添加太陽光暈和霧效,使得虛擬校園場(chǎng)景更加自然逼真。
(1)太陽光暈的設(shè)計(jì)和制作。在VRP編輯器中單擊【太陽光暈】按鈕,在【樣式列表里】雙擊需要使用的太陽光暈樣式縮略圖即可添加太陽光暈效果。可以通過調(diào)整太陽照射的角度、方位,使得太陽光暈效果與虛擬校園場(chǎng)景的投影吻合。
(2)霧效的設(shè)計(jì)和制作。單擊VRP編輯器中的【霧效】按鈕,勾選【開啟】設(shè)置霧效的顏色,通過調(diào)整【開始距離】與【結(jié)束距離】調(diào)整霧效的景深效果。
在VRP中使用復(fù)合腳本添加背景音樂。
在VRP編輯器中創(chuàng)建一個(gè)【系統(tǒng)函數(shù)】,在函數(shù)中創(chuàng)建【#初始化】事件。單擊【插入語句】,選擇【播放音樂】,添加選好的背景音樂。
聲道-1=無
重復(fù)次數(shù)(0=無線)0。
目前各高校正在使用的三維虛擬校園,但功能還比較簡(jiǎn)單,本文在研究這些已有成果的基礎(chǔ)上,通過理實(shí)結(jié)合的方法,利用3ds Max三維建模軟件和VRP軟件,研究和制作了三維虛擬校園,尤其是重點(diǎn)研究虛擬校園交互式漫游,多人在線功能、碰撞檢測(cè)技術(shù)等在虛擬校園系統(tǒng)中的應(yīng)用。