胡建忠
摘要:
虛擬操作訓練是以培訓新職手掌握裝備操作過程為目的的虛擬仿真訓練,能有效避免實裝訓練中的場地規模限制和裝備異常損耗等問題,是虛擬現實技術在機電工程領域應用研究的主要方向之一。以ZYRO-1.5型船用反滲透海水淡化裝置為研究對象,在三維建模和視頻剪輯的基礎上,基于Unity引擎開發了虛擬操作訓練仿真軟件。該軟件可以實現更加自然的人機交互方式和更加真實的水流動態效果,對激發學習興趣、增強感性認識、促進理性理解、提升實踐能力等具有重要作用。
關鍵詞:
unity3d;海水淡化裝置;虛擬操作;訓練仿真
DOIDOI:10.11907/rjdk.172348
中圖分類號:TP319
文獻標識碼:A文章編號文章編號:16727800(2018)003010803
英文摘要Abstract:Purpose of virtual operation training is training new job hand grasp equipment operation process for the purpose of virtual simulation training, effectively avoid the livefire training venue size limit and the abnormal of equipment loss, etc., is a virtual reality technology in the field of mechanical and electrical engineering application research of one of the main direction.Methods to marine reverse osmosis desalination device as the research object, on the basis of 3 d modeling and video clips, based on the unity engine virtual operation training simulation software is developed.Conclusion the experiment can achieve a more natural way of humancomputer interaction and more real flow dynamic effect.The results of the simulation software to stimulate interest in learning, enhance the perceptual knowledge, promote the rational understanding, improve practice ability, etc.
英文關鍵詞Key Words:unity3d; sea water desalting plant; virtual operating; training simulation
0引言
海水淡化裝置是艦船長期海上航行中改善艦員生活水平、維持其它裝備運行所需淡水供給的重要設施[1]。反滲透膜是海水淡化裝置中最重要的組件,一旦操作不當,即會造成膜組件損壞。另外,為了提高產水量和水質,延長膜組件使用壽命,在制水過程中,需要對海水進行預先過濾處理,要求管理人員嚴格按照規程操作,熟練使用該類型裝備[23]。
虛擬操作是虛擬現實技術與動力學、運動學相結合的一種技術,是以培訓新職手掌握裝備操作過程為目的的虛擬仿真訓練[4]。艦船機電裝備、系統比較復雜,在實裝上培訓操作職手不僅周期較長,而且訓練過程中對裝備進行頻繁的啟動與停止作業,容易對裝備造成異常損耗[5]。另外,新職手在操作過程中,由于程序不熟練、心理緊張等原因,容易出現誤操作,導致裝備損壞或人員傷亡等安全事故發生[6]。本文以ZYRO-1.5型船用反滲透海水淡化裝置為例,詳述其設計思路和開發流程,并著重解決同類型虛擬操作訓練仿真軟件中人機交互不自然、裝備動態運行效果較差等問題。
1虛擬操作訓練仿真中的VR關鍵技術
虛擬操作訓練仿真中的VR關鍵技術有:建模技術、三維渲染技術、人機交互技術等。
1.1建模技術
設計虛擬現實系統的基礎工作是創建一個逼真的虛擬環境,該環境包括三維模型、立體聲音等。常用的建模技術有幾何建模、運動建模、軟體建模等。虛擬現實中的建模技術,不僅要滿足形狀和外觀的需要,而且還要滿足交互顯示、交互操作、易于構造等方面的要求。
幾何建模是建模技術中最為基礎的技術。根據對幾何與拓撲信息的描述及存儲方法的不同,幾何建模技術可分為線框建模、表面建模、實體建模3種主要類型。
運動建模是在創建模型時,不僅賦予模型外形、質感等表現特征,而且也賦予模型物理屬性和相應的行為能力與反應能力,并且服從一定的客觀規律。
軟體建模比較復雜,其在外力作用下發生形變或拓撲結構改變,涉及力的反饋問題,主要體現了重量、表面變形、軟硬度等物理屬性 [7]。
1.2三維渲染技術
三維渲染技術以計算機渲染能力為基礎,雖然目前GPU性能得到了很大的提升,但在處理高精細化的大型場景時也往往能力不足。當前該技術的研究方向主要集中在降低GPU的消耗上。如Nvidia的多重分辨率著色渲染技術-MRS(Multi-Resolution Shading),采用分區域差別分辨率的方法,降低GPU的消耗;國內某公司的焦點渲染技術(Foveated rendering),在MRS基礎上,采用眼球追蹤技術,使人眼關注的焦點區域高分辨率顯示,而其它區域從焦點向外逐步遞減顯示。其它相似的技術有FOVE和Eyefluence等[8]。
1.3人機交互技術
人機交互技術是指通過外部設備與界面進行交互操作的具體方法。該技術包含了三維交互、姿態交互、手持移動設備交互、語音交互、力/觸覺交互和多通道交互技術等。本文開發的虛擬訓練仿真軟件,主要采用三維交互技術。三維交互技術是虛擬現實最主要的交互方式,它比二維交互提供了更多的操作自由度,能完成更加復雜的交互任務[9]。
2虛擬操作訓練仿真軟件功能要求與設計思路
2.1功能要求
反滲透海水淡化裝置虛擬操作訓練仿真軟件應該具備兩個主要功能:一是真實裝備操作演示功能;二是虛擬裝備的操作訓練功能。為更好地實現這兩個功能,軟件開發的總體要求是:①實體建模,使虛擬裝備與環境更加貼近實際;②操作演示功能應有字幕、配音等提示,并由用戶自行控制演示進度;③操作訓練功能應具有和實際裝備相似的交互方式和運行效果。
2.2設計思路
為實現上述功能并滿足總體要求,本軟件的設計思路是:首先,利用3Dmax軟件對海水淡化裝置進行實體建模和渲染;其次,錄制實際操作過程的視頻,利用非線性編輯軟件Premiere進行剪輯、字幕制作、配音等操作,并導出一個完整的操作演示視頻和若干個聲音片段;再次,在三維引擎Unity中分別進行主界面、視頻演示和虛擬操作訓練等場景的交互設計;最后,將工程發布到PC平臺,生成應用程序。
3Unity中各場景交互設計
3.1主界面交互功能實現
3.1.1主場景中應實現的功能
主場景主要用于運行應用程序時進入的第一個界面,該界面應具有如下5個功能:①體現應用程序特點的背景圖片;②海水淡化裝置簡介;③應用程序功能介紹;④切換到其它場景;⑤退出應用程序。
3.1.2主界面交互功能實現
主場景中的背景圖片和標題無需交互。退出按鈕只需在點擊時調用Application.Quit方法即可實現,切換場景按鈕只需在點擊時調用SceneManager.LoadScene方法即可實現,介紹文本的顯示與隱藏功能是通過GameObject.SetActive方法實現的。
3.2操作演示場景交互功能實現
3.2.1操作演示場景應實現的功能
該場景用于播放操作演示的視頻。為了讓受訓對象更好地控制視頻播放,需要定制一個播放器,在該播放器中應能實現播放/暫停、停止、播放速度控制、播放進度控制、播放時間顯示、播放音量控制等功能。另外,該場景應該能實現場景切換和程序退出等功能。
3.2.2操作演示場景中主要交互功能實現
(1)視頻總時間與當前播放時間顯示。視頻總時間為視頻片斷的長度myVideo.length,應在初始時顯示并且在視頻播放過程中保持不變,因此其在Start函數中實現。而當前播放時間取自播放器的播放時間myVideoPlayer.time,其在播放過程中是動態變化的,因此須在Update函數中實現。由于獲取的時間為浮點類型數值,無法直接轉化為時間格式的字符串值,因此在顯示之前需作相應的轉換。
(2)播放進度的控制。播放進度主要設置了播放/暫停、停止、快速播放、慢速播放、播放至上一節點、播放至下一節點6個Button控件,主要通過調用VedioPlayer中的play、pause、stop和playbackSpeed等函數實現。對于播放進度跳轉到鄰近節點的功能,則通過給VideoPlayer中的time字段賦值實現。
3.3虛擬操作場景交互功能實現
虛擬操作是海水淡化裝置虛擬操作訓練仿真軟件設計的核心,它既要求虛擬裝備中的閥門、按鈕、手柄等操作部位具有良好的交互性,也要求操作過程中受控對象如指示燈、液晶屏、泵等具有和真實裝備一樣的反饋,同時要求訓練場景、設備運行效果等具有逼真的效果。
3.3.1環境動態建模功能實現
本設計利用兩層循環遍歷在相應位置實例化生成指定的預設體對象,隨即構成包含地板、吊頂、墻體、立柱、地腳線等對象的室內環境。其實現代碼為:
for(int i=0;i<=10;i++){
for(int j=0;j<=10;j++){
Instantiate (floor,new Vector3(-9+2*i,
0,-17+2*j), Quaternion.identity);} }
該方法在Start函數中調用,因此當程序運行時就自動創建室內環境。
3.3.2虛擬操作交互設計
為了使虛擬操作時裝備的響應方式與實際裝備相一致,應先畫出實際裝備的控制流程圖。主程序控制功能必須嚴格按照流程圖設計。
(1)閥門操作交互功能的實現。閥門的交互操作實現方式較為簡單,即當鼠標進入閥門上的碰撞體時,變換光標形狀,當點擊鼠標左鍵時,播放閥門開關的動畫片斷,并將表示閥門開關狀態的布爾變量賦予相應的值。
(2)指示燈開關和泵運行控制。當控制箱上的旋鈕開關處于相應位置時,控制箱面板上的指示燈亮,且對應的供水泵或高壓泵運行。其實現思路是動態獲取控制箱上兩個旋鈕的位置狀態信息,以此控制燈的開關和泵的啟停。其主要代碼為:
if (powerController.GetComponent
if (RotaryKnob_Filter.GetComponent
light_feedPump.GetComponent
audio_feedPump.GetComponent
feedPumpRun = true; }
if (RotaryKnob_System. GetComponent
light_highPressurePump.GetComponent
audio_highpressurePump.GetComponent
enabled = false;
highPumpRun = false; }}
所有代碼編寫完成后,將腳本掛載到相應的場景對象上,并進行對應的設置,即可運行程序。
3.4調試優化與發布
3個場景交互設計全部完成后,需在編輯器中運行調試,查找程序Bug以及與實際裝備操作、運行效果不相符的問題。這些問題逐一解決后,就可以將工程發布到PC平臺上。發布完成后生成兩個文件,一個為可執行文件,一個為數據文件,兩個文件共計498MB。
4結語
反滲透海水淡化裝置作為艦船的重要裝備之一,需要管理人員嚴格按照規程操作使用。本文在三維實體建模、操作視頻錄制與剪輯等工作的基礎上,對照實際裝備的操作控制流程,基于Unity引擎開發了ZYRO-1.5型船用反滲透海水淡化裝置虛擬操作訓練仿真軟件。通過在不同場合的應用發現,該軟件運行穩定,具有操作方便、畫面與聲效逼真、沉浸感強等優點,對激發學習興趣、增強感性認識、促進理性理解、提升實踐能力等作用顯著。
參考文獻參考文獻:
[1]苗超,謝春剛,馮厚軍,等.船用海水淡化技術發展現狀與研究建議[J].船舶工程,2011,33(6):69.
[2]反滲透海水淡化裝置[EB/OL]. http://www.sp.com.cn.
[3]汪國祥,干秦湘,劉潛,等.反滲透海水淡化技術在艦船上的應用研究[J].艦船科學技術,2005,27(z1):710.
[4]張海春,陸阿定.反滲透海水淡化預處理技術研究現狀[J].能源環境保護,2010,24(3):14.
[5]梅繼紅.VR系統中的虛擬操作技術研究[D].北京:北京航空航天大學,2002.
[6]賈晨星,朱元昌,邸彥強.裝備虛擬操作訓練的過程建模方法研究[J].計算機測量與控制,2011,19(12):31023104.
[7]陳懷友,張天馳,張菁.虛擬現實技術[M].北京:清華大學出版社,2012.
[8]武娟,劉曉軍,龐濤,等.虛擬現實現狀綜述和關鍵技術研究[J].廣東通信技術,2016(8):4046.
[9]張鳳軍,戴國忠,彭曉蘭.虛擬現實的人機交互綜述[J].中國科學,2016,46(12):17111736.
責任編輯(責任編輯:劉亭亭)