国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Unity3D的THDS設(shè)備檢修智能指導(dǎo)系統(tǒng)研究

2020-02-02 03:37劉瑞軍
電子技術(shù)與軟件工程 2020年16期
關(guān)鍵詞:插件物體動(dòng)畫

劉瑞軍

(神華鐵路裝備有限任公司榆林車輛維修分公司 陜西省榆林市 719316)

虛擬現(xiàn)實(shí)技術(shù)屬于一種虛擬世界創(chuàng)建與體驗(yàn)的計(jì)算機(jī)仿真系統(tǒng),通過計(jì)算機(jī)直接生成對(duì)應(yīng)的虛擬環(huán)境,再配合上多元化信息融合的模式,實(shí)體行為系統(tǒng)仿真以及交互式的三維動(dòng)態(tài)視景,這樣就可以讓用戶完全沉浸于其中。隨著虛擬現(xiàn)實(shí)技術(shù)的不斷發(fā)展,讓原本的虛擬培訓(xùn)逐漸變成現(xiàn)實(shí),在石油氣化、航空航天等諸多領(lǐng)域之中得以應(yīng)用,這樣也使得工作上崗之前的培訓(xùn)變得越來越重要。但是傳統(tǒng)的培訓(xùn),則是通過動(dòng)畫演示、理論學(xué)習(xí)和實(shí)際操作,導(dǎo)致其本身的理論學(xué)習(xí)無法與實(shí)踐相互結(jié)合起來,難以做到全面的培訓(xùn),也達(dá)不到理想的效果。

虛擬培訓(xùn),則是利用計(jì)算機(jī)所生成的三維虛擬環(huán)境,讓受訓(xùn)人員能夠沉浸于虛擬環(huán)境下,完成相關(guān)知識(shí)的培訓(xùn)和技能的學(xué)習(xí),最終將培訓(xùn)之中的問題解決。如在鐵路運(yùn)輸新形式下,行車速度和編組輛數(shù)都已經(jīng)大幅提高,紅外線軸溫探測(cè)系統(tǒng)的探測(cè)工作量明顯增加,因此對(duì)于紅外線系統(tǒng)的狀態(tài)維護(hù)就有了更高的要求。由于紅外線系統(tǒng)零件結(jié)構(gòu)復(fù)雜,相應(yīng)的故障形式多樣,種類繁多,且涉及多種硬件、信號(hào)和電路等諸多專業(yè)知識(shí),對(duì)于故障的發(fā)現(xiàn)、處理帶了較大的困難。紅外線系統(tǒng)涵蓋硬件、軟件、網(wǎng)絡(luò)通訊等多個(gè)方面,因此其檢修工藝知識(shí)體量較大,且內(nèi)容枯燥晦澀,不易理解。虛擬培訓(xùn)可以讓受訓(xùn)人員更加貼近于現(xiàn)實(shí)的虛擬場(chǎng)景,從而掌握相關(guān)設(shè)備的規(guī)范和流程,避免設(shè)備損壞、人員受傷的情況出現(xiàn),并且在反復(fù)的學(xué)習(xí)與使用之后,其實(shí)際的交互性更強(qiáng),進(jìn)而受到企業(yè)的青睞與追捧。

圖1:系統(tǒng)整體層次框架圖

圖2:系統(tǒng)開發(fā)流程圖

圖3:導(dǎo)入后的機(jī)箱模型

Unity3D 屬于三維虛擬現(xiàn)實(shí)的開發(fā)軟件,是一個(gè)跨平臺(tái)發(fā)布、物理、網(wǎng)絡(luò)、腳本、著色器等全面進(jìn)行整合的專業(yè)化游戲引擎。其本身不但可以滿足針對(duì)Open GL 與Di-rect X 的優(yōu)化圖形渲染融到,同時(shí)還包含了內(nèi)置NVIDIA 的PhyisX 物理引擎,這樣就可以讓其操作逼真感更強(qiáng),同時(shí),其本身能夠滿足多種腳本語言的支持,實(shí)現(xiàn)各種操作系統(tǒng)的兼容,最終在更多的三維場(chǎng)景開發(fā)之中得到廣泛的使用。

1 系統(tǒng)整體框架

THDS 設(shè)備檢修智能指導(dǎo)系統(tǒng)采用基于Unity3D 為開發(fā)平臺(tái),與3D Max 相互結(jié)合起來建立模型。然后利用C#語言編寫控制腳本,最終就可以達(dá)成THDS 設(shè)備檢修教學(xué)和考核。利用數(shù)據(jù)庫技術(shù)完成THDS 設(shè)備的基本信息、檢修流程、檢修教學(xué)、評(píng)價(jià)考核等功能模塊,實(shí)現(xiàn)培訓(xùn)練習(xí),使得受訓(xùn)人員對(duì)THDS 設(shè)備檢修進(jìn)行全面的培訓(xùn)。系統(tǒng)整體層次框架圖,如圖1所示。

2 系統(tǒng)開發(fā)流程

THDS 設(shè)備檢修智能指導(dǎo)系統(tǒng)是基于功能模塊的不同來針對(duì)性的進(jìn)行設(shè)計(jì),這樣就可以滿足培訓(xùn)任務(wù)的要求,其開發(fā)流程為:

(1)基于對(duì)應(yīng)場(chǎng)景三維模型和THDS 設(shè)備,通過模型導(dǎo)入平臺(tái),然后建立場(chǎng)景。此外,針對(duì)設(shè)備的系統(tǒng)零件信息做好對(duì)應(yīng)的整理,然后將其錄入到數(shù)據(jù)庫之中;

(2)利用C#腳本的編寫,最終就可以滿足場(chǎng)景之間的交互,從而實(shí)現(xiàn)數(shù)據(jù)庫與系統(tǒng)之間的通信需求;

(3)通過Unity3D 平臺(tái),在PC 桌面上展示系統(tǒng)。系統(tǒng)開發(fā)流程,如圖2所示。

2.1 模型的建立及導(dǎo)入

THDS 設(shè)備檢修智能指導(dǎo)系統(tǒng)對(duì)模型的要求較高,通常采用CAD 圖紙和物體實(shí)際圖片進(jìn)行建模。Unity3D 作為虛擬現(xiàn)實(shí)軟件其建模功能較弱,只能構(gòu)建基礎(chǔ)的模型物體,對(duì)于THDS 設(shè)備之類模型與之不能相互的匹配。所以,在模型制作中就需要考慮到3D Max,tonggu8o 其建模工具以及材質(zhì)貼圖調(diào)整等對(duì)應(yīng)的功能,從而讓其本身更加具有表現(xiàn)力,擁有逼真的模型。

下面以機(jī)柜為例介紹模型的導(dǎo)入過程。整個(gè)輪對(duì)囊括的零件形狀相互復(fù)雜,所以,在實(shí)際制作中,真實(shí)性就是其基本的前提條件。對(duì)模型進(jìn)行合理優(yōu)化,避免模型數(shù)據(jù)量過大導(dǎo)致數(shù)據(jù)溢出影響THDS 設(shè)備檢修智能指導(dǎo)系統(tǒng)的運(yùn)行效率,導(dǎo)致體驗(yàn)效果始終無法滿足要求。通過3D Max 在進(jìn)行優(yōu)化處理,將其中無法觀看到的點(diǎn)線面進(jìn)行刪除性的操作,這樣就可以實(shí)現(xiàn)模型的精簡(jiǎn),然后在相關(guān)場(chǎng)景之中導(dǎo)圖FBX 格式文件。導(dǎo)入成功的THDS 設(shè)備如圖3所示。

2.2 交互腳本設(shè)計(jì)

采用C#語言進(jìn)行交互腳本的相關(guān)開發(fā)與設(shè)計(jì)。為了實(shí)現(xiàn)對(duì)THDS 設(shè)備模型的多角度展示,編寫C#的move.cs 腳本進(jìn)行人物的移動(dòng)使人可以從多角度,近距離的觀察零部件。為了實(shí)現(xiàn)THDS教學(xué)功能,利用Unity3D 引擎的Dotween 插件實(shí)現(xiàn)零件的位置變化。為了模擬真實(shí)的檢修過程,本研究中THDS 零件的運(yùn)動(dòng)采用Dotween 插件在腳本中設(shè)置零件運(yùn)動(dòng)前后的坐標(biāo)位置,為物體設(shè)置合理的速度曲線,實(shí)現(xiàn)THDS 檢修過程中真實(shí)的運(yùn)動(dòng)軌跡。為了實(shí)現(xiàn)一些消耗品使用后消失的效果,通過編寫C#的Gameobject.active方法實(shí)現(xiàn)物體在使用結(jié)束后消失,此時(shí)可以模擬出THDS 設(shè)備檢修過程中的交互。將THDS 設(shè)備檢修的各零件和工具制作成預(yù)制體分類儲(chǔ)存到Profab 文件,利用C#的Instatiate 方法結(jié)合碰撞器完成在指定的位置添加指定的零件,實(shí)現(xiàn)THDS 檢修的交互。

2.3 信息數(shù)據(jù)庫設(shè)計(jì)

圖4:外探測(cè)溫板更換運(yùn)動(dòng)過程圖

THDS 設(shè)備檢修智能指導(dǎo)系統(tǒng)中,其存儲(chǔ)的數(shù)據(jù)包含了檢修的具體流程、故障出現(xiàn)的實(shí)際原因、故障處理的方式方法等。通過SQL Serves2010 作為管理和開發(fā)的基礎(chǔ),再配合上C#腳本,就可以滿足數(shù)據(jù)的通信要求。如,針對(duì)其內(nèi)部的故障信息,考核數(shù)據(jù)庫之中對(duì)應(yīng)的信息,然后按照相應(yīng)的分組形式,就可以滿足對(duì)于其存儲(chǔ)與讀取的要求,這樣有利于快速讀取系統(tǒng),同時(shí)也能夠通過數(shù)據(jù)通信,實(shí)時(shí)呈現(xiàn)在Unity3D 交互界面中。

3 關(guān)鍵功能實(shí)現(xiàn)

3.1 THDS設(shè)備的檢修功能

THDS 設(shè)備故障種類繁多,檢查,維修過程復(fù)雜。為了能夠?qū)崿F(xiàn)較為真實(shí)的工作過程,需要采用動(dòng)畫表現(xiàn)能力強(qiáng)的方法來控制零件的平移、旋轉(zhuǎn)等動(dòng)畫過程。本系統(tǒng)利用Unity3D 中的DoTween插件實(shí)現(xiàn)這些效果。該插件是一種功能強(qiáng)大的動(dòng)畫效果編輯插件,使零件從一種狀態(tài)變換成另一種狀態(tài)時(shí)過度平滑,可以通過不同的動(dòng)畫曲線表現(xiàn)出不同物體的運(yùn)動(dòng)速度的變化。將DoTween 插件導(dǎo)入U(xiǎn)nity3D 中可以較好的完成零件的平移,旋轉(zhuǎn)等動(dòng)畫過程。

3.1.1 零件的運(yùn)動(dòng)功能

零件的運(yùn)動(dòng)功能包括平移、旋轉(zhuǎn)等運(yùn)動(dòng)效果。通過DoTween.DOMove()和DoTween.DORotate()分別可實(shí)現(xiàn)對(duì)零件的平移和旋轉(zhuǎn)的運(yùn)動(dòng)視覺效果。另外,攝像機(jī)的過度轉(zhuǎn)場(chǎng)也需要用到DoTween.DORotate()將攝像機(jī)旋轉(zhuǎn)到正確的角度。這些代碼的使用方法類似。本文以零件的平移為例詳細(xì)介紹代碼。平移功能關(guān)鍵代碼顯示如下:

//當(dāng)前零件要移動(dòng)的終點(diǎn)以及所需的時(shí)間

Tweener tweener=transform.DOMove(TargctPosition,timer);

//物體的速度曲線

Tweener.SetEase(Ease.OutBounce);

//物體運(yùn)動(dòng)結(jié)束后觸發(fā)的事件

Tweener.OnComplete(OnTweenComplete);

// 動(dòng)畫循環(huán)次數(shù)

Tweener.SetLoops(n);

圖5:識(shí)別安裝位置原理

利用該段代碼可以實(shí)現(xiàn)THDS 設(shè)備的零件從當(dāng)前位置移動(dòng)到所需的目標(biāo)位置 ,可以完成虛擬檢修過程的交互。該方法通用性極強(qiáng)可以重復(fù)使用該方法用來檢查和維修THDS 設(shè)備及其他系統(tǒng)的零件。零件運(yùn)動(dòng)過程,如圖4所示。

3.2 THDS智能教學(xué)功能

THDS 智能教學(xué)是通過用使用鼠標(biāo)選擇相應(yīng)的零件選擇相對(duì)應(yīng)的檢修操作,并實(shí)時(shí)監(jiān)測(cè)操作是否正確,只有當(dāng)操作正確時(shí)才能完成當(dāng)前檢修步驟,在檢修過程中會(huì)實(shí)時(shí)的提醒檢修的流程。若操作不正確,則會(huì)彈出UI 提醒學(xué)員,直至學(xué)員完成檢修操作。在此過程中,人物相機(jī)的移動(dòng)功能,識(shí)別操作及信息提示功能是該部分的技術(shù)關(guān)鍵。

3.2.1 人物的移動(dòng)及信息提示功能

在THDS 設(shè)備檢修過程中,大部分的檢修過程都會(huì)利用鼠標(biāo)將人物移動(dòng)到對(duì)應(yīng)位置按照提示完成檢修操作。為實(shí)現(xiàn)該功能需監(jiān)聽鼠標(biāo)點(diǎn)擊的物體的信息,并通過UI 將物體的信息顯示在屏幕上。當(dāng)鼠標(biāo)點(diǎn)擊該物體時(shí),根據(jù)物體的類別來執(zhí)行不同的方法,將人物視角移動(dòng)到該物體面前或者對(duì)該物體進(jìn)行檢修操作。核心代碼如下:

圖6:左右光子探頭互換步驟

3.2.2 識(shí)別操作的對(duì)錯(cuò)

當(dāng)學(xué)員選擇操作步驟時(shí),系統(tǒng)會(huì)實(shí)時(shí)監(jiān)測(cè)當(dāng)前操作與標(biāo)準(zhǔn)作業(yè)流程是否相同,如果符合標(biāo)準(zhǔn)流程,將會(huì)執(zhí)行當(dāng)前步驟的監(jiān)測(cè)動(dòng)畫,并對(duì)當(dāng)前檢測(cè)步驟的要點(diǎn)進(jìn)行講解。識(shí)別操作的對(duì)錯(cuò)的原理圖,如圖5所示。利用該方法實(shí)現(xiàn)對(duì)器件溫度故障的檢修為例。當(dāng)學(xué)員選擇正確步驟時(shí),彈出步驟講解,選擇錯(cuò)誤時(shí)彈出操作錯(cuò)誤,如圖6所示。

//判斷當(dāng)前操作是否正確

If(dangqiancaizuo==operationType.HuHuanGuangZiTanTou){

//關(guān)掉操作界面

operationUI.SetActive(true);

//打開步驟講解界面并播放講解音頻

explainUI.SetActive(true);

explainaudio.play();}

//如果當(dāng)前操作不正確

else{

打開錯(cuò)誤提示

errorUI.SetActive(true);}}

4 結(jié)束語

總而言之,在交通軌道之中使用虛擬現(xiàn)實(shí)技術(shù),其本身通過Unity3D 引擎開發(fā)出來的系統(tǒng),其操作方便,交互性強(qiáng),并且培訓(xùn)全面,能夠打破傳統(tǒng)的束縛。使用DoTween 插件之后,最終就可以滿足其對(duì)應(yīng)的檢修需求,從而通過數(shù)據(jù)庫來實(shí)現(xiàn)對(duì)于交互數(shù)據(jù)的管理需求,并且系統(tǒng)的開發(fā)界面變得更加的間接,動(dòng)態(tài)操作效果明顯,很容易上手。通過多個(gè)操作學(xué)習(xí)模塊的應(yīng)用之后,就可以讓培訓(xùn)人員將理論學(xué)習(xí)與實(shí)踐操作之間相互結(jié)合起來,這樣就能夠滿足全面的培訓(xùn)要求,同時(shí)這一個(gè)系統(tǒng)也為后續(xù)的維修檢修培訓(xùn)、軌道交通制造生產(chǎn)等開辟出全新的方向,讓傳統(tǒng)的培訓(xùn)擁有更新的思路與方向。

猜你喜歡
插件物體動(dòng)畫
做個(gè)動(dòng)畫給你看
動(dòng)畫發(fā)展史
自編插件完善App Inventor與樂高機(jī)器人通信
我是動(dòng)畫迷
MapWindowGIS插件機(jī)制及應(yīng)用
基于Revit MEP的插件制作探討
懸浮的雞蛋