劉瑩徽 薛涵 謝澤龍
摘 ?要:針對傳統(tǒng)的船舶輔機拆裝技術(shù)培訓(xùn),采用真實設(shè)備,周期長,設(shè)備老舊且易損耗等問題,老師一人講課,學(xué)生多人聽課等等不足,從而開發(fā)出基于虛擬現(xiàn)實的船舶輔機拆裝移動端應(yīng)用。該應(yīng)用借助3dsMax進行船舶輔機設(shè)備模型制作,并通過Unity3D引擎實現(xiàn)單人單機自主完成船舶輔機拆裝過程,在Android平臺發(fā)布應(yīng)用。該應(yīng)用有效解決了現(xiàn)實拆裝中場地限制,費時費力等問題。使船舶輔機拆裝教學(xué)可隨時在手機端進行,降低教學(xué)成本。經(jīng)過調(diào)查研究,學(xué)生反應(yīng)良好,該應(yīng)用能平穩(wěn)運行。
關(guān)鍵詞:虛擬現(xiàn)實;船舶輔機設(shè)備;單人自主拆裝;移動端
中圖分類號:U676.2 ? ? ? ?文獻標(biāo)志碼:A 文章編號:2095-2945(2019)13-0034-04
Abstract: In view of the traditional ship auxiliary equipment disassembly and assembly technology training, is the use of real equipment, long cycle, old equipment easy to wear and tear, and other problems, teachers give lectures, students attend classes and so on, and so on. Therefore, the application of ship auxiliary machine disassembly and assembly mobile terminal based on virtual reality is developed. With the help of 3dsMax, the model of ship auxiliary equipment is made, and the process of disassembly and assembly of ship auxiliary equipment is completed independently by single machine through Unity3D engine, which is published and applied in Android platform. The application effectively solves the problems of site limitation, time-consuming and laborious in real disassembly and assembly. The teaching of ship auxiliary equipment disassembly and assembly can be carried out at any time on the mobile phone, and the teaching cost can be reduced. After investigation and research, the students' response is good, and the application can run smoothly.
Keywords: virtual reality; ship auxiliary equipment; single autonomous disassembly and assembly; mobile terminal
前言
對于海船船員來說,“船舶輔機拆裝課程”是非常重要的必修科目,還是海事局規(guī)定的船員適任證書的評估科目。在航海類院校的實際教學(xué)中,往往存在老師少,學(xué)生人數(shù)眾多,設(shè)備少且陳舊,教學(xué)時間緊張,場地限制等問題。學(xué)生很難熟練掌握拆裝方法,實踐時間大大減少,動手能力不容易得到提升,解決這一現(xiàn)狀十分必要。
隨著科學(xué)技術(shù)的不斷進步,虛擬現(xiàn)實技術(shù)慢慢出現(xiàn)在我們的生活中。我們目前常見的是VR眼鏡,人們帶上它,不僅可以帶來視覺上的仿真,還可以聽到特定情境下所發(fā)出的聲音。這是目前虛擬現(xiàn)實技術(shù)的一種體現(xiàn)方式。高的浸入感,逼真的視聽覺,讓人身臨其境一般。但是,虛擬現(xiàn)實技術(shù)的使用只是冰山一角。當(dāng)前,我們必須借助復(fù)雜的虛擬現(xiàn)實設(shè)備才能體驗。用戶與虛擬現(xiàn)實設(shè)備的交互性比較差,還不夠完善。其次,承載虛擬現(xiàn)實技術(shù)的設(shè)備類型不夠多樣,功能不夠良好。這些不足也大大制約了虛擬現(xiàn)實技術(shù)發(fā)展。
針對上述存在的問題,本文開發(fā)出一款以虛擬現(xiàn)實為基礎(chǔ),進行船舶輔機拆裝的移動端應(yīng)用。它為學(xué)生提供隨時隨地,不限時長,高沉浸感的交互式虛擬訓(xùn)練場所,以及單人單機的高仿真操作環(huán)境。并有效解決了實際拆裝中所遇到的問題,讓學(xué)生沉浸在計算機創(chuàng)造的三維仿真環(huán)境之中。
1 系統(tǒng)概述
1.1 系統(tǒng)需求分析
現(xiàn)如今,網(wǎng)絡(luò)與移動端飛速發(fā)展,手機應(yīng)用成為人們必不可少的工具,對于大學(xué)生,更是出現(xiàn)了手機不離手的現(xiàn)狀,而隨著計算機視覺技術(shù)的進步,虛擬現(xiàn)實技術(shù)逐漸進入大眾的視野,通過虛擬現(xiàn)實技術(shù),人們可以進入計算機中的模擬世界,輔以專用的硬件系統(tǒng),與模擬世界進行交互,達到身臨其境的真實感。起初,虛擬現(xiàn)實技術(shù)主要用于娛樂領(lǐng)域,但隨著計算機硬件,軟件的不斷發(fā)展,此項技術(shù)被廣泛運用于教育,軍事,航空航天等領(lǐng)域,而以目前來講,虛擬現(xiàn)實技術(shù)已經(jīng)到了快速發(fā)展階段,將虛擬現(xiàn)實應(yīng)用在船舶拆裝中,不但可以還原真實拆裝環(huán)境,還能減少人力物力的耗費,但是針對PC端難以隨身攜帶的問題,我們利用Unity與Android sdk發(fā)布其移動端應(yīng)用,還可以讓學(xué)生隨時隨地對設(shè)備的部件進行探索與拆裝。
本系統(tǒng)首先要保證虛擬拆裝環(huán)境與實際拆裝環(huán)境的高度相似,讓學(xué)生有較好的沉浸感和交互性。其次,要保證系統(tǒng)操作時的連貫性,物理動作要順暢自然,沒有明顯的卡頓。最重要的是,要兼容大多數(shù)移動端(安卓),要讓其能夠平穩(wěn)的在移動端中運行。
1.2 系統(tǒng)功能
基于虛擬現(xiàn)實的船舶輔機拆裝應(yīng)用在使用過程中,占空間小,便捷實用,不受場地約束,擺脫復(fù)雜的數(shù)據(jù)線,僅僅需要用戶將應(yīng)用安裝在移動端上,就能實現(xiàn)相關(guān)操作。學(xué)生安裝好應(yīng)用,進入系統(tǒng)中,可對操作設(shè)備進行選擇,并選擇相應(yīng)的模式進行學(xué)習(xí)訓(xùn)練,系統(tǒng)功能框架如圖1。
(1)自動演示模式:此模式主要用于模型的基本介紹和自動爆炸演示,讓用戶了解設(shè)備的基本信息和內(nèi)部結(jié)構(gòu),并以拆裝動畫的形式展示拆裝過程。
(2)手動拆裝模式:此模式主要用于學(xué)生對相應(yīng)設(shè)備的自主拆卸,以及拆卸后的復(fù)原。學(xué)生練習(xí)拆裝過程主要依靠此模式完成。
1.3 開發(fā)框架
基于虛擬現(xiàn)實的船舶輔機拆裝應(yīng)用的核心在于可以建立人機交互拆裝實驗平臺。系統(tǒng)將相關(guān)設(shè)備模型加載在數(shù)據(jù)庫中,然后學(xué)生通過移動端進行交互操作。
隨著計算機網(wǎng)絡(luò)的不斷發(fā)展,出現(xiàn)了許多模型制作軟件,我們這里使用的是3dsMax和Unity3D,因為這兩種軟件是我們大學(xué)生或者其他領(lǐng)域運用較為普遍和熟練的。本文先利用3dsMax進行模型制作,將真實環(huán)境下的船舶輔機設(shè)備模型化。并通過Unity3D引擎,給予腳本編寫,實現(xiàn)單人單機自主完成船舶輔機拆裝過程,最終打包成apk文件,由Android平臺發(fā)布應(yīng)用。圖2為開發(fā)流程圖。
2 核心技術(shù)
2.1 模型搭建與優(yōu)化
船舶輔機設(shè)備大多為機械設(shè)備,并具有明顯的幾何形狀,我們利用3dsMax三維建模軟件進行模型搭建,為了讓學(xué)生能夠得到更好的沉浸感,更清晰地對船舶輔機設(shè)備內(nèi)部進行認知,良好的模型搭建是首要的要求。但是對于整個應(yīng)用來講,完全1:1的輔機模型,無疑增加了整個模型文件的大小,加大了計算機運算的負擔(dān)。另一方面,我們還要實現(xiàn)拆裝動作,以及演示動畫等等交互功能。因此,我們必須既保證相對良好的模型外觀,也要保證模型迅速的加載速度,來減少交互時的卡頓現(xiàn)象。
在模型構(gòu)建實際操作過程中,我們發(fā)現(xiàn)模型的多邊形數(shù)目和節(jié)點個數(shù)對計算機運算速度有極大的影響,如果使用增加面片的數(shù)量來使模型更加細致是很不值得的,我們查閱相關(guān)資料,采用了傳統(tǒng)三維建模和表面紋理烘焙相結(jié)合的方法,在初始建模成型之后,把觀察不到的內(nèi)表面模糊化處理,并且使用3dsMax軟件的Rendering to Texture模塊對表面紋理進行渲染,這個烘焙功能模塊不再是傳統(tǒng)地使用面數(shù)換取細致結(jié)構(gòu),取而代之的是通過貼圖來渲染模型的表面紋理,達到相同甚至更逼真的效果,這樣做既保證了計算機運算的速度,也保證了船舶輔機模型的真實感。圖3為油馬達模型。
2.2 交互行為定義
在利用3dsMax軟件將船舶輔機三維模型導(dǎo)入Unity中之后,如果沒有交互行為的控制,拆裝系統(tǒng)中的三維模型將會是靜止的,不隨學(xué)生的動作而變化,所以我們對學(xué)生于模型之間的交互行為進行定義,有了良好的交互操作,可以使學(xué)生在使用中對船舶輔機的內(nèi)部結(jié)構(gòu)有更深的了解,模型通過交互行為“動起來”,也可以激起學(xué)生對拆裝過程的興趣。本系統(tǒng)中的交互行為是用來描述學(xué)生在虛擬狀態(tài)下對船舶輔機三維模型的拆裝行為與操作,而合理的交互定義是一個虛擬拆裝系統(tǒng)的基礎(chǔ),方便實現(xiàn)虛擬拆裝系統(tǒng)中對模型的移動,旋轉(zhuǎn),拆卸的控制。
本文開發(fā)出的船舶輔機虛擬拆裝系統(tǒng)屬于安卓手機端系統(tǒng),學(xué)生與系統(tǒng)的交互主要由手指來實現(xiàn),虛擬拆裝系統(tǒng)通過學(xué)生手指動作,個數(shù)等在手機屏幕上做出的動作得到信息,并通過驅(qū)動系統(tǒng)給出相應(yīng)的反饋,通過手機屏幕輸出相應(yīng)結(jié)果,例如,手指觸摸屏幕上下左右移動,則虛擬拆裝系統(tǒng)中的船舶輔機虛擬模型會跟隨手指的移動,手指點擊螺釘不放,系統(tǒng)中螺釘便會自動旋出。具體交互定義可見圖4。
2.3 碰撞檢測
在Unity3D中,我們已經(jīng)賦予設(shè)備部件特定的動作,但是,它并不存在真實世界所具有的物理碰撞。也就是說,在模擬虛擬世界中,當(dāng)一個部件進行移動時,它會從部件內(nèi)部穿出到運動軌跡延長線以外,并且還可能與設(shè)備其它部件產(chǎn)生重疊,違背了物理事實,產(chǎn)生完全不符合常理的場景,這就與虛擬現(xiàn)實良好的沉浸感要求背道而馳。在查閱相關(guān)資料以后,我們了解到,為了避免這種情況發(fā)生,我們可以采用多種碰撞檢測的方法,如方向包圍盒檢測(OBB),軸向包圍盒檢測(AABB),球體包圍盒檢測等,目前,由于Unity3D軟件的不斷優(yōu)化,該軟件內(nèi)部攜帶碰撞檢測功能,在Unity3D中包含基本碰撞檢測、觸發(fā)器碰撞檢測和角色控制碰撞器等,因為我們的模型運動方式基本為直線運動,所以我們這里使用觸發(fā)器碰撞檢測法或者基本碰撞檢測里面的網(wǎng)格碰撞檢測法,由于我們最終是輸出于移動端使用,所以我們要調(diào)整相應(yīng)的參數(shù),來保證模型所占內(nèi)存的大小較為合適。然后指定一個處于觸發(fā)狀態(tài)的觸發(fā)器,將我們水位計模型的端蓋包含至此觸發(fā)器之中,這樣螺釘與端蓋的碰撞檢測就轉(zhuǎn)變成了螺釘與觸發(fā)器之間的碰撞檢測。當(dāng)系統(tǒng)檢測到螺釘已完全嵌入端蓋后,學(xué)生再次點擊螺釘則不會繼續(xù)旋入端蓋。
而網(wǎng)格碰撞檢測的簡要操作流程為,點擊Unity3D中菜單欄的Component,找到選項卡Physics中的MeshCollider對于指定對象進行參數(shù)編寫,然后對MeshCollider進行設(shè)置,實現(xiàn)簡單的碰撞檢測。簡要流程如圖5。
3 案例演示
按照開發(fā)流程,我們將本系統(tǒng)apk安裝在安卓客戶端上,當(dāng)應(yīng)用安裝完成后,在開始界面中,我們可以進行設(shè)備的選擇,本文以油馬達為例,演示油馬達在手動拆裝模式下的操作過程。
當(dāng)點擊油馬達模型后,彈出油馬達菜單選項界面,可以選擇自動演示和手動操作模式或者查看設(shè)備簡介。自動演示點擊后,會彈出動畫頁面,將對拆裝的整個過程進行視頻演示,其中包括全部拆卸完畢后的爆炸效果。用戶可以通過這個功能了解拆裝的順序以及拆裝所需要的工具類型。設(shè)備簡介則是對于該船舶輔機設(shè)備的名稱,用途等參數(shù)進行詳細介紹。當(dāng)用戶點擊手動操作模式時,學(xué)生可以選擇油馬達的拆卸或者拼裝。并且,在拆裝過程中,可以隨時還原模型或者返回主界面進行其他模式的學(xué)習(xí)。
最后,我們讓20名同學(xué)進行安裝試驗,進行體驗。整個運行過程基本流暢,同學(xué)們反應(yīng)良好。此應(yīng)用有效的將虛擬現(xiàn)實技術(shù)與船舶輔機拆裝進行了結(jié)合,解決了許多拆裝實習(xí)中會遇到的問題。整個系統(tǒng)對場景的加載也非常流暢,未出現(xiàn)卡頓以及停滯現(xiàn)象。我們考慮到不同手機的系統(tǒng)差異,我們進行了軟件的多次安裝,在華為,小米,魅族等客戶端下,運行平穩(wěn)。并且,有效提升了學(xué)生學(xué)習(xí)的熱情,為學(xué)習(xí)過程增加了不少的樂趣。
4 結(jié)束語
我們合理的結(jié)合了3dsmax的建模和Unity3D開發(fā)引擎,讓船舶輔機拆裝在手機客戶端能夠輕松實現(xiàn),大大減少了實際拆裝成本。并且該應(yīng)用中船舶輔機設(shè)備的模型類別,我們將不斷增加,讓設(shè)備覆蓋更加全面,虛擬現(xiàn)實沉浸感越來越強。該應(yīng)用在輪機專業(yè)的培養(yǎng)及海事系統(tǒng)大證考試評估等方面有廣闊發(fā)展前景。另外,基于虛擬現(xiàn)實的拆裝,也很適用于大多其他機械行業(yè)的教學(xué)和維修工作,有較好的發(fā)展前景。
參考文獻:
[1]潘瑜.虛擬現(xiàn)實技術(shù)與室內(nèi)設(shè)計課程的融合與應(yīng)用[J].藝術(shù)教育,2018(20):67-68.
[2]楊燕紅,楊建軍,彭憶強,等.現(xiàn)實與虛擬技術(shù)結(jié)合的汽車發(fā)動機構(gòu)造實驗課程設(shè)計[J].實驗技術(shù)與管理,2017,34(12):210-213.
[3]謝佳賓.水輪機虛擬拆裝的實現(xiàn)過程[J].企業(yè)技術(shù)開發(fā),2010,29(15):171-172.
[4]高穎,鐘嘯,許志國,等.基于VR的航空發(fā)動機虛擬教學(xué)實驗系統(tǒng)設(shè)計[J].系統(tǒng)仿真學(xué)報,2008,20(11):2925-2930.
[5]鐘振龍,吳緯緯,趙悅.面向虛擬拆裝的產(chǎn)品裝配模型及其應(yīng)用[J].制造業(yè)自動化,2010,32(7):176-178,232.
[6]陳鋒,李雪,沈軍.船艇裝備虛擬拆裝訓(xùn)練系統(tǒng)設(shè)計研究[J].中國高新技術(shù)企業(yè),2013(22):94-95.
[7]謝佳賓.水輪機虛擬拆裝的實現(xiàn)過程[J].企業(yè)技術(shù)開發(fā),2010,29(15):171-172.