遼寧建筑職業(yè)學(xué)院 馮珊珊
淺析虛擬仿真教學(xué)系統(tǒng)建設(shè)的相關(guān)技術(shù)
遼寧建筑職業(yè)學(xué)院馮珊珊
本文主要比較分析虛擬仿真實(shí)訓(xùn)教學(xué)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)過(guò)程中所使用到的開(kāi)發(fā)軟件、數(shù)據(jù)庫(kù)軟件、系統(tǒng)設(shè)計(jì)軟件,重點(diǎn)論述Unity 3D在虛擬仿真教學(xué)系統(tǒng)設(shè)計(jì)過(guò)程中的使用方法及技巧。
虛擬仿真;教學(xué)系統(tǒng)開(kāi)發(fā);Unity 3D
虛擬仿真教學(xué)是借助現(xiàn)代化的技術(shù)手段,基于構(gòu)建主義和虛擬現(xiàn)實(shí)理論建立的與傳統(tǒng)教學(xué)截然不同的教學(xué)模式。虛擬仿真教學(xué)內(nèi)容的設(shè)置依托于企業(yè)實(shí)際崗位,對(duì)實(shí)際教學(xué)中難以展現(xiàn)的細(xì)節(jié)、不易實(shí)施的小概率事件、產(chǎn)品的標(biāo)準(zhǔn)化生產(chǎn)過(guò)程、員工安全生產(chǎn)意識(shí)等方面進(jìn)行仿真。
虛擬仿真教學(xué)系統(tǒng)的開(kāi)發(fā)首先要進(jìn)行素材的采集,為保證圖片中設(shè)備的色彩與真實(shí)相同,選用PHOTOSHOP CS對(duì)圖片進(jìn)行取樣;采集的圖片要盡可能展現(xiàn)大范圍的視角。然后對(duì)素材進(jìn)行建模、導(dǎo)入、發(fā)布,具體開(kāi)發(fā)流程如圖1所示。
圖1 虛擬仿真教學(xué)系統(tǒng)開(kāi)發(fā)流程
教學(xué)系統(tǒng)的開(kāi)發(fā)主要使用建模軟件、數(shù)據(jù)庫(kù)軟件及系統(tǒng)設(shè)計(jì)軟件,現(xiàn)就開(kāi)發(fā)市場(chǎng)上應(yīng)用比較廣泛、主流的以上三種類別軟件進(jìn)行介紹:
1.建模軟件
常用的三維建模軟件主要有以下三種:3D MAX,SketchUp,以及Maya。
(1)3D MAX。它功能非常強(qiáng)大,廣泛應(yīng)用于游戲模型制作,今年在建筑設(shè)計(jì)領(lǐng)域也得到了廣泛的應(yīng)用。該軟件中文版本和英文版本同樣具備,操作便捷簡(jiǎn)單,發(fā)展的已經(jīng)非常成熟了。
3D MAX在建立靜態(tài)的三維模型時(shí),動(dòng)畫(huà)可以用代碼來(lái)實(shí)現(xiàn),在制作精度要求較高的場(chǎng)合非常合適,絕大多數(shù)的3D引擎平臺(tái)都支持3D MAX導(dǎo)出的模型,它是目前市場(chǎng)上三維的建模平臺(tái)中最受推崇使用的。
(2)SketchUp。它是GOOGLE(谷歌)公司所開(kāi)發(fā)的三維建模軟件。它具備自動(dòng)捕捉功能,能將模擬使用鉛筆繪制的圖形線條自動(dòng)捕捉。同時(shí),GOOGLE公司的3D模型庫(kù)中具有很多既定的SketchUp格式的模型。因此,采用SketchUp軟件可以避免很多繁重的、重復(fù)的模型建立工作。
(3)Maya。它是AutoDesk公司研發(fā)的一款應(yīng)用廣泛、功能強(qiáng)大的建模軟件,它的功能與3D MAX類似,但更適用于動(dòng)畫(huà)和特效的制作。
2.數(shù)據(jù)庫(kù)軟件
伴隨著現(xiàn)代技術(shù)的發(fā)展,數(shù)據(jù)管理已經(jīng)從以往簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)管理逐步轉(zhuǎn)變成按照數(shù)據(jù)的結(jié)構(gòu)來(lái)組織數(shù)據(jù)、管理數(shù)據(jù)、存儲(chǔ)數(shù)據(jù)的大型倉(cāng)庫(kù),而這種大倉(cāng)庫(kù)就是我們常用的數(shù)據(jù)庫(kù)。
SQL server是微軟公司開(kāi)發(fā)的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),它作為平臺(tái)兼容性能良好,是WINDOWS操作系統(tǒng)中最為方便的數(shù)據(jù)庫(kù)平臺(tái)。它界面友好,容易操作,編程接口豐富,它與Unity 3D更便于連接,并且應(yīng)用廣泛,出于通用性的考慮,采用SQL server2000數(shù)據(jù)庫(kù)是虛擬仿真教學(xué)系統(tǒng)設(shè)計(jì)的最佳選擇。
3.系統(tǒng)設(shè)計(jì)軟件
虛擬仿真教學(xué)系統(tǒng)可以第一視角虛擬漫游,其模式與游戲有很多相似之處,采用游戲引擎完成平臺(tái)系統(tǒng)的設(shè)計(jì)可以說(shuō)是一個(gè)非常好的選擇。
Unity是一款全面整合了三維場(chǎng)景、動(dòng)畫(huà)效果和三維視頻的專業(yè)游戲引擎,它主要具備以下三個(gè)突出優(yōu)點(diǎn):
(1)操作簡(jiǎn)便、容易上手??梢詮耐獠繉?dǎo)入FBX格式模型文件,還自帶第一人稱視角,只要在Unity中編輯地面信息資料,基本的虛擬漫游操作就可以被實(shí)現(xiàn)。
(2)開(kāi)發(fā)語(yǔ)言多樣。C語(yǔ)言和JAVASCRIPT語(yǔ)言都可以對(duì)Unity 3D進(jìn)行開(kāi)發(fā),而且,Unity 3D程序的封裝性能非常好,有豐富的插件資源可以選用,只需要相關(guān)的函數(shù)調(diào)用即可實(shí)現(xiàn)很多功能。
(3)發(fā)布范圍廣,通用性良好。采用Unity 3D制作的系統(tǒng)可以發(fā)布在個(gè)人電腦、網(wǎng)頁(yè)、安卓手機(jī)系統(tǒng)、游戲盒子以及Windows電話等當(dāng)今主流平臺(tái)上,只需要修改非常少量的代碼,就可以實(shí)現(xiàn)平臺(tái)的移植。對(duì)于日后移動(dòng)端推廣虛擬仿真平臺(tái)系統(tǒng)具有非常重要的意義。
教學(xué)系統(tǒng)采用Unity 3D進(jìn)行開(kāi)發(fā)與制作,在進(jìn)行具體的開(kāi)發(fā)設(shè)計(jì)時(shí)應(yīng)注意以下事項(xiàng):
1.Unity 3D開(kāi)發(fā)特點(diǎn)
(1)層級(jí)性綜合開(kāi)發(fā)環(huán)境,視覺(jué)化編輯手段,詳盡的屬性編輯器及動(dòng)態(tài)資源預(yù)覽。具有獨(dú)特的層級(jí)性組織架構(gòu),可以將物體之間建立母子關(guān)系,使系統(tǒng)層次更加明確。層級(jí)性的組織管理形式也更符合人們的思維模式,開(kāi)發(fā)者使用起來(lái)更容易上手。
(2)資源的自動(dòng)導(dǎo)入。項(xiàng)目中的資源可以被自動(dòng)導(dǎo)入,還可以根據(jù)資源的改動(dòng)進(jìn)行自動(dòng)更新??梢灾С执蟛糠种髁魅S建模軟件,包括3D MAX,SketchUp,以及Maya等。
(3)支持凹凸貼圖(bump mapping)、反射貼圖(reflecton mapping)、環(huán)境剔除(screen space)、陰影貼圖(shadow map)技術(shù),并支持渲染紋理(render to texture)和后處理(post processing)效果。
(4)支持使用shader lab語(yǔ)言進(jìn)行shader編寫(xiě),可分為頂點(diǎn)著色器和像素著色器。
(5)內(nèi)置使物體具備重力、阻力、速度以及加速度的屬性設(shè)置,對(duì)NIVDIA中的Physx physics engine支持,從而使虛擬的物體具備真實(shí)世界中物理反饋的表達(dá)。
2.Unity 3D的建模規(guī)范
(1)建模單位的設(shè)定。建模一般以米為單位。為避免共、反面的出現(xiàn)可將面統(tǒng)一調(diào)到正視圖位置,直接在max中進(jìn)行渲染,如果有閃爍出現(xiàn)則說(shuō)明存在共面,如果看不到這個(gè)面則說(shuō)明是反面。將模型導(dǎo)出模型文件(Fbx文件),存到Unity 3D中,在非運(yùn)行狀態(tài)下移動(dòng)(上下左右方向)可檢查漏面。漏面是建模過(guò)程中出現(xiàn)的比較麻煩的一個(gè)問(wèn)題,應(yīng)在建模過(guò)程中及時(shí)檢查和修改。
(2)命名規(guī)則。Unity 3D原則上不支持中文命名,原始模型、導(dǎo)出模型、貼圖文件必須要使用英文名稱。在max中,若采用中文名稱,子模型不容易被Unity找到。那是因?yàn)槟P褪且宰幽P偷拿Q出現(xiàn)在Unity 菜單中的,中文名能造成模型的丟失。只有材質(zhì)的名稱可以使用中文名。
(3)材質(zhì)要求。Unity 3D對(duì)材質(zhì)有特殊要求,僅標(biāo)準(zhǔn)材質(zhì)和標(biāo)準(zhǔn)材質(zhì)下的多維子材質(zhì)(Multidimensional sub-materials)被Unity支持。貼圖方面,只有位圖文件類型貼圖、不帶通道的JPG貼圖以及帶通道的TGA貼圖被Unity 3D所支持。并且通道要求顏色反射、自發(fā)光以及不透明度。
(4)模型備份標(biāo)準(zhǔn)和提交方式。所有烘焙貼圖、原始貼圖、烘焙前后模型以及未塌陷的原始模型,即全部貼圖和相應(yīng)文件都應(yīng)該保存在統(tǒng)一的文件夾下。保存時(shí)注意文件齊全,便于后續(xù)的修改和使用。
3.Unity 3D建模技巧
Unity 3D中模型的加載會(huì)占用內(nèi)存,場(chǎng)景內(nèi)如果模型數(shù)量較多,則系統(tǒng)很可能存在卡頓現(xiàn)象,無(wú)法流暢運(yùn)行。因此,建模的標(biāo)準(zhǔn)之一就是重視簡(jiǎn)模模型的使用,模型的面數(shù)盡量不要超過(guò)5000,將模型的面數(shù)盡可能的控制。
下面簡(jiǎn)要列出一些建模的準(zhǔn)則和面精簡(jiǎn)的小技巧:
(1)巧用貼圖替代模型的建立。例如需要表現(xiàn)一些細(xì)長(zhǎng)狀的物體,如窗欄、扶手等物體時(shí),就可以采用這種技巧減少模型的數(shù)量,避免渲染時(shí)出現(xiàn)的鋸齒和閃爍等現(xiàn)象。
(2)控制場(chǎng)景中模型數(shù)量,模型的分布要均勻,盡量轉(zhuǎn)化多邊形物體或使用塌陷命令。
(3)合并場(chǎng)景中距離較近的同樣材質(zhì)的模型,巧妙利用附加方式。
(4)嚴(yán)格控制模型不同面之間的距離,以免彼此距離過(guò)近出現(xiàn)閃爍現(xiàn)象。確實(shí)距離過(guò)近時(shí),可以通過(guò)面的嵌套完成制作。
(5)刪減底面、高處邊沿等看不見(jiàn)或不被注意的面,從而減少面的總數(shù)。
綜上,本文著重介紹了虛擬仿真實(shí)訓(xùn)教學(xué)系統(tǒng)開(kāi)發(fā)設(shè)計(jì)過(guò)程中所使用到的軟件,并將所用軟件與其他同類軟件進(jìn)行比較分析,重點(diǎn)論述Unity 3D在虛擬仿真教學(xué)系統(tǒng)設(shè)計(jì)過(guò)程中的使用方法及技巧,希望能有益于今后各院校虛擬仿真教學(xué)系統(tǒng)的開(kāi)發(fā)與設(shè)計(jì)。
馮珊珊(1981—),遼寧遼陽(yáng)人,遼寧建筑職業(yè)學(xué)院講師,主要研究方向:應(yīng)用電子、信息化教學(xué)。