馮宗杰 火箭軍工程大學(xué)士官學(xué)院
基于Unity3D的接地電阻測(cè)量?jī)x虛擬操作設(shè)計(jì)
馮宗杰 火箭軍工程大學(xué)士官學(xué)院
良好的沉浸感、交互性和實(shí)時(shí)性是虛擬現(xiàn)實(shí)技術(shù)的重要特點(diǎn),虛擬現(xiàn)實(shí)技術(shù)是通過(guò)建立逼真的環(huán)境,使用戶沉浸在虛擬環(huán)境中,具有身臨其境的感受。利用虛擬現(xiàn)實(shí)技術(shù),不僅能夠構(gòu)建具有真實(shí)感的虛擬仿真展示平臺(tái),在產(chǎn)品開(kāi)發(fā)設(shè)計(jì)過(guò)程中通過(guò)虛擬設(shè)計(jì)平臺(tái)降低研發(fā)成本,避免新產(chǎn)品開(kāi)發(fā)的風(fēng)險(xiǎn)。Unity3D作為虛擬現(xiàn)實(shí)軟件的后起之秀,起步就定義為多平臺(tái)高端大型游戲開(kāi)發(fā)引擎。它對(duì)DirectX和OpenGL的圖形渲染管道進(jìn)行了高度優(yōu)化,使低端硬件也可以流暢地運(yùn)行漫游展示、虛擬仿真、交互式動(dòng)畫(huà)等,并能夠創(chuàng)造出高質(zhì)量3D仿真系統(tǒng)和真實(shí)視覺(jué)效果。它能夠與HTML、Flash等進(jìn)行良好的交互,并支持C#、JavaScript等多種腳本語(yǔ)言。針對(duì)接地電阻測(cè)量?jī)x使用培訓(xùn)、工作原理學(xué)習(xí)等方面的需求,基于Unity 3D游戲開(kāi)發(fā)引擎,設(shè)計(jì)并實(shí)現(xiàn)了接地電阻測(cè)量?jī)x虛擬操作平臺(tái)。
基于Unity 3D的接地電阻測(cè)量?jī)x虛擬操作設(shè)計(jì)的設(shè)計(jì)流程如圖1所示。
圖1 接地電阻測(cè)量?jī)x虛擬操作設(shè)計(jì)流程
(一)接地電阻測(cè)量?jī)xSolidworks建模及裝配
虛擬現(xiàn)實(shí)三維模型是整個(gè)虛擬操作平臺(tái)的基礎(chǔ),模型的好壞直接影響運(yùn)行速度和效果,平臺(tái)首選Solidworks進(jìn)行接地電阻測(cè)量?jī)x的三維建模。該軟件功能強(qiáng)大,組件繁多。 Solidworks 功能強(qiáng)大、易學(xué)易用和技術(shù)創(chuàng)新是SolidWorks 的三大特點(diǎn),使得SolidWorks 成為領(lǐng)先的、主流的三維CAD解決方案。
實(shí)現(xiàn)接地電阻測(cè)量?jī)x三維建模的步驟如下:
(1)根據(jù)接地電阻測(cè)量?jī)x外形進(jìn)行設(shè)備拆分,獲得接地電阻測(cè)量?jī)x結(jié)構(gòu)組成及相關(guān)外形尺寸;
(2)根據(jù)設(shè)計(jì)思路,選擇合適的基準(zhǔn)面,選取截面進(jìn)行基本特征繪制,通過(guò)拉伸,陣列、拔模等命令建立單個(gè)零件三維逼真模型。
(3)利用Solidworks的強(qiáng)大功能,通過(guò)各種約束條件,將接地電阻測(cè)量?jī)x所有零件進(jìn)行裝配。
(4)將完整的接地電阻測(cè)量?jī)x導(dǎo)出3DMAX能夠識(shí)別的格式文件。
(二)接地電阻測(cè)量?jī)x三維模型貼圖
為了是接地電阻測(cè)量?jī)x及相應(yīng)場(chǎng)景具有逼真的效果,需要通過(guò)3DMAX軟件對(duì)接地電阻測(cè)量?jī)x進(jìn)行渲染,配合相關(guān)貼圖編輯軟件對(duì)接地電阻測(cè)量?jī)x進(jìn)行表面材質(zhì)處理,提高渲染效果。
對(duì)于在Solidworks中難實(shí)現(xiàn)的不規(guī)則形狀,可以通過(guò)3DMAX軟件進(jìn)行修改設(shè)計(jì),達(dá)到逼真效果。同時(shí)對(duì)于用到的接地電阻測(cè)量?jī)x操作動(dòng)畫(huà),可以在3DMAX軟件中進(jìn)行編輯并保存。制作完成的接地電阻測(cè)量?jī)x如圖2所示。
圖2 接地電阻測(cè)量?jī)x外觀圖
(三)接地電阻測(cè)量?jī)x虛擬操作設(shè)計(jì)
(1)虛擬場(chǎng)景設(shè)計(jì)
將3DMAX處理后的接地電阻測(cè)量?jī)x導(dǎo)出為*.FBX文件,并放在Unity 3D的資源文件夾Assets中,Unity 3D將自動(dòng)導(dǎo)入相應(yīng)的貼圖和動(dòng)畫(huà)文件,然后將模型添加到虛擬場(chǎng)景中,通過(guò)拖放、縮放、旋轉(zhuǎn)等指令對(duì)接地電阻測(cè)量?jī)x模型進(jìn)行屬性設(shè)置,達(dá)到理想效果。
為了進(jìn)行可視化虛擬操作,必須對(duì)場(chǎng)景增加主攝像機(jī)和燈光,為了多視角觀察操作效果,可以在場(chǎng)景中不同角度添加不同的攝像機(jī)建立相應(yīng)的從屬關(guān)系,通過(guò)設(shè)置選取不同的觀察角度。
(2)虛擬腳本設(shè)計(jì)
Unity3D支持JavaScript、C#、BOO三種不同的腳本,其中C#功能最強(qiáng)大。但對(duì)于初學(xué)之來(lái)說(shuō),格外是沒(méi)有編程語(yǔ)言基礎(chǔ)的人來(lái)說(shuō),這無(wú)疑增加了設(shè)計(jì)難度,為此,有人開(kāi)發(fā)設(shè)計(jì)了Unity3D Playmaker插件,Playmaker既是一個(gè)可視化腳本工具,又是一個(gè)分層邏輯框架。設(shè)計(jì)師、程序員使用Playmaker能夠很快地完成游戲原型制作,既適合獨(dú)立開(kāi)發(fā)者,又適用于團(tuán)隊(duì)協(xié)作。Playmaker能夠大大提高開(kāi)發(fā)效率,讓你的游戲變得更加完美,它可以實(shí)現(xiàn)不需要編寫(xiě)代碼,并可以完成虛擬操作的功能。因此采用該插件進(jìn)行編寫(xiě),從而縮短開(kāi)發(fā)周期。其編寫(xiě)代碼如圖3所示。
圖3 Playmarker編寫(xiě)的部分可視化代碼
虛擬操作平臺(tái)搭建完成后,可實(shí)現(xiàn)整體場(chǎng)景與操作場(chǎng)景切換,操作場(chǎng)景縮放、平移、旋轉(zhuǎn),線路安裝,儀表操作,數(shù)值讀取等功能,基本實(shí)現(xiàn)與實(shí)際操作一直的效果,提到訓(xùn)練效果,整體效果如圖4所示。
圖4 虛擬操作效果圖
基于Unity3D軟件平臺(tái),采用Playmaker第三方插件,針對(duì)接地電阻測(cè)量?jī)x的使用培訓(xùn),工作原理學(xué)習(xí)等方面的需求,設(shè)計(jì)了接地電阻測(cè)量?jī)x的虛擬操作平臺(tái),并對(duì)虛擬場(chǎng)景交互進(jìn)行了深入研究。該平臺(tái)逼真度高,交互性強(qiáng),對(duì)職業(yè)院校的學(xué)生進(jìn)行學(xué)習(xí)接地電阻測(cè)量?jī)x的結(jié)構(gòu)原理,掌握其使用方法具有很大的應(yīng)用價(jià)值。