吳敬兵, 蔣敦純(武漢理工大學 機電工程學院, 武漢 430070)
近年來,虛擬現(xiàn)實技術已經(jīng)在許多領域發(fā)揮著的重要作用[1]。由于虛擬現(xiàn)實的沉浸性、交互性和構想性的特點,在教學領域,應用該技術開發(fā)的虛擬教學平臺能夠讓操作者在課堂中就產(chǎn)生身臨生產(chǎn)現(xiàn)場的感覺[2]。這種虛擬教學模式[3]結合了理論教學和現(xiàn)場體驗,對解決普通高等院校實驗教學環(huán)節(jié)的突出矛盾[4]具有很強的經(jīng)濟性和實用性價值,并成為現(xiàn)代教育領域中的一項重要應用[5]。
水泥是建材行業(yè)的支柱產(chǎn)業(yè)之一。而當前國內各大院校建材專業(yè)(水泥方向)的教學仍然使用依靠文字、圖片的教學方式。在水泥廠的參觀實習環(huán)節(jié),往往受制于安全因素的制約,無法對生產(chǎn)設備的工作原理有更加深入細致的認識。因此研制干法水泥生產(chǎn)虛擬現(xiàn)實教學平臺具有現(xiàn)實意義[6]。
Uigine擁有逼真的三維渲染效果和強大的物理模塊。高效率和良好的架構使其成為一個高度可擴展的解決方案。Unigine的可視化編輯器UnigineEditor給虛擬場景的管理提供極大的便捷。UnigineEditor擁有以下功能:管理對象、效果和燈光;編輯物理特性;精細調整、渲染設置等。UnigineScript是Unigine的腳本語言,這是一種類似于C++語法的腳本語言,擁有內置3D數(shù)學,內置調試器和性能分析器等功能模塊。
三維模型是虛擬場景的基礎,模型的真實程度將決定虛擬場景的沉浸效果[7]。為此,在湖北某水泥廠實地參觀并查閱了相關資料后通過水泥廠設計中的三維設計[8]方法,計算了工藝設備的設備參數(shù),并對設備進行了選型。根據(jù)這些參數(shù)在SolidWorks中進行工藝設備建模。
考慮到機械設備模型的特征復雜以及擁有大量的細小的結構,必將在繪制場景時消耗大量資源。因此,尋找一種優(yōu)化三維模型以減少擬合模型外觀的三角面數(shù)量[9]的方法是十分必要的。鑒于CAD的建模方法和模型格式,提出了基于SolidWorks的二次開發(fā)以實現(xiàn)模型特征識別及減除的優(yōu)化方法。具體實現(xiàn)步驟為:遍歷模型的所有幾何特征,并獲取各種特征類型的參數(shù),根據(jù)這些參數(shù)數(shù)據(jù)選擇性刪除部分不必要特征,以達到模型優(yōu)化的目的。
允許用戶使用交互設備與虛擬環(huán)境進行實時交互是虛擬漫游系統(tǒng)最重要的特性之一[10]。干法水泥生產(chǎn)工藝虛擬教學平臺選用無線手柄作為用來接收來自用戶的信息和命令[11]的輸入設備,并采用了紅外光學位置追蹤解決方案對無線手柄在現(xiàn)實三維環(huán)境中的位置進行追蹤。基于虛擬現(xiàn)實外圍設備網(wǎng)絡(Virtual-Reality Peripheral Network,VRPN)[12]提供在虛擬現(xiàn)實系統(tǒng)中實現(xiàn)應用程序與外圍物理設備之間的網(wǎng)絡透明接口[13],實現(xiàn)對無線手柄的響應監(jiān)聽和位置追蹤。
教學平臺的主菜單界面可被無線手柄按鍵呼出,始終顯示在視口相機前方,可通過點擊觸發(fā)相應的交互內容;為提高平臺的沉浸性效果,部分交互內容綁定在場景模型中,當用戶在虛擬環(huán)境中到達這些場景模型附近時,該類可交互模型顯示高亮光以提示可通過點擊觸發(fā)。無論是主菜單界面還是可交互場景模型,基本原理都是在場景中添加的三維模型。用戶使用無線手柄點擊,是通過射線拾取目標模型,根據(jù)模型節(jié)點名稱以及部分自定義的節(jié)點屬性信息而觸發(fā)相應的使用UnigineScript實現(xiàn)的交互響應內容。
系統(tǒng)虛擬場景具有自由漫游和路徑漫游兩種漫游方式[14]。自由漫游功能允許用戶通過交互設備控制相機按照漫游操作器的方式改變位置和朝向。路徑漫游是允許操作者按照既定路徑實現(xiàn)在場景中漫游的功能。該功能的實現(xiàn)方法是在場景中新建一個相機Camera,以關鍵幀動畫方式插入相機位置、朝向的關鍵幀,生成動畫文件,在響應內容中加載該動畫文件。
通過在場景中的顯示文字、圖片和視頻的形式向用戶提供工藝介紹信息,既利用了傳統(tǒng)教學資源,也符合人機交互友好的原則。該功能允許操作者在使用漫游功能的同時,顯示的文字、圖片和視頻能夠跟隨視口相機移動,始終對于用戶視角可見。該功能的實現(xiàn)方法是:將圖片和文字貼在場景中的三維模型節(jié)點Board上。先獲取當前視口相機的世界坐標矩陣tranform_camera。并獲取和計算相機的三個單位方向向量vec_direction,vec_up,vec_right。而上文中提到的相對于視口相機的固定位置vec_offset(x0,y0,z0)正是通過以vec_direction,vec_up,vec_right這個單位方向向量建立的坐標系表示的。那么Board的世界坐標矩陣則可以表示為:(vec_direction *x0+vec_up *y0+vec_right *z0)+ tranform_camera。
圖1 公告板世界坐標計算示意圖
以上設置三維模型世界坐標始終相對于視口相機處于固定位置的方法,同樣會被使用以實現(xiàn)主菜單界面跟隨用戶移動并始終顯示在用戶視口前方的功能。
當用戶希望快速到達虛擬水泥生產(chǎn)線的某一特定生產(chǎn)環(huán)節(jié)時,快速定位功能就顯得尤為必要??焖俣ㄎ还δ艿膶崿F(xiàn)方法是預先獲取相機目標位置的世界坐標數(shù)據(jù),存儲在配置文件中。在交互內容中先獲取當前視口相機,將目標坐標數(shù)據(jù)設置為當前相機的世界位置坐標。在這項功能的實現(xiàn)時需要預先完成一個可以實現(xiàn)獲取當前相機并記錄并存儲該相機世界位置坐標的功能插件。
虛擬教學平臺的開發(fā)需要從需求分析入手,設計教學平臺各模塊實現(xiàn)的功能。具體則需要綜合運用水泥廠設計,三維建模和虛擬現(xiàn)實等技術。平臺開發(fā)流程如圖2所示。
為了展現(xiàn)還原度很高的干法水泥生產(chǎn)工藝虛擬環(huán)境,需要采集現(xiàn)實世界的數(shù)據(jù)以支撐虛擬世界的建立。對湖北某水泥廠現(xiàn)場工藝設備外觀參數(shù)進行測量,或運用水泥廠的設計方法設計設備的重要參數(shù),為設備建模提供數(shù)據(jù)基礎。并使用數(shù)碼相機拍攝清晰的照片,使用圖像處理軟件制作成場景模型的材質貼圖,使虛擬場景更加真實以增加用戶在虛擬場景中的沉浸感[15]。
該虛擬教學平臺使用的水泥工藝生產(chǎn)線模型主要分為工藝設備模型、地形地貌和建筑物模型。由于平臺的核心目的是展示干法水泥工藝原理,所以使用建模軟件SolidWorks對設備進行精密建模。而地形地貌和建筑物的模型較大,精度要求也不高,采用了使用3d Max的建模方式。將所有模型導入到UnigineEditor中,對場景中節(jié)點進行規(guī)范化命名并梳理節(jié)點父子級,將提升虛擬場景管理的便捷性。水泥廠場景如圖3所示。
圖2 平臺開發(fā)流程圖 圖3 水泥廠場景圖
交互平臺中用戶界面的交互按鈕分為3級。主交互界面以水泥工藝流程為設計原型。主交互界面如圖4所示,主要有兩種功能:單擊定位至按鈕對應的生產(chǎn)環(huán)節(jié)地理位置,隱藏主交互界面并呼出對應流程環(huán)節(jié)的2級交互界面。2級交互界面是根據(jù)各個流程環(huán)節(jié)的具體需要實現(xiàn)的功能設計的,如圖5所示。當單擊主交互界面的特定工藝環(huán)節(jié)按鈕時呼出2級交互界面,移動光標至2級交互界面的特定內容按鈕,呼出3級交互界面。3級交互界面的按鈕有以下兩種功能:觸發(fā)相應的交互內容,點擊“返回”按鈕時返回主交互界面并清空3級交互界面按鈕觸發(fā)的交互內容效果。圖6所示是按鈕觸發(fā)的設備拆卸效果圖。
該平臺的交互內容主要分為3種:流程漫游教學、工藝環(huán)節(jié)講解、重要設備講解。
流程漫游教學是按照新型干法水泥生產(chǎn)工藝流程路徑的漫游教學,并配有音頻向用戶介紹各生產(chǎn)環(huán)節(jié)的工作原理和原料在各流程環(huán)節(jié)的狀態(tài)。這項內容是通過在應用流程漫游技術的同時載入并播放音頻文件的方法實現(xiàn)的。
工藝環(huán)節(jié)講解是向用戶介紹水泥各個生產(chǎn)環(huán)節(jié)的具體內容,如相關重要設備的工作原理及物料在設備中的狀態(tài)。
圖4 主交互界面圖 圖5 二級交互界面
重要設備講解是設置在中控室三維交互按鈕的交互內容,主要通過播放視頻向操作者介紹水泥生產(chǎn)中一些重要設備的工作原理,如顎式破碎機,球磨機等。中控室交互按鈕如圖7所示。
圖6 設備拆卸效果 圖7 中控室交互按鈕
干法水泥生產(chǎn)虛擬現(xiàn)實教學平臺綜合運用了新型干法水泥工藝設計,SolidWorks和3d Max在建模、材質和貼圖、燈光、渲染,基于Unigine引擎的虛擬交互平臺開發(fā)等相關技術。教學平臺的開發(fā)基于數(shù)據(jù)采集、模型建立、交互界面設計和交互內容的實現(xiàn)等技術手段,實現(xiàn)了三維場景虛擬漫游,三維公告板顯示文字、圖片和視頻,快速定位及模型動畫的加載和實時播放。
參考文獻(References):
[1] Prasolova-F?rland E, Fominykh M, Wyeld T G. Virtual campus of NTNU as a place for 3D educational visualizations[J]. Global Learn, 2010(1):3593-3600.
[2] 高宇順. 虛擬工廠在實訓教學中的作用[J]. 科教導刊(電子版), 2014(14s):41-42.
[3] Bota F, Farinetti L, Rarau A. An educational-oriented framework for building on-line courses using XML[C]// IEEE International Conference on Multimedia and Expo. IEEE, 2002:19-22 vol.1.
[4] 黃向紅, 曾喆昭. 實驗室改革與虛擬實驗室探討[J]. 實驗室研究與探索, 2000, 19(6):70-72.
[5] Gomez J. Education and virtual reality[J]. Social Science Electronic Publishing, 2016.
[6] 武海燕, 張寶光, 楊永利. 基于虛擬現(xiàn)實技術的水泥生產(chǎn)過程模擬系統(tǒng)設計[J]. 江西建材, 2016(15):258.
[7] 楊玉婷, 楊佳平. 虛擬校園漫游與實時可視化研究[J]. 計算機工程與科學, 2014, 36(8):1588-1594.
[8] 相 沖, 郭天代, 陳 剛,等. 三維設計方法在水泥工廠設計中的應用[J]. 水泥技術, 2009(6):27-30.
[9] 高 斌. 曲面造型中NURBS曲面曲線離散及顯示算法的研究與實現(xiàn)[D]. 杭州:浙江大學, 2002.
[10] 鄧見光, 袁華強. 基于游戲引擎的三維虛擬漫游系統(tǒng)實現(xiàn)[J]. 計算機應用與軟件, 2012, 29(3):122-124.
[11] 孫福臻, 閻勤勞, 單忠德,等. 機械虛擬現(xiàn)實技術的應用與發(fā)展[J]. 機械設計與制造, 2010(5):264-266.
[12] Taylor R M, Hudson T, Seeger A,etal. VRPN: A device-independent, network-transparent VR peripheral system[C]//Proceeding of ACM symposium on virtual reality software and technology, 2001: 55-61.
[13] Steindecker E, Stelzer R, Arndt S,etal. Expanding VRPN to tasks in virtual engineering[C]// ASME 2014 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, American society of mechanical engineers. 2014:V01BT02A026-V01BT02A026.
[14] 郭 晨, 葉 榛, 史成軍,等. 船舶機艙虛擬現(xiàn)實仿真系統(tǒng)[J]. 中國造船, 2004, 45(3):64-69.
[15] Burdea G C, Coiffet P. Virtual Reality Technology[M]. John Wiley & Sons, Inc., 2003.