李萍 謝運燈 謝志宏
摘 要: 針對新型裝甲裝備維修難的問題,提出虛擬維修教學系統的開發思路。采用三維建模軟件構建了裝備的三維模型,從多角度展示裝備外觀及其內部構造;運用虛擬現實軟件,仿真了裝備拆裝、主要工作過程及成像原理。文章介紹了系統開發思路和主要功能,總結了幾點開發經驗。該研究對實施裝備維修培訓和教學意義重大,在最大限度地保證了裝備良好性能的同時,節約了時間,節省了經費,提高了效率。
關鍵詞: 三維模型; 虛擬現實軟件; 虛擬教學系統; 開發思路; 開發經驗
中圖分類號:TP311.52 文獻標志碼:A 文章編號:1006-8228(2018)07-09-04
Abstracts: The article puts forward a development thinking of the virtual maintenance teaching system according to the problem that new type armored equipment is difficult to be repaired. The system builds three-dimensional model of equipment via the three-dimensional modeling software. The appearance and the inner construction of equipment are showed from multiple angles. And the disassembly and assembly of equipment, the main work process and imaging principle are simulated with the help of the virtual reality software. The article also introduces the development thinking and main function of this system and sums up some development experiences. The study has an important meaning for carrying out teaching and training in equipment maintenance. On one hand, it makes sure the good performance of equipment to the utmost extent; on the other hand, it saves time and money and improves the efficiency.
Key words: three-dimensional model; virtual reality software; virtual teaching system; development thinking; development experience
0 引言
目前,我軍新型裝甲裝備結構復雜、技術先進、精密度提高,因此設備修理的難度也大。由于缺乏專業的維修人才,對部隊戰斗力的生成造成極大的影響[1]。另外,對于院校而言,裝備配備數量少,學員人數多,難以滿足學員的學習需求;同時,頻繁的拆裝練習也會減少裝備使用壽命[2]。所以,開發裝備虛擬維修教學系統具有重要的意義。
本文基于三維建模技術和虛擬現實技術,研究了裝備的虛擬維修教學系統[3-4]。論文介紹了開發虛擬教學系統的基本思路,說明了系統的主要功能,闡述了開發裝備虛擬教學系統的關鍵技術和經驗心得。該系統的三維模型直觀、逼真,演示動畫生動、形象,表現力強,系統運行流暢、交互性好。該研究縮短了裝備維修學習和培訓時間,節省了人力和財力,提高了效率,最大限度地保證了裝備的良好技術性能。
1 系統開發思路
一個好的虛擬維修教學系統首先要滿足維修人員或待培訓對象對系統的使用需求;其次要界面友好、運行流暢;最后要有高逼真度的模型、強表現力的動畫。因此開發虛擬維修系統前先與系統使用對象溝通,熟悉用戶的實際需求、知識水平及操作習慣,以便有的放矢。爾后要力求系統操作簡單、容易上手,有良好的人機交互界面和推廣應用價值。接下來構建高質量、高效率的模型。模型是系統的靈魂,只有模型簡潔、真實,占用內存空間盡可能小,才能使系統運行流暢、富有表現力。最后再運用虛擬現實軟件或游戲引擎搭建維修系統。基于這些考慮,該虛擬維修系統開發思路如下。
1.1 根據使用對象需求和知識背景,確定系統基本功能和主要功能界面
系統主要用于對維修人員或學員培訓,培訓面臨的主要問題是裝備數量少,學員實踐機會少,理解原理和工作過程有困難[1]。為此,系統的基本功能是讓使用者通過該系統深入了解和熟悉裝備的構造和工作過程、促進學員對原理的理解和掌握,通過模擬故障現象分析故障原因、定位故障部位、實施故障維修的目的。綜合考慮部隊維修人員接觸裝備多,但理論基礎差;而學員理論基礎好,對裝備構造感受不深的實際情況,確定系統的主要功能為多方位展示裝備的整體和內部構造、動畫分步演示拆裝過程及工作過程。界面以文字加語音提示方式給出拆裝步驟,操作簡單、交互性好。如圖1為系統的主要功能界面。
1.2 根據系統功能特點和運行環境要求,確定模型構建基本方法和優化思路
目前,三維建模軟件3DS Max由于其豐富的建模方式和良好的軟件兼容性而廣為流行[5-6]。其建模方式靈活,所建模型細膩,完全能實現系統要求的功能,模型經過優化后,也能夠達到運行環境要求。
為簡化建模過程,在建模前首先根據系統功能特點,細化任務。即先弄清楚哪些部件要制作動畫,動畫表現形式怎樣,進而區分哪些部件需要單獨建模,哪些部件可作為一個整體進行建模,這樣可大大節省建模時間,提高效率,同時還可減少內存占用,使系統運行更加流暢。3DS Max軟件有多種建模方法[5-6],但建立基礎模型時較常采用的是內置幾何體建模或樣條線建模,模型細化時多采用復合對象建模、修改器建模或多邊形建模。
模型建好后,為進一步提高運行效率,進行模型優化處理是必不可少的。優化的基本原則是在保證模型逼真的前提下,盡可能減少內存空間占有率。優化的最基本方法是進行減面處理和模型簡化,一般將不影響視覺效果的部分刪減或者減面,通常發生在建模中和建模后,可以邊建模邊觀察,盡量降低分段和邊數;對于特別復雜的模型,為減少其面數,通常的方法是先構建復雜模型,然后將其烘焙成*.tga或*.jpg圖片,之后再構建簡單模型,將*.tga或*.jpg圖片作為貼圖加載到模型表面;對于相同的部件,在建模時盡量選擇實例,這樣只是指向原對象的一個指針,大大節省了內存空間;還可以利用細節層次LOD(Level of Detail)來簡化模型,如果物體離視點遠,或比較小,用較粗的LOD繪制;如果物體離視點近,或比較大,用較細的LOD繪制。
1.3 考慮系統兼容性和動畫的生動、流暢性,選擇合適的軟件搭建虛擬維修系統
EON Studio是極受海內外歡迎的VR制作軟件,易學易用,常用于制作產品的虛擬演示,在醫療、教育等行業也有廣泛的應用[7-8]。3DS Max與EON Studio有很好的兼容性,由3DS Max構建的模型可方便地導入EON Studio中,并通過添加節點、設置屬性,可給模型加上動作、行為。為此,將3DS Max 2012與 EON Studio 7.0結合開發虛擬維修系統不失為一種好的選擇。
需要注意的是:3DX Max模型直接導入EON后,容易出現零件位置變動、材質和顏色信息丟失等問題。最好通過EON Raptor插件導出,這樣可以保留模型的所有信息;另外在建模前要做好單位設置,即選擇菜單欄中的[自定義]|[單位設置]命令,在彈出的[單位設置]對話框中,將[顯示單位比例]和[系統單位比例]設置為[毫米],否則合并后的部件模型導入EON后將出現位置錯亂。
2 系統主要功能和開發經驗介紹
2.1 系統主要功能
本虛擬維修教學系統主要包括系統概述、構造、工作過程和成像原理四大部分。其功能框架圖如下圖2所示。概述部分從系統角度出發,通過動畫方式逐次展示系統的構成;構造部分以動畫方式展示各分部件的安裝位置、構成及拆裝過程;工作過程部分根據不同工況來演示操作流程和信號流向;成像原理部分動態展示了系統的光路走向。每部分均輔以同步文字和語音。
2.2 幾點開發經驗
⑴ 模型減面技巧
下面列舉幾個建模中非常實用的減面方法。構建圓柱體時,默認的高度分段為5,一般設為1即可;默認的邊數為18,根據需要修改為12或6;構建圓環時,如果不要求很精細的情況下,最好不直接利用內置幾何體中的圓環建模,而是先構建一個圓柱體,然后利用復合對象建模挖掉中間(利用“布爾”運算);構建電線或電纜時,不用圓柱體建模,采用二維線條加大徑向厚度的建模方法,可大大減少面數。當然,具體到某個對象,也可以在建模中根據視覺效果實時進行參數修改。
⑵ EON中對象命名方法
三維模型導入EON后,基本模型對象將以框架節點的形式呈現。無論在三維軟件中模型的名稱為漢字還是英文,導入EON后文件名稱均變為英文和數字的結合,如何在龐大的節點群中找到具體的部件對象,對使用者來說是一個挑戰。下面給出了快速找出節點和對象對應關系的方法,以供參考。
打開EON文件,運行模擬程序,選中工具菜單中的
⑶ EON中顏色和貼圖修改
多數情況下,模型導入EON后,會出現色差或貼圖丟失,返回3DS MAX修改顏色或者貼圖比較麻煩,筆者根據使用經驗,摸索出在EON中修改顏色和貼圖信息的方法。技巧如下:在模擬樹窗口中展開需要修改顏色的對象節點,點擊Material下的
⑷ EON制作分步拆裝動畫技巧
用EON制作動畫常用的節點為傳感器節點ClickSensor、位置節點Place、任務組節點MemoryTask和任務節點Task。ClickSensor節點用于響應鼠標在指定對象上的單擊;Place節點用于設置對象的位置坐標;MemoryTask節點用于將各Task節點成組,并依序執行;Task節點用于設置對象激活之前和之后的行為(注意:程序一運行即激活MemoryTask下的第一個Task節點,當第一個Task節點執行完RequestCompleted后,則自動激活第二個Task節點。)。
下面結合EON的模擬樹和路由窗口詳細闡述這一過程。圖5、6分別為模擬樹窗口和路由窗口的部分截屏。
如圖5,從節點/元件窗口分別拖放ClickSensor節點(此處命名為“保護玻璃分解”)、Place節點(分別命名為“前保護玻璃”和“Place1”)、MemoryTask節點(命名為“手動”)、Task節點(依次命名為“Task”、“Task1”、……)、Frame節點(命名為“Frame”、“Frame1”)和TextBox節點到模擬樹窗口相應節點下。
根據圖6中的路由圖依次將各節點從模擬樹窗口拖放至路由窗口,并將輸入和輸出進行相應關聯即可。需要說明的是:Frame節點初始屬性設置為隱藏,見圖7中紅框。當Task1激活時,執行ActiveOnStarted,這時Frame節點屬性由“隱藏”變為“顯示”(意味著激活),當將ClickSensor的輸出屬性OnButtonDownTrue連接到Frame的輸入屬性SetRun_,并單擊保護玻璃對象時,Frame節點屬性由“顯示”變為“隱藏”,此時其輸出屬性“OnRunFalse”為真,激活后面的Place節點的SetRun輸入屬性,保護玻璃移動到Place節點設置的位置。而當Task1未激活時,Frame屬性一直為“隱藏”,即使單擊對象,Frame節點也不會有響應,即仍然為“隱藏”,此時其輸出屬性“OnRunFalse”始終為假,對后面的Place節點不會有任何影響,所以對象不會移動。這樣的設置保證了拆裝過程的順序性(即在前一步未執行完成時,在下一個對象或部件上單擊鼠標,不會有任何反應,只有當前一個部件拆裝完成后,單擊下一個部件時該部件才動作。)。為了以文字方式顯示拆裝步驟,在Task1節點的ActivateOnStarted下面還增加了Frame1節點,并在其下放置了TextBox節點(可以在其屬性窗口中添加文字,見圖8),用于在分解之前進行文字提示。
為實現手動和自動分解、裝配功能,還可以在Camera節點下增加元件TextBoxButton,并在路由窗口中進行相應的關聯。
3 結論與展望
本文將三維建模軟件3DS Max 2012和虛擬仿真軟件EON Studio 7.0結合,基于C語言,用Unity軟件構建系統界面,探索了虛擬維修教學系統的開發,解決了裝備短缺和實踐教學之間的突出矛盾,提高了維修培訓和院校課堂教學的效率,是虛擬技術應用的一個很好實例。研究表明,系統經過適當地拓展后,還可實現維修保養和遠程監控等功能,隨著信息技術的發展,該系統將會有廣闊的應用空間。
參考文獻(References):
[1] 李萍.裝備構造與原理類課程教學模式改革研究報告[R].裝甲兵工程學院高等教育研究中心,2016.
[2] 謝運燈.96A坦克炮瞄鏡下鏡體組件虛擬拆裝[D].裝甲兵工程學院碩士學位論文,2017.
[3] 張海榮,陳云虹.基于虛擬現實技術的醫學教學系統設計[J].西安郵電大學學報,2015.20(3):120-124
[4] 汪余博,涂海寧.某型艦炮撥彈機虛擬仿真教學系統的研究[J].機械工程與自動化,2011.165(2):36-38
[5] 曹茂鵬.3ds Max 2012完全自學教程[M].人民郵電出版社,2012.
[6] 曹茂鵬.3ds Max 2012從入門到精通[M].清華大學出版社,2013.
[7] 于輝,趙經成,付戰平等.EON入門與高級應用技巧[M].國防工業出版社,2008.
[8] 王嵐,劉怡,梁忠先.虛擬現實EON Studio應用教程[M].南開大學出版社,2007.