白帆 王大虎 劉浩 杜猛 孫存遠



摘 ?要: 傳感器實驗,是測控技術與儀器專業學生所必須掌握的科目之一,但是通過對學生學習情況進行研究發現,現在傳統的傳感器實驗課內容抽象,學生動手實踐時間也比較短。針對這一情況,文章從虛擬仿真教學的角度出發,以傳感器實驗的實驗設備為原型,使用3ds Max完成模型建立和優化,利用Adobe Premiere Pro和Adobe After Effects軟件完成三維動畫制作,基于Unity3D平臺完成了傳感器實驗仿真教學系統的開發,實現結果表明,該系統實現了對實驗原理、實驗設備結構的介紹,并且學生可以對傳感器實驗的整個過程進行實操練習,具有很好的交互性,有助于提高學生的學習興趣和專業水平。
關鍵詞:?傳感器實驗;虛擬現實;仿真教學;3ds Max;Unity3D
中圖分類號: TP212????文獻標識碼:?A????DOI:10.3969/j.issn.1003-6970.2020.02.032
【Abstract】: Sensor experiment is one of the subjects that students majoring in measurement and control technology and instruments must master. However, through the study of students' learning, it is found that the content of traditional sensor experiment is abstract and the time of students' hands-on practice is relatively short. In view of this situation, from the perspective of virtual simulation teaching, this paper takes the experimental equipment of sensor experiment as the prototype, uses 3ds Max to complete the model establishment and optimization, uses Adobe Premiere Pro and Adobe After effects software to complete the three-dimensional animation production, and completes the development of sensor experiment simulation teaching system based on unity3d platform. The implementation results show that the The system realizes the introduction of the experiment principle and the structure of the experiment equipment, and the students can practice the whole process of the sensor experiment, which has a good interaction and helps to improve the students' learning interest and professional level.
【Key words】: Sensor experiment; Virtual reality; Simulation teaching; 3ds Max; Unity3D
0??引言
傳感器實驗,是每個測控技術與儀器本科專業學生所必須學習的科目,但通過調查發現,在傳感器實驗課上,實驗都是在老師的帶領下去完成的,而且由于實驗條件和實驗時間的問題,在老師演示實驗的時候,很多學生是看不到老師的演示細節,只是很盲目的跟著老師一步一步完成實驗,一節實驗課上完,完全不了解傳感器實驗的詳細內容,實驗效果比較差,對學生的動手實踐能力提升也不大。
虛擬現實技術,也就是VR技術,是一種融合了仿真技術、計算機圖形學技術、網絡技術、多媒體技術等多種技術的新型技術。近些年來,由于VR技術發展迅速,VR技術在實驗教學方面的應用也日益增多。2015年[1],杜坤提出了由結構與功能、組分與功能、設備與技能三大模塊以及平臺支撐軟件組成的生物學虛擬實驗室;2016年[2],王富強運用虛擬現實技術、多媒體技術、人機交互技術、數據庫技術和網絡通信技術等,開發了機械原理認知虛擬仿真實驗系統;2018年[3],董圓圓利用Unity3D及Java Web搭建了基于虛擬現實的醫學實驗仿真教學系統。
本文則是以虛擬現實技術為基礎,以常見的CSY系列傳感器系統綜合實驗的實驗設備為例,基于Unity3D平臺,使用3ds MAX、Photoshops、Adobe Premiere Pro和Adobe After Effects等軟件,實現了對傳感器實驗的仿真教學。相較與以往的仿真教學系統,此設計對傳感器實驗的仿真更加具體,使學生能夠通過鼠標、鍵盤可以清楚的觀看到實驗使用設備的設備外觀、結構,同時,可以親自動手完成整個實驗的操作,大大提高了學生的學習興趣。
1??傳感器實驗仿真教學系統的設計
1.1??實驗選材
在測控技術與儀表專業,其一系列實驗的核心就是各類傳感器的應用。傳感器是一種檢測裝置,能感受到被測量的信息,并且能夠將感受到的信息按照一定的規律轉換成電信號或者其他形式的信息傳送出來,從而滿足信息的傳遞、處理、存儲、顯示、記錄和控制等要求。傳感器早就隨著新技術革命的發展滲透到了各行各業,如工業生產、生物工程、環境保護等,在推動經濟發展和社會進步傳感器起著很重要的作用,同時傳感器也是測控技術與儀表專業學生所必須掌握的內容。
但是由于傳感器種類繁多,在此無法一一列舉出來,因此選取了相對經典的CSY系列傳感器系統綜合實驗中的霍爾傳感器實驗、溫度傳感器實驗和應變式傳感器實驗為本文選材。
1.2??實驗教學系統的設計過程
1.2.1 ?實驗教學系統的模塊設計
此實驗教學系統的目的是為了讓學生能夠對傳感器實驗原理、實驗設備結構有更加詳細的了解和認識,同時可以親自完成整個實驗的操作過程,因此,將實驗分為以下幾個模塊[4]。
(1)場景漫游模塊。在虛擬的場景中進行漫游,同時可以拉近場景中的實驗設備,近距離觀察實驗設備的外形和結構。
(2)三維動畫模塊。此模塊通過三維動畫的形式使學生可以了解相關實驗的實驗原理、實驗步驟等。
(3)實驗設備拆裝模塊。此模塊通過設備的拆裝和設備的結構展示了可以讓學生很清楚的了解每個實驗設備的內部結構和各個結構名稱,可以讓學生對實驗設備有了更清楚的認識。
(4)實驗操作模塊。此模塊用來實現幾個實驗整個過程的操作練習,學生可以自己動手無次數限制進行練習,同時在練習過程中,系統在實驗容易出錯的地方會給出相關的實驗注意事項,便于學生了解整個實驗的內容。
1.2.2??設計流程
要想實現每個模塊和整個系統的功能[5],具體的流程如圖1所示,首先要對傳感器實驗的資料進行收集,包括外部照片、實驗設備結構、實驗原理、操作過程等資料的收集,然后根據收集到的資料用3ds MAX進行模型的建立,接著對模型進行進一步的優化,然后結合資料完成相關三維動畫的制作,合成視頻,將模型和視頻導入Unity 3D中,完成整個系統的交互。同時在系統完成后要對系統進行最后的測試,測試成功后完成系統的設計,發布系統。
2??實驗模型的建立
需要創建的模型包括三個實驗的實驗設備、實驗室的環境和人手模型。在建模過程中要按照一定的步驟和流程,才能加快建模的速度,增強模型的真實感。
由于模型比較多,無法一一進行介紹,因此以CSY系列傳感器綜合實驗臺為例,對建模進行介紹。
2.1??利用3ds Max進行模型建立
3ds MAX是屬于美國的Autodesk公司旗下的,一款基于PC系統的三維動畫渲染和制作的軟件,這款軟件的功能強大,而且操作簡單,上手時間快,所以廣泛的應用于廣告、影視、工業設計、輔助教學以及游戲等領域。
在利用3ds MAX進行建模前[6],要仔細觀察CSY系列傳感器綜合實驗臺的照片以及收集的資料,以保證所建立的模型最大程度的還原真實模型。收集的照片如圖2所示。
在整個建模過程中[7],基本分為以下幾個步驟:
(1)先在3ds MAX中選擇所需建模部分的基 本幾何體,比如長方體、正方體、圓柱體等,再根據其實際的尺寸,進行參照調整。
(2)將新建立的基本幾何體轉化成可編輯多邊形,在編輯多邊形的命令下進行操作。
(3)對基本幾何體在頂點、邊、邊界、面和元素等不同條件下進行環形、循環、插入、連接和擠出等不同命令的操作,一步一步的將其改成所需要的模型。
(4)在每個部分建好之后[8],再利用移動、對齊、旋轉和鏡像等命令將所有的模型組好在一起,形成CSY系列傳感器綜合實驗臺的模型,建好的模型如圖3所示。
2.2??模型優化
模型雖然在3ds MAX中完成了制作,但是在3ds MAX中各個模型的顏色比較單一,很難表現出來真實物體的效果,這時就要對模型進行進一步的優化[9]:
(1)進行材質貼圖的優化,為了使更像真實的物體,要從現實的照片中裁取貼圖,用PS等工具進行加工以后,再將貼圖附加到模型表面。
(2)光照效果也是必不可少的一步,通過增加局部光源和整體光源,并且調整模型對光吸收、放射和折射等參數,使模型表現出真實的效果。優化后的模型如圖4所示。
(3)我們在3ds MAX中的模型稱為工程文件,但是如果要合成動畫,就必須進行渲染操作,將燈光和材質調整好之后,對模型進行渲染,產生動畫序列幀,使輸出的照片具有很強的真實感。
(4)此時的模型雖然可以滿足動畫制作的需要,但是做出來的模型面數很多,結構復雜,如果在后期直接導入Unity 3D中,會Unity 3D無法正常運行,這時就要使用到烘焙技術[10-11],把復雜的模型的效果烘焙到一個簡化之后的模型上,便于后期模型的導入和處理。
3??三維動畫合成
模型經過渲染之后,開始進行動畫合成。本文采用Adobe Premiere和Adobe After Effects兩款軟件進行合成動畫。Adobe Premiere和Adobe After Effects是兄弟產品,是一套動態圖形的設計工具和特效合成軟件,并且兩款軟件的兼容性很好,能滿足當今大部分視頻制作的要求。
動畫合成的大致流程是:
(1)先根據需求編寫相關的視頻腳本,對視頻腳本進行配音。
(2)將配音與渲染出來的照片導入Adobe Premiere中,在軟件中將圖片與相應的配音音頻一一對照,同時要注意使用“視頻切換”特效,以保證視頻的流暢。
(3)再利用Adobe After Effect對視頻進行進一步的加工,增加片頭和標題,同時根據腳本配上相應的字幕和特效,完成動畫視頻的合成。
4??三維場景交互
4.1??利用Unity3D進行人機交互
Unity3D和虛幻引擎4是當前比較主流的兩個綜合型游戲開發工具,而Unity3D更簡單容易上手,并且對配置要求低沒事,所以這里選擇Unity3D進行人機交互。如圖5所示,實驗設備模型導入Unity 3D的效果圖。
4.2??碰撞檢測技術
系統有實驗設備拆裝的功能,這時要進行拆裝區域的判斷,當進行這個區域的時候,進行設備拆裝的操作,這時就需要碰撞檢測技術進行實現,主要包括邊界框算法,基于距離的算法等[12]。
在這個系統中,所有區域都是長方體。我們選擇一個名為軸對齊邊界框(簡稱AABB)的邊界框算法作為該系統的碰撞檢測算法。
基于邊界框的算法有三個步驟:
(1)計算AABB(軸對齊的邊界框)。
(2)建立邊界框的級別。
(3)執行邊界框的重疊測試。
首先,計算拆裝區域的AABB和移動鼠標區域的AABB。通常,移動鼠標區域的AABB的位置可以通過計算其中心點,長度,寬度和高度來獲知。但是,拆裝區域AABB的區域與實驗設備的邊界框不同。拆裝區域邊界框的長度應加上拆裝距離。我們將m作為實驗設備邊界框的中心點,a為長度,b為寬度,c為高度。同時,D是實驗設備的拆裝距離。拆裝區域的邊界框的參數包括中心點m′,長度a′,寬度b′和高度c′,這些值可以通過以下表達式計算:m′= m,a′= a?+ D,b′= b?+ D,c′= c?+ D。
然后,通過自上而下的方法建立兩個簡單的級別等級,一個是實驗設備的級別等級,一個是移動鼠標區域的級別等級。
最后,在兩個級別等級中進行交叉測試,從而判斷虛擬檢查員是否進入了拆裝區域。如果進入了,我們開始執行拆裝命令。
4.3??使用C#編寫腳本
要在Unity3D中實現各種交互功能,就必須有相關程序的編寫,本文采用C#語言完成程序的編寫[13]。
在整個程序的編寫過程中,動畫的導入是很重要的一步,其中導入的部分腳步程序如下:
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour
{
public MovieTexture mov;
void Start()
{
audio.clip = mov.audioClip;
audio.Play();
mov.Play();
}
void OnGUI()
{
if(GUI.Button(new Rect ( 310,0,100,50),"2倍速播放"))
{
audio.pitch = 2f;
}
if(GUI.Button(new Rect ( 410,0,100,50),"1倍速播放"))
{
audio.pitch = 1f;
}
GUI.DrawTexture(new Rect(0,0,300,300),mov);
}
根據需求一步步完成整個程序腳本的編程,從而在Unity3D中實現所有想實現的交互功能。
5??系統測試與發布
整個系統設計完成后,還應該對系統的性能進行測試[14],如圖6所示,是系統的主頁面,按照系統剛開始設計的需求分為了四個功能模塊:型號展示模塊、內部結構展示模塊、設備拆裝模塊和工作原理模塊。需要進行哪個模塊用鼠標點擊一下即可進入。經過測試,系統每個模塊的功能都滿足設計的基本要求。
由于Unity3D軟件具有很強大的系統兼容性,所以發布出來的程序基本能在PC、IOS、Android等多個平臺上運行。在發布過程中是在Project視圖下進行Assets資源包的打包,在Build Setting中進行發布配置,在Inspector操作面板中進行軟件產品名稱和圖標的修改等。
6??結語
在這個技術高速發展的社會,各個高校都慢慢開始注重虛擬仿真實驗教學的建設,VR技術在教育方面的應用也越來越多,本文設計的傳感器實驗仿真教學系統使學生可以隨時隨地對相關的傳感器實驗進行學習,增加了學習的趣味性,提高學生學習的積極性,從而提高學習效率和學習成果。
參考文獻
杜坤, 張彪, 魏萬紅, 等. 生物學虛擬實驗室的構建及應用[J]. 實驗技術與管理, 2015, 32(09):?132-136.
王富強, 賀瑗, 強建國, 等.?機械原理認知虛擬仿真實驗系統開發及應用[J]. 教育現代化, 2016, 3(36):?118-119.
董園園, 余小清, 萬旺根. 基于虛擬現實技術的醫學實驗仿真教學系統[J]. 工業控制計機, 2018, 31(11):?111-112+115.
閆紀紅, 張奮揚. 虛擬可重組制造系統仿真優化模塊開發[J]. 實驗室研究與探索, 2013, 32(07):81-86+98.
唐實, 任淑霞, 王佳欣, 等. ?基于虛擬VR技術的心臟醫療輔助系統的設計與應用[J]. 軟件, 2018, 39(6): 23-25.
王大虎, 高會爭, 陳俠. 基于Quest3D的變電站仿真培訓系統[J]. 中國電力, 2016, 49(9):?62-64.
高偉, 王昱霖, 吳倩蓮, 等. 基于VR技術的教育游戲在英語教學中的應用與發展前景[J]. 軟件, 2018, 39(5): 60-65.
劉標, 王大虎, 徐炎軍. 基于Unity3D的電力仿真教學系統[J]. 軟件, 2019, 40(06):?164-168.
陳美伊. 基于GIS的旅游景區虛擬實現技術的研究[J]. 軟件, 2015, 36(10): 30-32.
李永強, 牛路標, 楊莎莎, 等. 大型仿古建筑三維精細建模方法研究[J]. 河南理工大學學(自然科學版). 2015, 34(5): 640-644.
呂杰英. 虛擬機技術在計算機基礎教學中的應用[J]. 軟件, 2015, 36(5):?113-116.
和莉, 劉惠義. 碰撞檢測技術在三維交互漫游系統中的應用[J]. 計算機技術與發展, 2006, 16(6): 92-94.
韓桂明, 周凌, 趙志鵬. 基于Unity3D的房間仿真技術[J]. 電子測試, 2014, (11): 49-51.
吳亞峰, 于復興. Unity3D游戲開發技術詳解與典型案例[M]. 北京:?人民郵電出版社, 2012: 101-200.