遼寧建筑職業學院 馮珊珊
淺析虛擬仿真教學系統建設的相關技術
遼寧建筑職業學院馮珊珊
本文主要比較分析虛擬仿真實訓教學系統開發設計過程中所使用到的開發軟件、數據庫軟件、系統設計軟件,重點論述Unity 3D在虛擬仿真教學系統設計過程中的使用方法及技巧。
虛擬仿真;教學系統開發;Unity 3D
虛擬仿真教學是借助現代化的技術手段,基于構建主義和虛擬現實理論建立的與傳統教學截然不同的教學模式。虛擬仿真教學內容的設置依托于企業實際崗位,對實際教學中難以展現的細節、不易實施的小概率事件、產品的標準化生產過程、員工安全生產意識等方面進行仿真。
虛擬仿真教學系統的開發首先要進行素材的采集,為保證圖片中設備的色彩與真實相同,選用PHOTOSHOP CS對圖片進行取樣;采集的圖片要盡可能展現大范圍的視角。然后對素材進行建模、導入、發布,具體開發流程如圖1所示。

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