王大虎 唐益民
摘? 要: 針對(duì)當(dāng)前高校電氣工程專業(yè)電能計(jì)量課程實(shí)驗(yàn)教學(xué)環(huán)節(jié)存在的不足,設(shè)計(jì)并實(shí)現(xiàn)了電能計(jì)量實(shí)驗(yàn)仿真系統(tǒng)。該系統(tǒng)根據(jù)電能計(jì)量課程實(shí)驗(yàn)環(huán)節(jié)需求,采用3dsMax軟件進(jìn)行輕量化建模及三維動(dòng)畫(huà)制作,結(jié)合Premiere Pro軟件完成動(dòng)畫(huà)后期處理,模型導(dǎo)入U(xiǎn)nity3D引擎搭建虛擬場(chǎng)景,編寫C#腳本程序開(kāi)發(fā)系統(tǒng)交互功能及UI界面。實(shí)現(xiàn)了動(dòng)畫(huà)教學(xué)、仿真操作等功能,彌補(bǔ)了電能計(jì)量實(shí)驗(yàn)教學(xué)環(huán)節(jié)的不足。測(cè)試表明,系統(tǒng)運(yùn)行穩(wěn)定、交互性強(qiáng),較好的滿足了電能計(jì)量實(shí)驗(yàn)環(huán)節(jié)的要求。
關(guān)鍵詞: 電能計(jì)量; Unity3D; 虛擬現(xiàn)實(shí); 仿真系統(tǒng)
中圖分類號(hào):TM933? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):1006-8228(2022)04-66-04
Electric energy measurement experiment simulation teaching system based on Unity3D
Wang Dahu Tang Yimin
(School of Electrical Engineer and Automation, Henan Polytechnic University, Jiaozuo 454000, China)
Abstract: In view of the shortcomings of the current teaching link in the course of electrical energy measurement in electrical engineering specialty, an experimental simulation system for electric energy measurement is designed and implemented. In the system, according to the requirements of experiment, 3dsMax software is used for lightweight modeling and 3D animation production. Combined with Premiere Pro software, the animation post-processing is completed. The model is imported into the Unity3D engine to build a virtual scene. The system interaction function and UI interface are developed by C# script programs. The functions of animation teaching and simulation operation are realized, which makes up for the shortage of the experimental teaching of electric energy measurement. The test shows that the system is stable and interactive, which can well meet the requirements of the electric energy measurement experiment.
Key words: Electric energy measurement; Unity3D; Virtual reality; Simulation system
0 引言
電能計(jì)量是電網(wǎng)輸、配電中的一個(gè)重要環(huán)節(jié),對(duì)電網(wǎng)的安全、穩(wěn)定運(yùn)行具有重大意義[1]。電能計(jì)量技術(shù)課程是很多高校電氣工程專業(yè)的必修課程,該課程專業(yè)實(shí)踐性強(qiáng),教學(xué)過(guò)程中要注重理論與實(shí)踐相結(jié)合。調(diào)查發(fā)現(xiàn),在傳統(tǒng)的實(shí)驗(yàn)教學(xué)模式下,由老師演示并帶領(lǐng)學(xué)生完成實(shí)驗(yàn),由于實(shí)驗(yàn)條件的限制,很多學(xué)生實(shí)際并未參與實(shí)驗(yàn),也有很多高校未能開(kāi)展電能計(jì)量實(shí)驗(yàn)環(huán)節(jié)。
隨著虛擬現(xiàn)實(shí)技術(shù)的興起與發(fā)展,如今已被廣泛應(yīng)用于教育、醫(yī)療、工業(yè)等領(lǐng)域,并提供了可視化的解決方案[2]。針對(duì)上述存在的問(wèn)題,文章將虛擬現(xiàn)實(shí)技術(shù)與電能計(jì)量實(shí)驗(yàn)相結(jié)合,設(shè)計(jì)并實(shí)現(xiàn)了電能計(jì)量實(shí)驗(yàn)仿真教學(xué)系統(tǒng),打破了傳統(tǒng)實(shí)驗(yàn)教學(xué)模式對(duì)客觀條件的依賴性。系統(tǒng)具備設(shè)備認(rèn)知、動(dòng)畫(huà)教學(xué)、仿真操作等功能,學(xué)生以隨時(shí)使用系統(tǒng)進(jìn)行多方位的學(xué)習(xí),不受時(shí)間、地點(diǎn)、實(shí)驗(yàn)條件的限制,提高學(xué)習(xí)效率。
1 系統(tǒng)設(shè)計(jì)
1.1 需求分析
電能計(jì)量實(shí)驗(yàn)仿真系統(tǒng)主要用于高校電氣工程專業(yè)電能計(jì)量實(shí)驗(yàn)教學(xué)環(huán)節(jié),根據(jù)實(shí)驗(yàn)教學(xué)需求,學(xué)生使用該系統(tǒng)學(xué)習(xí)要掌握實(shí)驗(yàn)原理,能動(dòng)手操作實(shí)驗(yàn),做到交互式學(xué)習(xí)。根據(jù)使用需求,系統(tǒng)需要操作簡(jiǎn)單,界面美觀,具有可擴(kuò)展性。因此將系統(tǒng)模塊化處理,系統(tǒng)分為實(shí)驗(yàn)設(shè)備、視頻教學(xué)、實(shí)驗(yàn)仿真、考核測(cè)試四個(gè)模塊。在實(shí)驗(yàn)設(shè)備模塊,可以查看主要的實(shí)驗(yàn)設(shè)備,了解計(jì)量設(shè)備的規(guī)格。視頻教學(xué)模塊以視頻動(dòng)畫(huà)的形式學(xué)習(xí)實(shí)驗(yàn)原理及實(shí)驗(yàn)操作。實(shí)驗(yàn)仿真模塊模擬實(shí)驗(yàn)室及戶外真實(shí)場(chǎng)景,通過(guò)虛擬交互自主完成相關(guān)實(shí)驗(yàn)??己藴y(cè)試模塊以考題的方式檢查自身的學(xué)習(xí)情況。
1.2 開(kāi)發(fā)流程
電能計(jì)量實(shí)驗(yàn)仿真系統(tǒng)的實(shí)現(xiàn)可以分為前期準(zhǔn)備與后期開(kāi)發(fā)兩個(gè)部分。在前期準(zhǔn)備階段,首先要收集整理實(shí)驗(yàn)相關(guān)資料,如設(shè)備外觀照片、實(shí)驗(yàn)原理等,其次使用3dsMax軟件創(chuàng)建模型及制作動(dòng)畫(huà),并將模型及動(dòng)畫(huà)導(dǎo)入U(xiǎn)nity3D中,搭建虛擬實(shí)驗(yàn)場(chǎng)景。在后期開(kāi)發(fā)階段,根據(jù)系統(tǒng)功能需求,編寫C#腳本程序進(jìn)行虛擬交互開(kāi)發(fā),同時(shí)結(jié)合UGUI系統(tǒng)開(kāi)發(fā)系統(tǒng)UI界面。系統(tǒng)開(kāi)發(fā)完成后測(cè)試并發(fā)布系統(tǒng),并調(diào)查學(xué)生對(duì)系統(tǒng)的使用情況。
2 三維建模及動(dòng)畫(huà)
3dsMax是Autodesk公司開(kāi)發(fā)的一款基于PC系統(tǒng)的三維動(dòng)畫(huà)渲染和制作軟件,集建模、渲染、動(dòng)畫(huà)于一體。3dsMax對(duì)PC設(shè)備配置要求低,操作簡(jiǎn)便、功能強(qiáng)大,具有豐富的插件庫(kù),廣泛應(yīng)用于工業(yè)設(shè)計(jì)、三維動(dòng)畫(huà)以及工程可視化等領(lǐng)域[3]。
2.1 建模及優(yōu)化
三維模型是搭建虛擬場(chǎng)景的基礎(chǔ),也是虛擬交互的主要對(duì)象。3dsMax中的建模手法有多邊形建模、NURBS建模、復(fù)合建模等,其中多邊形建模是最常用的建模手法,適用于大多數(shù)模型的創(chuàng)建[4]。文章系統(tǒng)模型主要采用先整體后細(xì)節(jié)的建模思路,建模之前觀察實(shí)體整體與細(xì)節(jié),掌握實(shí)體的層次結(jié)構(gòu)。先利用樣條線勾勒出實(shí)體的外形輪廓,或者根據(jù)實(shí)體輪廓?jiǎng)?chuàng)建標(biāo)準(zhǔn)基本體,再將樣條線或標(biāo)準(zhǔn)基本體轉(zhuǎn)換為可編輯多邊形。在可編輯多邊形模式下,對(duì)模型的點(diǎn)、邊、開(kāi)放邊、面進(jìn)行編輯,同時(shí)配合使用修改器及,使模型與實(shí)體基本一致。為了提高系統(tǒng)運(yùn)行的流暢性,要達(dá)到輕量化建模,在不破壞模型的前提下,降低模型的面數(shù)。建模過(guò)程中,一是盡量避免使用復(fù)雜的修改器及命令,比如圓滑效果可以使用2~3次倒角命令來(lái)實(shí)現(xiàn);二是要及時(shí)清除冗余模型,比如使用布爾運(yùn)算后的冗余模型。在建模完成后需要做優(yōu)化處理,一是要清除孤立點(diǎn)及視覺(jué)不可見(jiàn)的面;二是對(duì)模型的布線進(jìn)行適當(dāng)?shù)膭h減。
2.2 材質(zhì)及貼圖
模型創(chuàng)建完成以后,需要給模型添加材質(zhì)及貼圖,才能使模型更加逼真與實(shí)體無(wú)異。材質(zhì)反映實(shí)體的光照信息,貼圖反映實(shí)體表面的紋理信息。在3dsMax中創(chuàng)建標(biāo)準(zhǔn)材質(zhì)球,按照實(shí)體的材質(zhì)信息,修改材質(zhì)球的漫反射屬性及高光屬性,再將材質(zhì)球賦予模型。對(duì)于貼圖先利用Photoshop軟件處理紋理貼圖,在材質(zhì)球中以位圖的形式賦予模型。圖1為完整的感應(yīng)式電能表模型。
2.3 三維動(dòng)畫(huà)制作
文章系統(tǒng)的動(dòng)畫(huà)主要分為兩類,一類是場(chǎng)景過(guò)場(chǎng)動(dòng)畫(huà),用于在運(yùn)行時(shí)給學(xué)生提供指導(dǎo)或者場(chǎng)景過(guò)度,主要由Unity3D的TimeLine時(shí)間線性編輯器制作完成。另一類是實(shí)驗(yàn)教學(xué)動(dòng)畫(huà),包含設(shè)備接線、實(shí)驗(yàn)過(guò)程等動(dòng)畫(huà),模型創(chuàng)建完成后,在3dsMax中設(shè)置好時(shí)間軸,選擇自動(dòng)關(guān)鍵點(diǎn)模式并添加關(guān)鍵幀,在不同關(guān)鍵幀處根據(jù)需要改變模型的參數(shù)信息,動(dòng)畫(huà)制作完成后導(dǎo)出動(dòng)畫(huà),并導(dǎo)入Premiere Pro軟件,通過(guò)在不同的視頻及音頻軌道添加字幕及音效完成動(dòng)畫(huà)的后期處理。圖2為經(jīng)過(guò)后期處理的電能表的接線動(dòng)畫(huà)。
3 場(chǎng)景交互開(kāi)發(fā)
Unity3D平臺(tái)是用于開(kāi)發(fā)交互式三維場(chǎng)景和集成游戲的圖形化開(kāi)發(fā)工具,是當(dāng)下比較流行的虛擬現(xiàn)實(shí)技術(shù)開(kāi)發(fā)平臺(tái)。Unity3D虛擬引擎對(duì)PC設(shè)備的配置要求不高,開(kāi)發(fā)性強(qiáng),平臺(tái)兼容性高,開(kāi)發(fā)的產(chǎn)品可以發(fā)布到Windows、Android、Linux等系統(tǒng)平臺(tái),支持C#、JavaScript等腳本語(yǔ)言[5]。
3.1 場(chǎng)景搭建
模型制作完成后以FBX格式文件導(dǎo)出,再將FBX格式文件導(dǎo)入U(xiǎn)nity3D中,根據(jù)實(shí)際場(chǎng)景參數(shù)信息,通過(guò)調(diào)整各模型的位置參數(shù)、旋轉(zhuǎn)角度、縮放比例完成三維場(chǎng)景的基礎(chǔ)搭建。其次再調(diào)節(jié)場(chǎng)景光照,光照可以提升場(chǎng)景視覺(jué)效果,通過(guò)調(diào)節(jié)Directional Light(平行光)的位置及參數(shù),當(dāng)光源不足或需要輔助光源時(shí),可以適當(dāng)添加Point Light(點(diǎn)光源)、Area Light(區(qū)域光)等達(dá)到系統(tǒng)需要的光照條件[6]。戶外計(jì)量接線場(chǎng)景如圖3所示。
3.2 C#交互腳本編寫
實(shí)驗(yàn)場(chǎng)景搭建完場(chǎng)后,根據(jù)系統(tǒng)功能需求,需要進(jìn)行開(kāi)發(fā)交互功能。系統(tǒng)中的各種人機(jī)交互、邏輯控制,主要是通過(guò)給GameObject添加腳本組件完成事件響應(yīng),就需要使用C#語(yǔ)言編寫交互腳本程序。在編程過(guò)程中,視頻的播放控制是很重要的一部分,其部分控制腳本程序如下:
public Text text;
publicGameObjectgameObject;
privateVideoPlayervideoPlayer;
privatebool flag=false;
void Start()
{? videoPlayer=gameObject.GetComponent
<VideoPlayer>(); //獲取VideoPlayer組件
}
public voidPlayOrPause()
{? if (flag)
{? videoPlayer.Play(); //播放視頻
text.text="暫停";
flag=false;
}
else
{? videoPlayer.Pause(); //暫停播放視頻
text.text="播放";
flag=true;
}
}
實(shí)現(xiàn)整個(gè)系統(tǒng)功能,程序控制是必不可少的部分。在編寫程序時(shí),遵循一定的設(shè)計(jì)模式能使程序更加簡(jiǎn)潔、高效。
3.3 交互UI開(kāi)發(fā)
UI是系統(tǒng)交互功能的重要組成部分,承擔(dān)大量的點(diǎn)擊、拖動(dòng)等輸入事件并響應(yīng),同時(shí)也提供展示、提示等功能[7]。文章系統(tǒng)采用Unity 3D自帶的UGUI來(lái)進(jìn)行UI界面開(kāi)發(fā),根據(jù)需求創(chuàng)建相應(yīng)的UI控件,同時(shí)給控件添加C#腳本程序組件響應(yīng)交互功能。三維動(dòng)畫(huà)的播放可用UI來(lái)完成,先在Canvas(畫(huà)布)上創(chuàng)建一個(gè)RawImage并添加Video Player組件,將動(dòng)畫(huà)賦給Video Player組件下的Video Clip,再編寫C#腳本程序,使動(dòng)畫(huà)渲染到RawImage上,圖4為動(dòng)畫(huà)播放,其渲染部分的腳本程序如下:
privateVideoPlayervideoPlayer;
privateRawImagerawImage;
void Start()
{? videoPlayer=this.GetComponent<VideoPlayer>();
//獲取VideoPlayer組件
rawImage=this.GetComponent<RawImage>();
//獲取RawImage組件
}
void Update()
{? if (videoPlayer.texture == null) return;
rawImage.texture=videoPlayer.texture;
//將動(dòng)畫(huà)渲染到RawImage
}
4 系統(tǒng)測(cè)試與發(fā)布
系統(tǒng)功能開(kāi)發(fā)完成以后,還需要對(duì)系統(tǒng)進(jìn)行測(cè)試。在Unity3D中選擇Windows平臺(tái),將系統(tǒng)生成為exe格式的可執(zhí)行文件發(fā)布。發(fā)布完成后進(jìn)行系統(tǒng)測(cè)試,首先通過(guò)登錄頁(yè)面進(jìn)入系統(tǒng)主頁(yè),系統(tǒng)主頁(yè)包含系統(tǒng)所有的功能模塊,根據(jù)自己所需進(jìn)入模塊學(xué)習(xí)。經(jīng)測(cè)試,系統(tǒng)功能正常,運(yùn)行穩(wěn)定。圖5為系統(tǒng)登錄頁(yè)面。
5 結(jié)論
虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于教育領(lǐng)域是發(fā)展趨勢(shì)。傳統(tǒng)的電能計(jì)量實(shí)驗(yàn)教學(xué)環(huán)節(jié)難以滿足教育要求,本文探討了將虛擬現(xiàn)實(shí)技術(shù)應(yīng)用于電能計(jì)量實(shí)驗(yàn)教學(xué)環(huán)節(jié),利用Unity3D平臺(tái)與三維建模技術(shù)開(kāi)發(fā)了電能計(jì)量實(shí)驗(yàn)仿真教學(xué)系統(tǒng),編寫C#語(yǔ)言腳本程序?qū)崿F(xiàn)了系統(tǒng)交互功能,滿足了電能計(jì)量實(shí)驗(yàn)環(huán)節(jié)的需求。該系統(tǒng)交互性強(qiáng)、操作簡(jiǎn)便,學(xué)生可以反復(fù)學(xué)習(xí),激發(fā)學(xué)習(xí)興趣,提升學(xué)習(xí)效率,達(dá)到實(shí)驗(yàn)效果。
參考文獻(xiàn)(References):
[1] 李鵬程,樂(lè)文靜,張玉平,等.電能計(jì)量仿真培訓(xùn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2015(10):63-65
[2] 劉安平,邵文冕,苑鵬濤,等.Unity3D技術(shù)在電氣工程實(shí)訓(xùn)教學(xué)中的應(yīng)用[J].教育現(xiàn)代化,2019,6(A3): 148-150
[3] 嚴(yán)雨靈,陳閔葉,劉同強(qiáng).基于Unity3D的虛擬維修教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2019,40(11):128-130
[4] 劉艷榮.基于3Ds Max 2016建模技術(shù)的研究[J]. 電腦編程技巧與維護(hù),2021(3):151-153
[5] 王磊,錢英軍,黃浩.基于Unity3D的機(jī)器人物料搬運(yùn)VR仿真系統(tǒng)開(kāi)發(fā)[J].長(zhǎng)江信息通信,2021,34(1): 18-20
[6] 馬程,閆俊均,徐踐.基于VR的虛擬校園漫游系統(tǒng)研究與建設(shè)[J].軟件,2019,40(3):104-112
[7] 郝孜奇,張文勝.基于Unity3D的鐵路實(shí)訓(xùn)虛擬仿真系統(tǒng)開(kāi)發(fā)[J].計(jì)算機(jī)仿真,2020,37(6):99-103