胡建忠
摘要:
虛擬操作訓(xùn)練是以培訓(xùn)新職手掌握裝備操作過(guò)程為目的的虛擬仿真訓(xùn)練,能有效避免實(shí)裝訓(xùn)練中的場(chǎng)地規(guī)模限制和裝備異常損耗等問(wèn)題,是虛擬現(xiàn)實(shí)技術(shù)在機(jī)電工程領(lǐng)域應(yīng)用研究的主要方向之一。以ZYRO-1.5型船用反滲透海水淡化裝置為研究對(duì)象,在三維建模和視頻剪輯的基礎(chǔ)上,基于Unity引擎開(kāi)發(fā)了虛擬操作訓(xùn)練仿真軟件。該軟件可以實(shí)現(xiàn)更加自然的人機(jī)交互方式和更加真實(shí)的水流動(dòng)態(tài)效果,對(duì)激發(fā)學(xué)習(xí)興趣、增強(qiáng)感性認(rèn)識(shí)、促進(jìn)理性理解、提升實(shí)踐能力等具有重要作用。
關(guān)鍵詞:
unity3d;海水淡化裝置;虛擬操作;訓(xùn)練仿真
DOIDOI:10.11907/rjdk.172348
中圖分類(lèi)號(hào):TP319
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):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.
英文關(guān)鍵詞Key Words:unity3d; sea water desalting plant; virtual operating; training simulation
0引言
海水淡化裝置是艦船長(zhǎng)期海上航行中改善艦員生活水平、維持其它裝備運(yùn)行所需淡水供給的重要設(shè)施[1]。反滲透膜是海水淡化裝置中最重要的組件,一旦操作不當(dāng),即會(huì)造成膜組件損壞。另外,為了提高產(chǎn)水量和水質(zhì),延長(zhǎng)膜組件使用壽命,在制水過(guò)程中,需要對(duì)海水進(jìn)行預(yù)先過(guò)濾處理,要求管理人員嚴(yán)格按照規(guī)程操作,熟練使用該類(lèi)型裝備[23]。
虛擬操作是虛擬現(xiàn)實(shí)技術(shù)與動(dòng)力學(xué)、運(yùn)動(dòng)學(xué)相結(jié)合的一種技術(shù),是以培訓(xùn)新職手掌握裝備操作過(guò)程為目的的虛擬仿真訓(xùn)練[4]。艦船機(jī)電裝備、系統(tǒng)比較復(fù)雜,在實(shí)裝上培訓(xùn)操作職手不僅周期較長(zhǎng),而且訓(xùn)練過(guò)程中對(duì)裝備進(jìn)行頻繁的啟動(dòng)與停止作業(yè),容易對(duì)裝備造成異常損耗[5]。另外,新職手在操作過(guò)程中,由于程序不熟練、心理緊張等原因,容易出現(xiàn)誤操作,導(dǎo)致裝備損壞或人員傷亡等安全事故發(fā)生[6]。本文以ZYRO-1.5型船用反滲透海水淡化裝置為例,詳述其設(shè)計(jì)思路和開(kāi)發(fā)流程,并著重解決同類(lèi)型虛擬操作訓(xùn)練仿真軟件中人機(jī)交互不自然、裝備動(dòng)態(tài)運(yùn)行效果較差等問(wèn)題。
1虛擬操作訓(xùn)練仿真中的VR關(guān)鍵技術(shù)
虛擬操作訓(xùn)練仿真中的VR關(guān)鍵技術(shù)有:建模技術(shù)、三維渲染技術(shù)、人機(jī)交互技術(shù)等。
1.1建模技術(shù)
設(shè)計(jì)虛擬現(xiàn)實(shí)系統(tǒng)的基礎(chǔ)工作是創(chuàng)建一個(gè)逼真的虛擬環(huán)境,該環(huán)境包括三維模型、立體聲音等。常用的建模技術(shù)有幾何建模、運(yùn)動(dòng)建模、軟體建模等。虛擬現(xiàn)實(shí)中的建模技術(shù),不僅要滿足形狀和外觀的需要,而且還要滿足交互顯示、交互操作、易于構(gòu)造等方面的要求。
幾何建模是建模技術(shù)中最為基礎(chǔ)的技術(shù)。根據(jù)對(duì)幾何與拓?fù)湫畔⒌拿枋黾按鎯?chǔ)方法的不同,幾何建模技術(shù)可分為線框建模、表面建模、實(shí)體建模3種主要類(lèi)型。
運(yùn)動(dòng)建模是在創(chuàng)建模型時(shí),不僅賦予模型外形、質(zhì)感等表現(xiàn)特征,而且也賦予模型物理屬性和相應(yīng)的行為能力與反應(yīng)能力,并且服從一定的客觀規(guī)律。
軟體建模比較復(fù)雜,其在外力作用下發(fā)生形變或拓?fù)浣Y(jié)構(gòu)改變,涉及力的反饋問(wèn)題,主要體現(xiàn)了重量、表面變形、軟硬度等物理屬性 [7]。
1.2三維渲染技術(shù)
三維渲染技術(shù)以計(jì)算機(jī)渲染能力為基礎(chǔ),雖然目前GPU性能得到了很大的提升,但在處理高精細(xì)化的大型場(chǎng)景時(shí)也往往能力不足。當(dāng)前該技術(shù)的研究方向主要集中在降低GPU的消耗上。如Nvidia的多重分辨率著色渲染技術(shù)-MRS(Multi-Resolution Shading),采用分區(qū)域差別分辨率的方法,降低GPU的消耗;國(guó)內(nèi)某公司的焦點(diǎn)渲染技術(shù)(Foveated rendering),在MRS基礎(chǔ)上,采用眼球追蹤技術(shù),使人眼關(guān)注的焦點(diǎn)區(qū)域高分辨率顯示,而其它區(qū)域從焦點(diǎn)向外逐步遞減顯示。其它相似的技術(shù)有FOVE和Eyefluence等[8]。
1.3人機(jī)交互技術(shù)
人機(jī)交互技術(shù)是指通過(guò)外部設(shè)備與界面進(jìn)行交互操作的具體方法。該技術(shù)包含了三維交互、姿態(tài)交互、手持移動(dòng)設(shè)備交互、語(yǔ)音交互、力/觸覺(jué)交互和多通道交互技術(shù)等。本文開(kāi)發(fā)的虛擬訓(xùn)練仿真軟件,主要采用三維交互技術(shù)。三維交互技術(shù)是虛擬現(xiàn)實(shí)最主要的交互方式,它比二維交互提供了更多的操作自由度,能完成更加復(fù)雜的交互任務(wù)[9]。
2虛擬操作訓(xùn)練仿真軟件功能要求與設(shè)計(jì)思路
2.1功能要求
反滲透海水淡化裝置虛擬操作訓(xùn)練仿真軟件應(yīng)該具備兩個(gè)主要功能:一是真實(shí)裝備操作演示功能;二是虛擬裝備的操作訓(xùn)練功能。為更好地實(shí)現(xiàn)這兩個(gè)功能,軟件開(kāi)發(fā)的總體要求是:①實(shí)體建模,使虛擬裝備與環(huán)境更加貼近實(shí)際;②操作演示功能應(yīng)有字幕、配音等提示,并由用戶自行控制演示進(jìn)度;③操作訓(xùn)練功能應(yīng)具有和實(shí)際裝備相似的交互方式和運(yùn)行效果。
2.2設(shè)計(jì)思路
為實(shí)現(xiàn)上述功能并滿足總體要求,本軟件的設(shè)計(jì)思路是:首先,利用3Dmax軟件對(duì)海水淡化裝置進(jìn)行實(shí)體建模和渲染;其次,錄制實(shí)際操作過(guò)程的視頻,利用非線性編輯軟件Premiere進(jìn)行剪輯、字幕制作、配音等操作,并導(dǎo)出一個(gè)完整的操作演示視頻和若干個(gè)聲音片段;再次,在三維引擎Unity中分別進(jìn)行主界面、視頻演示和虛擬操作訓(xùn)練等場(chǎng)景的交互設(shè)計(jì);最后,將工程發(fā)布到PC平臺(tái),生成應(yīng)用程序。
3Unity中各場(chǎng)景交互設(shè)計(jì)
3.1主界面交互功能實(shí)現(xiàn)
3.1.1主場(chǎng)景中應(yīng)實(shí)現(xiàn)的功能
主場(chǎng)景主要用于運(yùn)行應(yīng)用程序時(shí)進(jìn)入的第一個(gè)界面,該界面應(yīng)具有如下5個(gè)功能:①體現(xiàn)應(yīng)用程序特點(diǎn)的背景圖片;②海水淡化裝置簡(jiǎn)介;③應(yīng)用程序功能介紹;④切換到其它場(chǎng)景;⑤退出應(yīng)用程序。
3.1.2主界面交互功能實(shí)現(xiàn)
主場(chǎng)景中的背景圖片和標(biāo)題無(wú)需交互。退出按鈕只需在點(diǎn)擊時(shí)調(diào)用Application.Quit方法即可實(shí)現(xiàn),切換場(chǎng)景按鈕只需在點(diǎn)擊時(shí)調(diào)用SceneManager.LoadScene方法即可實(shí)現(xiàn),介紹文本的顯示與隱藏功能是通過(guò)GameObject.SetActive方法實(shí)現(xiàn)的。
3.2操作演示場(chǎng)景交互功能實(shí)現(xiàn)
3.2.1操作演示場(chǎng)景應(yīng)實(shí)現(xiàn)的功能
該場(chǎng)景用于播放操作演示的視頻。為了讓受訓(xùn)對(duì)象更好地控制視頻播放,需要定制一個(gè)播放器,在該播放器中應(yīng)能實(shí)現(xiàn)播放/暫停、停止、播放速度控制、播放進(jìn)度控制、播放時(shí)間顯示、播放音量控制等功能。另外,該場(chǎng)景應(yīng)該能實(shí)現(xiàn)場(chǎng)景切換和程序退出等功能。
3.2.2操作演示場(chǎng)景中主要交互功能實(shí)現(xiàn)
(1)視頻總時(shí)間與當(dāng)前播放時(shí)間顯示。視頻總時(shí)間為視頻片斷的長(zhǎng)度myVideo.length,應(yīng)在初始時(shí)顯示并且在視頻播放過(guò)程中保持不變,因此其在Start函數(shù)中實(shí)現(xiàn)。而當(dāng)前播放時(shí)間取自播放器的播放時(shí)間myVideoPlayer.time,其在播放過(guò)程中是動(dòng)態(tài)變化的,因此須在Update函數(shù)中實(shí)現(xiàn)。由于獲取的時(shí)間為浮點(diǎn)類(lèi)型數(shù)值,無(wú)法直接轉(zhuǎn)化為時(shí)間格式的字符串值,因此在顯示之前需作相應(yīng)的轉(zhuǎn)換。
(2)播放進(jìn)度的控制。播放進(jìn)度主要設(shè)置了播放/暫停、停止、快速播放、慢速播放、播放至上一節(jié)點(diǎn)、播放至下一節(jié)點(diǎn)6個(gè)Button控件,主要通過(guò)調(diào)用VedioPlayer中的play、pause、stop和playbackSpeed等函數(shù)實(shí)現(xiàn)。對(duì)于播放進(jìn)度跳轉(zhuǎn)到鄰近節(jié)點(diǎn)的功能,則通過(guò)給VideoPlayer中的time字段賦值實(shí)現(xiàn)。
3.3虛擬操作場(chǎng)景交互功能實(shí)現(xiàn)
虛擬操作是海水淡化裝置虛擬操作訓(xùn)練仿真軟件設(shè)計(jì)的核心,它既要求虛擬裝備中的閥門(mén)、按鈕、手柄等操作部位具有良好的交互性,也要求操作過(guò)程中受控對(duì)象如指示燈、液晶屏、泵等具有和真實(shí)裝備一樣的反饋,同時(shí)要求訓(xùn)練場(chǎng)景、設(shè)備運(yùn)行效果等具有逼真的效果。
3.3.1環(huán)境動(dòng)態(tài)建模功能實(shí)現(xiàn)
本設(shè)計(jì)利用兩層循環(huán)遍歷在相應(yīng)位置實(shí)例化生成指定的預(yù)設(shè)體對(duì)象,隨即構(gòu)成包含地板、吊頂、墻體、立柱、地腳線等對(duì)象的室內(nèi)環(huán)境。其實(shí)現(xiàn)代碼為:
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函數(shù)中調(diào)用,因此當(dāng)程序運(yùn)行時(shí)就自動(dòng)創(chuàng)建室內(nèi)環(huán)境。
3.3.2虛擬操作交互設(shè)計(jì)
為了使虛擬操作時(shí)裝備的響應(yīng)方式與實(shí)際裝備相一致,應(yīng)先畫(huà)出實(shí)際裝備的控制流程圖。主程序控制功能必須嚴(yán)格按照流程圖設(shè)計(jì)。
(1)閥門(mén)操作交互功能的實(shí)現(xiàn)。閥門(mén)的交互操作實(shí)現(xiàn)方式較為簡(jiǎn)單,即當(dāng)鼠標(biāo)進(jìn)入閥門(mén)上的碰撞體時(shí),變換光標(biāo)形狀,當(dāng)點(diǎn)擊鼠標(biāo)左鍵時(shí),播放閥門(mén)開(kāi)關(guān)的動(dòng)畫(huà)片斷,并將表示閥門(mén)開(kāi)關(guān)狀態(tài)的布爾變量賦予相應(yīng)的值。
(2)指示燈開(kāi)關(guān)和泵運(yùn)行控制。當(dāng)控制箱上的旋鈕開(kāi)關(guān)處于相應(yīng)位置時(shí),控制箱面板上的指示燈亮,且對(duì)應(yīng)的供水泵或高壓泵運(yùn)行。其實(shí)現(xiàn)思路是動(dòng)態(tài)獲取控制箱上兩個(gè)旋鈕的位置狀態(tài)信息,以此控制燈的開(kāi)關(guān)和泵的啟停。其主要代碼為:
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; }}
所有代碼編寫(xiě)完成后,將腳本掛載到相應(yīng)的場(chǎng)景對(duì)象上,并進(jìn)行對(duì)應(yīng)的設(shè)置,即可運(yùn)行程序。
3.4調(diào)試優(yōu)化與發(fā)布
3個(gè)場(chǎng)景交互設(shè)計(jì)全部完成后,需在編輯器中運(yùn)行調(diào)試,查找程序Bug以及與實(shí)際裝備操作、運(yùn)行效果不相符的問(wèn)題。這些問(wèn)題逐一解決后,就可以將工程發(fā)布到PC平臺(tái)上。發(fā)布完成后生成兩個(gè)文件,一個(gè)為可執(zhí)行文件,一個(gè)為數(shù)據(jù)文件,兩個(gè)文件共計(jì)498MB。
4結(jié)語(yǔ)
反滲透海水淡化裝置作為艦船的重要裝備之一,需要管理人員嚴(yán)格按照規(guī)程操作使用。本文在三維實(shí)體建模、操作視頻錄制與剪輯等工作的基礎(chǔ)上,對(duì)照實(shí)際裝備的操作控制流程,基于Unity引擎開(kāi)發(fā)了ZYRO-1.5型船用反滲透海水淡化裝置虛擬操作訓(xùn)練仿真軟件。通過(guò)在不同場(chǎng)合的應(yīng)用發(fā)現(xiàn),該軟件運(yùn)行穩(wěn)定,具有操作方便、畫(huà)面與聲效逼真、沉浸感強(qiáng)等優(yōu)點(diǎn),對(duì)激發(fā)學(xué)習(xí)興趣、增強(qiáng)感性認(rèn)識(shí)、促進(jìn)理性理解、提升實(shí)踐能力等作用顯著。
參考文獻(xiàn)參考文獻(xiàn):
[1]苗超,謝春剛,馮厚軍,等.船用海水淡化技術(shù)發(fā)展現(xiàn)狀與研究建議[J].船舶工程,2011,33(6):69.
[2]反滲透海水淡化裝置[EB/OL]. http://www.sp.com.cn.
[3]汪國(guó)祥,干秦湘,劉潛,等.反滲透海水淡化技術(shù)在艦船上的應(yīng)用研究[J].艦船科學(xué)技術(shù),2005,27(z1):710.
[4]張海春,陸阿定.反滲透海水淡化預(yù)處理技術(shù)研究現(xiàn)狀[J].能源環(huán)境保護(hù),2010,24(3):14.
[5]梅繼紅.VR系統(tǒng)中的虛擬操作技術(shù)研究[D].北京:北京航空航天大學(xué),2002.
[6]賈晨星,朱元昌,邸彥強(qiáng).裝備虛擬操作訓(xùn)練的過(guò)程建模方法研究[J].計(jì)算機(jī)測(cè)量與控制,2011,19(12):31023104.
[7]陳懷友,張?zhí)祚Y,張菁.虛擬現(xiàn)實(shí)技術(shù)[M].北京:清華大學(xué)出版社,2012.
[8]武娟,劉曉軍,龐濤,等.虛擬現(xiàn)實(shí)現(xiàn)狀綜述和關(guān)鍵技術(shù)研究[J].廣東通信技術(shù),2016(8):4046.
[9]張鳳軍,戴國(guó)忠,彭曉蘭.虛擬現(xiàn)實(shí)的人機(jī)交互綜述[J].中國(guó)科學(xué),2016,46(12):17111736.
責(zé)任編輯(責(zé)任編輯:劉亭亭)