王大虎 寧彤







摘? 要: 基于虛擬仿真的思想,以電機教學設(shè)備為原型,使用3dsMax和Unity3D軟件設(shè)計開發(fā)電機實驗仿真教學系統(tǒng),實現(xiàn)結(jié)果表明,該系統(tǒng)交互性能良好,能對設(shè)備結(jié)構(gòu)和實驗原理進行直觀的展示,幫助學生理解內(nèi)容抽象的知識,同時也能提供給學生不限時間的使用學習,有效地提高了學生的學習興趣和學習效率。
關(guān)鍵詞: 電機實驗; Unity3D; 虛擬仿真; 3ds Max
中圖分類號:TM33? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2022)05-48-04
Application of virtual reality technology in motor experimental teaching
Wang Dahu, Ning Tong
Abstract: Based on the idea of virtual simulation, taking the motor teaching equipment as a prototype, a motor experimental teaching system is designed and developed with 3ds Max and Unity3D. The results show that this system has a good interaction and can visually display the device structure and experimental principles, which effectively improves students’ learning interest and learning efficiency.
Key words: motor experiment; Unity3D; virtual reality; 3ds Max
引言
電機作為一種機電能量轉(zhuǎn)換或信號轉(zhuǎn)換的電磁機械裝置,既可生產(chǎn)電能也能產(chǎn)生機械能,用以滿足生產(chǎn)生活需要,電機因此特性在國民經(jīng)濟的各個領(lǐng)域中起到了極其重要的作用。
電機學課程具有較強的工程性,理論知識的學習必須依據(jù)工程實際,但傳統(tǒng)教學以文字、圖片和視頻為主,教材大多較為成熟系統(tǒng)化,結(jié)構(gòu)圖高度符號化,理論學習較為困難?,F(xiàn)階段實驗教學多為引領(lǐng)式,雖在一定程度上確保了實驗的科學客觀性以及操作安全性,但是對于學生自主學習習慣的養(yǎng)成缺乏引導(dǎo)[1]。針對傳統(tǒng)教學方式單一化的問題,張文娟等[2]提出借助多媒體技術(shù)在原有基礎(chǔ)上進行改革,增加了二維、三維動畫部分,實現(xiàn)了理論和實物教學的結(jié)合,但該方法交互性較差。2018年董立巖教授[3]借助Unity3D開發(fā)平臺設(shè)計開發(fā)了基于Unity3D的電機拖動實驗仿真系統(tǒng),該系統(tǒng)為解決實驗的危險性和教學成本高等問題提供了一種較好的思路。虛擬現(xiàn)實(VR)技術(shù)綜合了多門技術(shù),拓寬了人機交互通道,提高了圖像信息的認知度,體現(xiàn)了多媒體技術(shù)的進步[4]。
綜上,虛擬現(xiàn)實技術(shù)展現(xiàn)出高集成性和強交互性,因此在教育培訓行業(yè)有著極大的發(fā)展?jié)摿?,本文借助該門技術(shù),使用3ds Max和Adobe PhotoShop軟件搭建電機實驗室場景,在Unity3d平臺上借助C#編程語言開發(fā)系統(tǒng)交互腳本[5],借助該電機虛擬仿真教學系統(tǒng),較好的解決了教學上設(shè)備受限的問題[6]。
1 電機實驗仿真教學設(shè)計
1.1 實驗選材
開發(fā)電機教學系統(tǒng),應(yīng)首先進行實物設(shè)備素材拍攝。本文選用電機實驗教學常用設(shè)備DDSZ-1型電機及電氣技術(shù)實驗裝置,該裝置可用于變壓器空載和短路實驗;直流電動機起動、調(diào)速;異步電動機基本性能診斷檢查等實驗。
1.2 實驗教學系統(tǒng)的設(shè)計過程
1.2.1 實驗教學系統(tǒng)的模塊設(shè)計
該實驗教學系統(tǒng)的設(shè)計初期目標在于使學生對電機實驗原理、設(shè)備結(jié)構(gòu)有更加深入的了解,借助新興技術(shù)手段提高學習興趣。該實驗室系統(tǒng)初步設(shè)計如下四個模塊[7]。
⑴ 場景漫游模塊。在搭建的虛擬實驗室場景中進行漫游,在該場景下實現(xiàn)對實驗室環(huán)境以及實驗設(shè)備外形結(jié)構(gòu)的近距離觀察。
⑵ 三維動畫模塊。該模塊旨在以動畫視頻的形式講解實驗原理和實驗步驟,并展示實驗開始前的基本工作內(nèi)容。
⑶ 實驗設(shè)備拆裝模塊。該模塊用于實驗開始前對本次實驗所需用到的實驗設(shè)備進行結(jié)構(gòu)、參數(shù)以及主要用途的了解,可以對工作原理有更加直觀的認知。
⑷ 實驗操作模塊。該模塊用以學生自主進行實驗操作練習,該模塊下會有系統(tǒng)自動提示實驗操作重難點以及操作注意事項,在保證操作的規(guī)范性基礎(chǔ)上,給與學生最大程度上的自由操作空間。
1.2.2 設(shè)計流程
虛擬試驗系統(tǒng)各模塊及總體設(shè)計流程如圖1所示,首先收集和整理有關(guān)電機實驗的資料,如設(shè)備照片、內(nèi)部結(jié)構(gòu)、實驗原理和操作步驟等,然后使用3ds Max軟件對實驗設(shè)備進行初步建模及模型優(yōu)化,再結(jié)合資料對實驗步驟、實驗原理部分進行動畫制作,最后將處理好的模型導(dǎo)入Unity3D中,并完成整個系統(tǒng)的交互功能設(shè)計和系統(tǒng)UI頁面設(shè)計[8]。
2 實驗室三維建模
本文中描述的虛擬電機實驗室場景主要包括實驗設(shè)備模型、實驗臺模型以及實驗室環(huán)境模型。建模過程中需要遵照一定的操作規(guī)范,這樣才能夠確保建模精度,以此增強虛擬實驗室環(huán)境的真實感。
下面以DDSZ-1型電機及電氣技術(shù)實驗裝置為對象,對三維建模進行簡單介紹。
2.1 使用3ds建立模型
3ds Max軟件作為美國Autodesk旗下的一款基于PC端的三維動畫制作軟件,旨在通過逼真的三維模型和強大的物理引擎來實現(xiàn)對真實環(huán)境的模擬,該軟件具備強大的功能板塊,且操作簡單、容易上手,因此應(yīng)用廣泛,隨著時代的發(fā)展,該軟件也逐漸應(yīng)用于教學領(lǐng)域。三維建模需要做到力爭還原實物細節(jié),確保模型能夠在視覺效果上與實物相近[9]。圖2所示為DDSZ-1型實驗裝置。
建模的基本步驟:首先觀察分析物體的結(jié)構(gòu),對復(fù)雜物體進行各部件單獨建模,對單一結(jié)構(gòu)物體可進行整體建模。第一步根據(jù)設(shè)備部件外形選擇相應(yīng)的基礎(chǔ)幾何體,如長方體、圓柱體等,根據(jù)實際比例設(shè)置參數(shù)的大小;第二步按照層級結(jié)構(gòu)優(yōu)先順序先從較大部件進行建模,即將該部分幾何體轉(zhuǎn)換成可編輯多邊形,并通過頂點、邊線等不同操作層級對幾何體進行擠出、倒角等修改,不斷調(diào)整參數(shù)以達到實際物體的外觀形狀;最后將各部分組件進行位置移動和旋轉(zhuǎn)等操作,還原真實物體結(jié)構(gòu)。已建模型如圖3所示。
2.2 優(yōu)化處理
由初步模型圖可見,雖然完成了對設(shè)備外形的還原,但為了增強使用過程的真實感,還需對模型進行優(yōu)化處理:
⑴ 對模型文件賦予材質(zhì)貼圖,要增加模型的真實感,需要對模型的細節(jié)部分進行貼圖處理,這里使用PhotoShop軟件對設(shè)備實物進行貼圖裁取并做出優(yōu)化處理,將貼圖通過材質(zhì)球賦予到模型表面;適當調(diào)整模型本身的光照效果,增設(shè)局部光源和整體光源,改變自身光反射參數(shù),使模型更具真實感。優(yōu)化處理后的模型如圖4所示。
⑵ 優(yōu)化處理后的模型具有更真實的視覺效果,但對細節(jié)的過度刻畫會使模型的面數(shù)陡增,在導(dǎo)入Unity3D中會出現(xiàn)卡頓的情況,因此需要對模型部分面做遮擋剔除,并借助烘焙技術(shù)[10]將模型外觀細節(jié)加到簡化處理過的模型上,保證模型精度的基礎(chǔ)上保證系統(tǒng)流程運行。
3 三維場景交互
3.1 基于Unity3D平臺的人機交互
選用Unity3D引擎作為系統(tǒng)交互開發(fā)平臺,因為Unity作為Unity Technologies開發(fā)的跨平臺游戲引擎,對圖形渲染管道做出了高度的優(yōu)化改進設(shè)計,其最大的好處是允許配置較低的硬件設(shè)備實現(xiàn)流暢的場景漫游、交互式動畫等,且能夠構(gòu)造出高質(zhì)量的三維仿真系統(tǒng)和沉浸感更強的模擬體驗環(huán)境。模型搭建完成后,將其轉(zhuǎn)換成FBX格式文件,導(dǎo)入Unity3D平臺,設(shè)計人機交互,從而完成預(yù)期目標。實驗室模型導(dǎo)入Unity3D平臺的效果圖如圖5所示。
3.2 碰撞檢測技術(shù)
文中的系統(tǒng)交互包括對實驗原理以及實驗過程等內(nèi)容的三維展示、使用者拾取實驗設(shè)備進行單獨拆裝觀察操作。前者使用按鈕以及文本框組件,并編寫腳本即可實現(xiàn)相應(yīng)功能,而后者涉及到物體間的接觸,需要借助碰撞檢測技術(shù)[11]對使用者的操作行為進行實時計算檢測,防止出現(xiàn)交互時虛擬物體之間相互穿透的異?,F(xiàn)象,例如場景漫游時“穿越”墻體和地面等,并能選中物體對其進行拆裝和結(jié)構(gòu)觀察。
Unity3D中的碰撞檢測基于層次包圍盒算法,主要分為AABB立方體邊界框檢測、OBB定向包圍盒以及包圍球三種。針對本文中的實驗室模型,層次包圍盒法通過使用構(gòu)造簡單且體積略大于模型的長方體作為包圍盒,碰撞檢測時,系統(tǒng)實時分析計算包圍盒與物體之間的相交情況,綜合考慮系統(tǒng)運行環(huán)境,AABB邊界框檢測算法在保證系統(tǒng)交互時碰撞檢測計算的一定準度的前提下,實時計算量較小,能夠在硬件設(shè)備條件有限的環(huán)境下流暢運行。
3.3 虛擬交互腳本程序
在Unity3D中要想實現(xiàn)交互功能,不僅需要給模型物體添加相關(guān)組件,同樣需要編寫相關(guān)的運行程序,該系統(tǒng)使用C#語言進行交互腳本程序的編寫。
整個系統(tǒng)中最重要的交互功能體現(xiàn)實現(xiàn)使用者對設(shè)備結(jié)構(gòu)、參數(shù)信息等進行觀察了解。通過移動和旋轉(zhuǎn)物體可實現(xiàn)拾取和拆裝設(shè)備,實現(xiàn)該功能的部分代碼如下:
void Update()
{ if (Input.GetMouseButton (0))
//表示獲取鼠標左鍵作為輸入值,用以選中并移動物體
{ //將屏幕坐標轉(zhuǎn)化成世界坐標
Vector3 temp=Camera.main.ScreenToWorldPoint
(new Vector3(Input.mousePosition.x, Input
.mousePosition.y, 10));
transform.position=temp;
}
else if (Input .GetMouseButton (1))
//表示獲取鼠標右鍵作為輸入值,用以旋轉(zhuǎn)物體
{ //getaxis("mouse x")獲取鼠標移動的距離
x += Input.GetAxis("Mouse X") * xSpeed * 0.02f;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02f;
y = ClampAngle(y, yMinLimit, yMaxLimit);
Quaternion ratation = Quaternion.Euler(y, x, 0);
transform.rotation = ratation;
}
else if (Input.GetAxis ("Mouse ScrollWheel")!=0)
{ //鼠標滑動滾輪 縮放所選物體
if (Input.GetAxis ("Mouse ScrollWheel")<0)
{ //范圍值限定
if (Camera.main.fieldOfView <= 100)
Camera.main.fieldOfView += 2;
if (Camera.main.orthographicSize <= 20)
Camera.main.orthographicSize += 0.5f;
}
if (Input.GetAxis ("Mouse ScrollWheel")>0)
{ //范圍值限定
if (Camera.main.fieldOfView > 2)
Camera.main.fieldOfView -= 2;
if (Camera.main.orthographicSize >= 1)
Camera.main.orthographicSize -= 0.5f;
}
}
4 系統(tǒng)測試與發(fā)布
在系統(tǒng)設(shè)計完成之后,需要對系統(tǒng)性能進行測試,圖6所示為系統(tǒng)主頁面,根據(jù)系統(tǒng)設(shè)計需求分為四個模塊:場景展示模塊、實驗設(shè)備展示模塊、設(shè)備裝拆模塊和工作原理模塊[12]。通過點擊各模塊窗口,進入其展示模塊。測試后各模塊功能基本滿足設(shè)計要求。
系統(tǒng)測試完后,在Unity3D中在Project視圖下進行Assets資源包的打包,在Build Setting中進行發(fā)布配置,借助Unity軟件強大的系統(tǒng)兼容性可以滿足該系統(tǒng)在各大平臺下的運行。
5 結(jié)束語
VR技術(shù)的不斷更新發(fā)展為實驗教學和電力行業(yè)培訓帶來了極大的便利,本文借助強大的3ds Max建模軟件和Unity3D開發(fā)引擎,構(gòu)建了一個較為完整的虛擬電機實驗室場景,并設(shè)計實現(xiàn)了基礎(chǔ)的人機交互,在一定程度上彌補了傳統(tǒng)教學方法單一、偏重于理論教學和實際操作教學部分課時較短等缺陷,很好的利用了VR這一高新技術(shù)手段,為工科學生的實驗教學環(huán)節(jié)增添了趣味性,并在最大程度上避免了因場地和設(shè)備使用時間受限而導(dǎo)致學習勁頭不高的問題,從而提高學習熱情和學習效率。
參考文獻(References):
[1] 宋戰(zhàn)鋒,劉濤.《電機學》教學方法改革探究[J].中國電力教育,
2021(1):66-67
[2] 張文娟,張志剛.多媒體技術(shù)在《電機學》中的改革與實踐[J].
中國電力教育,2017(8):71-73
[3] 董立巖,王越群,李永麗.基于Unity3D的電機拖動仿真系統(tǒng)[J].
吉林大學學報(信息科學版),2018,36(5):456-459
[4] 周前祥,姜世忠,姜國華.虛擬現(xiàn)實技術(shù)的研究現(xiàn)狀與進展[J].
計算機仿真,2003(7):1-4,93
[5] 王大虎,陳俠,高會爭.虛擬現(xiàn)實技術(shù)在PLC燃氣鍋爐培訓系
統(tǒng)中的應(yīng)用[J].系統(tǒng)仿真學報,2017,29(12):3010-3015
[6] 李舒明.虛擬現(xiàn)實VR技術(shù)在實訓教學中的創(chuàng)新應(yīng)用[J].海
峽科技與產(chǎn)業(yè),2018(8):85-87
[7] 閆紀紅,張奮揚.虛擬可重組制造系統(tǒng)仿真優(yōu)化模塊開發(fā)[J].
實驗室研究與探索,2013,32(7):81-86,98
[8] 殷復(fù)鵬,鄧曉紅,張雷.基于模塊化的虛擬仿真實驗室建設(shè)[J].
實驗技術(shù)與管理,2020,37(6):259-262
[9] 王大虎,高會爭,陳俠.基于Quest3D的變電站仿真培訓系統(tǒng)[J].
中國電力,2016,49(9):62-65
[10] 李永強,牛路標,楊莎莎,等.大型仿古建筑三維精細建模方
法研究[J].河南理工大學學報(自然科學版),2015,34(5):640-644
[11] 和莉,劉惠義.碰撞檢測技術(shù)在三維交互漫游系統(tǒng)中的應(yīng)用[J].
計算機技術(shù)與發(fā)展,2006(6):92-94
[12] 李婷婷,余慶軍.虛擬交互系統(tǒng)開發(fā)及關(guān)鍵技術(shù)研究[J].計
算機技術(shù)與發(fā)展,2017,27(12):124-127
收稿日期:2021-05-25
作者簡介:王大虎(1969-),男,江蘇徐州人,博士,副教授,主要研究方向:虛擬現(xiàn)實技術(shù)。
通訊作者:寧彤(1997-),男,河南人,河南理工大學電氣工程碩士研究生,主要研究方向:虛擬現(xiàn)實技術(shù)。