陳瑩瑩,張悅欣,張梓妍,郭梓錕,伍源昊,胡垂立
(廣州工商學(xué)院,廣東 廣州 528000)
廣州工商學(xué)院建模與虛擬現(xiàn)實(shí)交互主要有以下幾個(gè)功能:廣州工商學(xué)院中室內(nèi)外建筑、實(shí)驗(yàn)設(shè)備、石碑等模型和三維墻體、河流、地形的構(gòu)建。用戶可以通過HTC Vive 設(shè)備對(duì)虛擬場(chǎng)景進(jìn)行控制、探索,同時(shí)可實(shí)現(xiàn)碰撞檢測(cè)、射線檢測(cè),達(dá)到虛擬場(chǎng)景中漫游的效果。用戶通過使用HTC Vive 設(shè)備,可以看到廣州工商學(xué)院各個(gè)代表性地方的景色與特色,并且實(shí)現(xiàn)一定的人機(jī)交互。本系統(tǒng)的整體內(nèi)容框架包括以下幾個(gè)方面[1]:
(1)充分做好前期調(diào)研,收集整理資料。繪制學(xué)校模型總體布局、局部建筑的平面展開圖紙以及路線的圖紙和采集拍攝,用PS 繪制紋理與所需素材。
(2)借助3dMAX 搭建廣州工商學(xué)院虛擬建筑與場(chǎng)景,后期再進(jìn)行精細(xì)化處理,能夠在虛擬的地理環(huán)境中按照特定的運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)實(shí)現(xiàn)應(yīng)用,強(qiáng)化虛擬場(chǎng)景真實(shí)感。
(3)再將搭建好的校園場(chǎng)景以fbx 格式文件導(dǎo)出,導(dǎo)入U(xiǎn)nity,結(jié)合Unity3D 引擎,創(chuàng)建地形、燈光、天空等,利用C#開發(fā)語言實(shí)現(xiàn)交互,在廣州工商學(xué)院虛擬交互系統(tǒng)中設(shè)置自由交互式漫游、自動(dòng)尋徑漫游、導(dǎo)航查詢等功能。
(4)與HTC Vive 結(jié)合,做到用戶能實(shí)現(xiàn)觀覽、點(diǎn)擊、移動(dòng)、拾取等沉浸式交互操作。
在3dMax 工具上搭建校園主體模型。兩棟教學(xué)樓與實(shí)驗(yàn)樓,充分展現(xiàn)特色教室、嶄新多媒體課室和智慧教學(xué)課室;特色實(shí)訓(xùn)實(shí)驗(yàn)室,數(shù)字媒體教育設(shè)備、食品質(zhì)量與安全化學(xué)工具一應(yīng)俱全;圖書館主要有借閱室、圖書儲(chǔ)放室、書本資源儲(chǔ)量展示數(shù)據(jù)等;體育場(chǎng)的搭建主要為跑道和籃球場(chǎng)、足球場(chǎng)的布局建模。各模型的UV 拆分、貼圖紋理用PS 軟件和數(shù)位板作為輔助。使用V-Ray 插件制造墻面、跑道等的凹凸感、質(zhì)感、光線的設(shè)置、擺放與調(diào)整參數(shù)來增強(qiáng)實(shí)感等,最后應(yīng)把場(chǎng)景坐標(biāo)整合歸位[2]。
建好的模型需導(dǎo)入U(xiǎn)nity3D 實(shí)現(xiàn)交互[3],因此模型的渲染與交互需要注意以下幾點(diǎn):
(1)邊數(shù)和法線細(xì)節(jié)問題。由于邊數(shù)太多的模型計(jì)算起來復(fù)雜度高,渲染慢,因此把超過四邊形以上的面數(shù)通過連接點(diǎn)與點(diǎn)來減少邊數(shù),最后3D 里的模型渲染時(shí)都是要利用圖形計(jì)算技術(shù)計(jì)算后確定光線和貼圖,邊數(shù)為3 或4 的面利于建模軟件對(duì)模型進(jìn)行自動(dòng)優(yōu)化,這樣導(dǎo)入U(xiǎn)nity3D 時(shí)可避免一些卡頓的情況。
(2)若模型中有需要重復(fù)制作的部分,盡量用復(fù)制和旋轉(zhuǎn)代替鏡像。因?yàn)殓R像會(huì)反法線,若忽略法線問題,貼圖時(shí)則會(huì)出現(xiàn)錯(cuò)誤,甚至出現(xiàn)黑面等情況。由于大部分是建筑,建筑的搭建也應(yīng)注重現(xiàn)實(shí)比例等。
(3)做透明貼圖時(shí)要單獨(dú)給一個(gè)材質(zhì)球,不把非透明部分與透明部分一起放在同個(gè)材質(zhì)球上,才能盡量避免一個(gè)材質(zhì)球貼進(jìn)去后整體貼圖都變成透明的錯(cuò)誤發(fā)生。
(4)最后用簡(jiǎn)易的游戲引擎——Marmoset Toolbag3檢查游戲模型和貼圖顯示效果,不用打開Unity3D,效率會(huì)更高。
Unity 里天空盒的創(chuàng)建應(yīng)先創(chuàng)建材質(zhì),準(zhǔn)備6 張資源圖,然后先在Window 窗口找到 Lighting,選好就可以調(diào)用,6 個(gè)面分別對(duì)應(yīng)6 個(gè)方向,若將6 張?zhí)炜蘸谢蛘呒y理圖片導(dǎo)入U(xiǎn)nity 時(shí),將它們的Wrap Mode 設(shè)置為Clamp 模式,這樣圖像的邊緣才會(huì)無縫縫合[4]。
學(xué)校內(nèi)的厚德廣場(chǎng)和桃李園地形選擇在Unity3D里建造,因?yàn)閁nity3D 可較方便地繪制地形的高度、特定高度和平滑地形,并且在Brushes 畫筆工具欄中,畫筆的形狀及大小可以自由選擇,可以畫坑洼與突起的高地,給地形加貼圖也較為方便,添加樹、草地、土壤等的素材時(shí),則選擇Trees 按鈕把素材貼圖拖進(jìn)第一欄里即可為場(chǎng)景方便快捷地增添許多小素材。
以廣州工商學(xué)院三維虛擬交互系統(tǒng)設(shè)計(jì)與開發(fā)為主線,根據(jù)虛擬系統(tǒng)實(shí)時(shí)性與交互性的特點(diǎn)要求,從系統(tǒng)建設(shè)的功能需求、體系模塊設(shè)計(jì)、系統(tǒng)框架設(shè)計(jì)等幾個(gè)方面展開研究。
(1)界面布局設(shè)計(jì)上應(yīng)盡量簡(jiǎn)潔,一目了然,方便用戶初次使用就能從界面上清楚理解各項(xiàng)功能以及操作方法。系統(tǒng)具備交互漫游的功能,用戶可以從各個(gè)方向和角度觀察虛擬的場(chǎng)景,或者按照預(yù)先規(guī)劃好的路徑進(jìn)行漫游,并通過觸發(fā)手柄改變視點(diǎn),實(shí)現(xiàn)以本人視角漫游校園。在實(shí)現(xiàn)基本漫游功能的基礎(chǔ)上,用戶還可以通過交互設(shè)備實(shí)現(xiàn)情景交互體驗(yàn)。交互操作包括實(shí)體的幾何變換、模型拾取、射線和碰撞檢測(cè)等。
(2)學(xué)校智慧教學(xué)中心的智慧課室模塊,通過手柄射線實(shí)現(xiàn)碰撞檢測(cè),可以使HTC Vive 手柄與場(chǎng)景中三維模型或者 UI 發(fā)生碰撞檢測(cè),交互展現(xiàn)學(xué)校智慧課室特色信息與資源、學(xué)生信息動(dòng)態(tài)、多媒體視頻教學(xué)播放等功能。
(3)圖書館模塊,通過 UI 交互和數(shù)據(jù)庫技術(shù)結(jié)合,開發(fā)出圖書信息檢索模擬平臺(tái),實(shí)現(xiàn)了學(xué)校圖書館總儲(chǔ)量、排行榜的信息和虛擬閱讀、圖書信息檢索的模擬。
(4)實(shí)驗(yàn)實(shí)訓(xùn)室模塊,通過數(shù)字媒體技術(shù)等專業(yè)的實(shí)訓(xùn)室,介紹攝影攝像的多種設(shè)備和虛擬現(xiàn)實(shí)技術(shù)的設(shè)備工具以及使用說明,用手柄實(shí)現(xiàn)對(duì)設(shè)備的拾取與組裝等交互效果等。
(5)在Unity3D 里,用編譯軟件添加事件的發(fā)生,主要運(yùn)用C#語言來實(shí)現(xiàn),后期熟練代碼語言可以運(yùn)用JavaScript 來實(shí)現(xiàn)更多較高級(jí)的交互操作。后期再以HTC Vive 為沉浸式交互體驗(yàn)平臺(tái),實(shí)現(xiàn)虛擬校園系統(tǒng)中相機(jī)視角的實(shí)時(shí)自主轉(zhuǎn)換功能。
HTC Vive 里的射線檢測(cè)技術(shù)很重要,因?yàn)樵谌S世界里,射線是基于空間中一個(gè)點(diǎn)沿著某一方向發(fā)射的一條直線,當(dāng)其遇到目標(biāo)對(duì)象時(shí)則停止發(fā)射,射線一般用于檢測(cè)碰撞。因此,可以實(shí)現(xiàn)HTC Vive 手柄與場(chǎng)景中三維模型或者 UI 發(fā)生碰撞檢測(cè),其實(shí)現(xiàn)流程為手柄發(fā)出檢測(cè)射線,系統(tǒng)判斷射線是否與目標(biāo)發(fā)生碰撞,若不是,則循環(huán)重新檢測(cè),若是發(fā)生事件的響應(yīng),則結(jié)束。
使用Unity+HTC Vive 做VR 時(shí)如何創(chuàng)建用戶體驗(yàn)感較強(qiáng)的菜單,接收手柄射線的菜單以及拿起虛擬實(shí)驗(yàn)設(shè)備進(jìn)行觀察或操控手柄點(diǎn)擊實(shí)現(xiàn)虛擬演示等操作。其中應(yīng)該注意代碼腳本的設(shè)置,避免出現(xiàn)用戶體驗(yàn)不好的效果,像按鈕的抖動(dòng)導(dǎo)致點(diǎn)擊不準(zhǔn)確、組件的渲染順序不當(dāng)導(dǎo)致場(chǎng)景物品被遮擋等問題。
三維虛擬校園交互是一個(gè)重點(diǎn),它在數(shù)字信息化、校園教育、分布規(guī)劃、宣傳展示方面起到重要作用?,F(xiàn)今以一個(gè)真實(shí)校園的漫游沉浸式平臺(tái)來身臨其境地全方位了解校園是人們的迫切需求,在這樣的現(xiàn)實(shí)背景下,三維虛擬校園仿真交互系統(tǒng)應(yīng)運(yùn)而生。建立虛擬校園漫游仿真交互系統(tǒng)是全面構(gòu)建智慧校園的基礎(chǔ),對(duì)智慧校園的建設(shè)具有重要的意義。