申蔚 李天宇
摘? 要:探索可行的虛擬仿真實(shí)驗(yàn)教學(xué)模式,可以有效地激發(fā)學(xué)生參與課程學(xué)習(xí)的熱情,提高教學(xué)質(zhì)量與效果。本項(xiàng)目針對計(jì)算機(jī)主機(jī)拆裝傳統(tǒng)教學(xué)過程中存在的弊端,綜合使用3ds Max、Unity3D、MySQL等軟件開發(fā)了一個(gè)具有三維展示、實(shí)時(shí)交互、在線測評等功能的計(jì)算機(jī)虛擬拆裝教學(xué)系統(tǒng),從而有效的彌補(bǔ)了傳統(tǒng)實(shí)踐課程的不足之處。
關(guān)鍵詞:虛擬拆裝;Unity3D;仿真教學(xué)
中圖分類號:G640 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2096-000X(2021)05-0072-04
Abstract: Aiming at the drawbacks in the traditional teaching process of computer host disassembly and assembly, this project has developed a computer virtual disassembly and assembly teaching system with the functions of three-dimensional display, real-time interaction, online evaluation and other functions by using 3ds Max, Unity3D, MySQL and other software, so as to effectively make up for the shortcomings of traditional practice courses.
Keywords: virtual disassembly; Unity3D; simulation teaching
虛擬拆裝仿真教學(xué)是指利用虛擬現(xiàn)實(shí)(簡稱VR)技術(shù)模擬計(jì)算機(jī)等復(fù)雜機(jī)械設(shè)備的組成結(jié)構(gòu)、工作原理和拆裝過程,同時(shí)讓用戶可以通過鼠標(biāo)、數(shù)據(jù)手套等設(shè)備進(jìn)行交互操作,在仿真環(huán)境中對虛擬物體進(jìn)行全面考察、操縱乃至拆裝維修的學(xué)習(xí)訓(xùn)練,從而使教學(xué)與實(shí)驗(yàn)取得事半功倍的效果。
一、系統(tǒng)的需求分析與功能設(shè)計(jì)
本項(xiàng)目結(jié)合計(jì)算機(jī)專業(yè)《計(jì)算機(jī)組成原理》課程中的主機(jī)拆裝實(shí)驗(yàn)教學(xué)進(jìn)行了研究。由于受場地、教學(xué)條件和成本等限制,目前主要的教學(xué)方式為教師講解,配合書本、教學(xué)課件和視頻加以輔助說明,之后帶領(lǐng)學(xué)生到實(shí)驗(yàn)室展示一遍主機(jī)的拆裝過程。實(shí)踐的方式是7-8個(gè)人分為一個(gè)小組,每組分配一臺計(jì)算機(jī)主機(jī),供學(xué)生進(jìn)行拆裝練習(xí)。這種教學(xué)和實(shí)驗(yàn)方式,學(xué)生距授課教師較遠(yuǎn),導(dǎo)致教師演示拆裝過程時(shí)學(xué)生很可能看不清或看不到。而在分組練習(xí)時(shí),需要多人共用一臺主機(jī),每人的練習(xí)時(shí)間十分有限。同時(shí),供練習(xí)的計(jì)算機(jī)也多為實(shí)驗(yàn)室淘汰的舊產(chǎn)品,與當(dāng)前主流的計(jì)算機(jī)結(jié)構(gòu)存在一定差異,導(dǎo)致學(xué)到的拆裝知識與實(shí)際應(yīng)用不能準(zhǔn)確匹配。
虛擬仿真實(shí)驗(yàn)的教學(xué)方式可以很好的解決上述問題。系統(tǒng)主要設(shè)計(jì)了三大功能模塊:VR教學(xué)演示、自主練習(xí)和虛擬考試。
1. VR教學(xué)演示模塊
學(xué)生不再受到實(shí)地觀察和視頻錄制角度的制約,可以自主漫游、360度觀察計(jì)算機(jī)主機(jī)的每個(gè)零部件,同時(shí)系統(tǒng)將以文字或音頻的方式給出對應(yīng)的功能說明。教學(xué)演示主要以三維動(dòng)畫的方式展示計(jì)算機(jī)主機(jī)的拆裝過程,學(xué)生可根據(jù)需求選擇觀看步驟,并進(jìn)行重復(fù)多次的學(xué)習(xí)。
2. 自主練習(xí)模塊
學(xué)生既可以通過鼠標(biāo)、鍵盤加顯示器等傳統(tǒng)設(shè)備,也可以通過外接數(shù)據(jù)手套加VR眼鏡等專用設(shè)備進(jìn)行主機(jī)的拆裝練習(xí)。在此模塊中,學(xué)生可在模擬的實(shí)驗(yàn)環(huán)境中運(yùn)用學(xué)習(xí)到的拆裝知識進(jìn)行反復(fù)練習(xí),鞏固、加深自己的記憶,也可自行探索其它安裝順序,當(dāng)硬件被正確安裝后系統(tǒng)會播放音頻提示作為判斷標(biāo)準(zhǔn)。
3. 虛擬考試模塊
系統(tǒng)可以提供拆裝操作的考核,并對學(xué)習(xí)情況和效果進(jìn)行評價(jià)與統(tǒng)計(jì)分析。在該模塊中,學(xué)生將在規(guī)定時(shí)間內(nèi),根據(jù)系統(tǒng)發(fā)布的題目要求,從包括干擾項(xiàng)的多個(gè)部件中選出正確的加以安裝。系統(tǒng)對正確的硬件和安裝流程預(yù)設(shè)了分值,可以根據(jù)操作步驟和完成情況進(jìn)行計(jì)分,并將測試記錄到對應(yīng)的數(shù)據(jù)庫中。
二、虛擬拆裝教學(xué)系統(tǒng)的開發(fā)流程
教學(xué)系統(tǒng)的開發(fā)流程如圖1所示。其中的主要工作如下:
(一)三維建模和渲染
首先,使用3ds Max軟件進(jìn)行三維模型的創(chuàng)建,賦予各部件材質(zhì)與貼圖,并為拆裝的教學(xué)演示設(shè)計(jì)并制作了場景動(dòng)畫。V-Ray渲染引擎能為三維模型添加逼真的紋理與光影效果,可以有效地補(bǔ)足3ds Max默認(rèn)材質(zhì)在擬真程度上的不足。在此過程中,為保留V-Ray逼真的渲染效果,需要在3ds Max中對硬件模型進(jìn)行預(yù)渲染。
(二)交互設(shè)計(jì)
系統(tǒng)的交互功能在Unity 3D軟件中完成。在導(dǎo)入模型并重新賦予貼圖后,通過編寫C#腳本代碼實(shí)現(xiàn)動(dòng)畫演示模塊、拆裝練習(xí)模塊和自我測驗(yàn)?zāi)K的功能。同時(shí),系統(tǒng)還添加了學(xué)生注冊登錄的用戶界面,以及用PHP連接的用于記錄學(xué)生成績的MySQL數(shù)據(jù)庫。最終,對程序進(jìn)行測試、優(yōu)化后發(fā)布。
(三)系統(tǒng)的打包發(fā)布
Unity 3D的一大特色是能夠?qū)崿F(xiàn)產(chǎn)品在不同平臺的發(fā)布。本系統(tǒng)的主要發(fā)布方式為網(wǎng)絡(luò)平臺,這樣可以使學(xué)生不受設(shè)備和場地等因素的限制,通過網(wǎng)絡(luò)隨時(shí)進(jìn)行自主學(xué)習(xí)和拆裝練習(xí)。選擇將系統(tǒng)發(fā)布為WebGL數(shù)據(jù)包,使用Unity 3D生成嵌入式代碼,并將代碼嵌入到NetBeans平臺的網(wǎng)站中,即可將Unity 3D項(xiàng)目在網(wǎng)頁中正常運(yùn)行。同時(shí),由HTML5標(biāo)記語言實(shí)現(xiàn)Web交互式三維場景的渲染、發(fā)布和運(yùn)行。
與此同時(shí),系統(tǒng)也提供了本地沉浸式的虛擬拆裝運(yùn)行平臺,即通過使用數(shù)據(jù)手套等專用VR設(shè)備,以更接近人類自然交互的方式來完成培訓(xùn)。如圖2所示。
三、關(guān)鍵技術(shù)
(一)建模精度的取舍
理論上來講,三維模型的精度越高,越能夠達(dá)到真實(shí)的展示效果,使用者獲得的沉浸感也越強(qiáng)。但與此同時(shí),高精度也會給系統(tǒng)帶來極大的處理負(fù)擔(dān),出現(xiàn)運(yùn)行畫面遲緩、虛擬交互操作卡頓等現(xiàn)象。而如果三維模型過于粗糙,帶給使用者的沉浸感就會減少乃至消失,無法體現(xiàn)出將虛擬現(xiàn)實(shí)技術(shù)帶入教學(xué)系統(tǒng)中的意義所在。所以在遵循資源最優(yōu)化的原則下,本系統(tǒng)結(jié)合不同的任務(wù)需求采用了不同的精細(xì)度建模方法。
為保證教學(xué)效果,對一些需要重點(diǎn)講解的關(guān)鍵部件盡可能地還原實(shí)物。制作較精細(xì)的模型,外觀及尺寸數(shù)據(jù)與真實(shí)物體保持一致。但同時(shí)也對其做了適當(dāng)簡化,對于部分模型中需要大量多邊形構(gòu)建的部分,如主板基板的凹凸電路、CPU底部的觸點(diǎn)等,直接使用基于實(shí)物照片的高分辨率貼圖代替。此類模型包括:主板、CPU、CPU散熱風(fēng)扇、內(nèi)存條、顯卡等。
場景和輔助部件的模型僅制作簡模,刪除多余的面片Poly和網(wǎng)格Mesh,保證系統(tǒng)將最大運(yùn)算資源集中在硬件模型的移動(dòng)、旋轉(zhuǎn)時(shí)的圖形計(jì)算上,防止出現(xiàn)畫面卡頓、抖動(dòng)、切換場景時(shí)加載時(shí)間過長等問題,從而保證在虛擬練習(xí)等人機(jī)交互過程中的流暢性。此類模型包括:機(jī)箱、工作臺、輔助拆裝工具等。
(二)材質(zhì)的貼圖與導(dǎo)出
使用虛擬拆裝教學(xué)系統(tǒng)的用戶主要交互對象為硬件模型,因此在制作時(shí),使用高質(zhì)量渲染引擎V-Ray對硬件模型的每種材質(zhì)進(jìn)行了單獨(dú)編輯,設(shè)置了漫反射、衰減等光效變化,賦予了細(xì)致的紋理和1024*1024分辨率的高清貼圖,確保模型的逼真程度。由于Unity 3D無法讀取V-Ray材質(zhì),為保留V-Ray渲染效果,需要在3ds Max中對硬件模型進(jìn)行預(yù)渲染。具體實(shí)現(xiàn)技巧如下:
1. 因?yàn)閁nity 3D默認(rèn)的貼圖通道與3ds Max不同,因此首先需要對硬件模型的貼圖進(jìn)行整體轉(zhuǎn)移。在硬件模型制作完成后,將所有零件組合為一個(gè)可編輯多邊形,對模型進(jìn)行UVW展開,使貼圖布線貼合模型,之后將貼圖移入第2貼圖通道。
2. 進(jìn)行V-Ray貼圖的烘焙,通過V-Ray渲染器,將模型在無光環(huán)境下的灰度深淺與在光線照射下每種材質(zhì)反射的光線顏色表現(xiàn),烘焙為灰度貼圖與高光貼圖。
3. 渲染結(jié)束后將硬件模型的材質(zhì)調(diào)整為灰模,由3ds Max導(dǎo)出為.fbx文件,再導(dǎo)入至Unity 3D中。通過Unity 3D的著色器Shader,將硬件模型的材質(zhì)設(shè)為Legacy類型,兩種V-Ray貼圖分別作為漫反射貼圖和高光貼圖,調(diào)整貼圖的平鋪大小與UV坐標(biāo)直到與灰模貼合。
(三)信息提示交互功能的實(shí)現(xiàn)
此功能主要實(shí)現(xiàn)在教學(xué)展示過程中,鼠標(biāo)滑過相應(yīng)關(guān)鍵部件時(shí),在鼠標(biāo)指針右下角位置實(shí)時(shí)提供該部件的名稱等提示,當(dāng)有提示時(shí)用戶可以點(diǎn)擊鼠標(biāo)左鍵查看該部件的詳細(xì)信息,再次點(diǎn)擊鼠標(biāo)左鍵可取消信息框。
實(shí)現(xiàn)此功能首先需要在模型的相應(yīng)位置上添加Collider碰撞體組件,再編寫信息框彈出的腳本,分別指定當(dāng)鼠標(biāo)滑過、離開和點(diǎn)擊碰撞體時(shí)要實(shí)現(xiàn)的功能,繼而分別把各個(gè)部件的信息提示腳本掛載到相應(yīng)帶有碰撞體組件的模型上。
(四)數(shù)據(jù)庫的設(shè)計(jì)
虛擬教學(xué)拆裝系統(tǒng)選擇的數(shù)據(jù)庫管理工具為phpMyAdmin。phpMyAdmin是一個(gè)安裝在Web服務(wù)器中、以PHP為基礎(chǔ)的MySQL數(shù)據(jù)庫圖形化管理工具,讓管理者可用Web接口管理和操作MySQL數(shù)據(jù)庫。教師無需安裝額外軟件,通過瀏覽器即可登錄phpMyAdmin教師權(quán)限賬戶,遠(yuǎn)程管理MySQL數(shù)據(jù)庫,查詢已注冊的學(xué)生人數(shù)、學(xué)號姓名、考試成績,或手動(dòng)修改、刪除部分學(xué)生信息,操作十分便捷。
本系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)分為三部分:學(xué)生信息、裝配信息和模型庫。
學(xué)生信息存儲的數(shù)據(jù)較少,僅需存儲學(xué)生的學(xué)號、姓名、密碼等身份認(rèn)證信息以及考試成績,數(shù)據(jù)構(gòu)造簡單,建立單表即可完成。
裝配信息需要記錄各部件的位置關(guān)系、拆裝序列等參數(shù),還需要記錄三維模型文件的加載、正確的裝配關(guān)系、以及預(yù)定義的數(shù)據(jù)格式文件。將數(shù)據(jù)庫中的數(shù)據(jù)與專門的裝配檢測算法相結(jié)合,從而判斷出操作是否正確。如果安裝位置和順序均匹配,則可以實(shí)現(xiàn)部件的自動(dòng)對齊。
拆裝教學(xué)系統(tǒng)具有良好的可擴(kuò)展性,主機(jī)及其各部件被存儲在一個(gè)專門的三維模型庫中,并可根據(jù)當(dāng)前主流的型號定期制作和導(dǎo)入新的模型,解決了實(shí)體教具因硬件發(fā)展而落后淘汰,難以更新?lián)Q代、維護(hù)升級,成本高昂的問題。
四、教學(xué)效果的數(shù)據(jù)分析
課程開設(shè)正值疫情防控期間,學(xué)生們無法在學(xué)校的實(shí)驗(yàn)室進(jìn)行真實(shí)的上機(jī)操作練習(xí),這也正好給本研究投入應(yīng)用提供了一個(gè)非常好的契機(jī)。為了更好的了解虛擬拆裝教學(xué)系統(tǒng)的使用效果,我們通過網(wǎng)課教學(xué)平臺提供的統(tǒng)計(jì)功能,從學(xué)習(xí)時(shí)長、測驗(yàn)得分、問卷調(diào)查等多個(gè)維度對教學(xué)質(zhì)量進(jìn)行了數(shù)據(jù)分析,并與往屆在專業(yè)實(shí)驗(yàn)室使用數(shù)據(jù)手套進(jìn)行虛擬訓(xùn)練的效果進(jìn)行了對比。
(一)VR教學(xué)和自主練習(xí)模塊的數(shù)據(jù)分析
本學(xué)期共有67名學(xué)生參加了虛擬主機(jī)拆裝訓(xùn)練,最終的數(shù)據(jù)分析顯示:所有學(xué)生觀看視頻的平均反芻比為245.73%,最高反芻比389.41%,如圖3所示。所有學(xué)生的自主練習(xí)次數(shù)均為3遍以上。其中,有76.12%的學(xué)生人數(shù)比例練習(xí)了4遍,占總?cè)藬?shù)的最多,其次是練習(xí)5遍的人數(shù)比例占到了14.93%,如圖4所示。其中,練習(xí)次數(shù)總排名居于前三位的同學(xué),測試成績分別獲得了100、100、99的高分?jǐn)?shù)。這說明自主練習(xí)對提高教學(xué)質(zhì)量和學(xué)習(xí)成績是非常有幫助的。
(二)不同實(shí)踐模式的對比
在調(diào)查問卷中,對虛擬拆裝教學(xué)的滿意度結(jié)果顯示:75.3%的學(xué)生喜歡這種教學(xué)模式,而有24.7%的學(xué)生希望在真實(shí)的實(shí)驗(yàn)環(huán)境中操作,填寫的主要原因是認(rèn)為遇到問題面對面的交流會更清楚。這在一定程度上說明了課堂實(shí)踐教學(xué)也具有其不可取代的重要性。
在調(diào)查問卷中,我們還請往屆在專業(yè)實(shí)驗(yàn)室使用數(shù)據(jù)手套進(jìn)行過虛擬訓(xùn)練的10位同學(xué)進(jìn)行了用戶體驗(yàn)的對比。其中主要的描述指標(biāo)包括:
準(zhǔn)確性:完成任務(wù)的正確率
容錯(cuò)性:由于遮擋、噪音等造成的識別誤差
舒適性:長時(shí)間操作造成的疲勞度、不良反應(yīng)等
復(fù)雜度:交互復(fù)雜度
易用性;帶給用戶的心理感受
普遍的感受是使用數(shù)據(jù)手套這類專業(yè)的VR設(shè)備,有新鮮感,同時(shí)操作的沉浸感會較強(qiáng);完成任務(wù)的正確率、誤差的識別率均與使用鼠標(biāo)鍵盤的網(wǎng)絡(luò)版沒有顯著差異;但使用數(shù)據(jù)手套會在交互復(fù)雜度上略微高一些,而且還受到數(shù)量、成本、使用地點(diǎn)等限制。綜合上述因素,同學(xué)們還是認(rèn)為網(wǎng)頁嵌入式的拆裝訓(xùn)練系統(tǒng)更具有實(shí)用性和教學(xué)推廣價(jià)值。
五、結(jié)束語
虛擬現(xiàn)實(shí)作為一門新興的科學(xué),目前也尚有諸多因素限制它在教育領(lǐng)域的廣泛應(yīng)用。例如,自身技術(shù)還不夠成熟,用于教育和培訓(xùn)的應(yīng)用系統(tǒng)依然較少,硬件設(shè)備比較昂貴等。但是,它的“沉浸性”“交互性”與“構(gòu)想性”,不但非常有利于教學(xué)人員構(gòu)建一種全新、多變的教學(xué)環(huán)境和教學(xué)手段,而且為學(xué)習(xí)者提供了一種可以進(jìn)行交互、直觀、自主探索的學(xué)習(xí)環(huán)境和學(xué)習(xí)方法,從而有效地激發(fā)學(xué)生參與課程學(xué)習(xí)的熱情,在多方面提高教與學(xué)的質(zhì)量和效果。為了創(chuàng)造更加自然沉浸的三維交互體驗(yàn),本系統(tǒng)計(jì)劃在后續(xù)的升級改良中,嘗試實(shí)現(xiàn)自然交互,即通過手勢識別技術(shù),輔助深度學(xué)習(xí)等算法,實(shí)現(xiàn)無需懸空操作的雙手動(dòng)作,特別是對雙手交叉換位等動(dòng)作,在算法層加以改進(jìn),從而使用戶體驗(yàn)大幅提升,為更多課程的教學(xué)改革提供可行性參考。
參考文獻(xiàn):
[1]嚴(yán)雨靈.基于Unity3D的虛擬維修教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].設(shè)計(jì)與應(yīng)用研究,2019(11):128-130.
[2]馬思群.基于Unity3D的動(dòng)車轉(zhuǎn)向架虛擬拆裝培訓(xùn)系統(tǒng)研究[J].計(jì)算機(jī)應(yīng)用,2017(4):33-37.
[3]楊志文.基于Unity3D的組合夾具虛擬拆裝教學(xué)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].河北工業(yè)大學(xué)學(xué)報(bào),2018(4):8-16.
[4]易小琳.網(wǎng)上計(jì)算機(jī)系統(tǒng)虛擬實(shí)驗(yàn)室的研究[J].計(jì)算機(jī)工程,2002(11):243-258.
[5]Jayaram S.et al. VADE: A virtual assembly design environment[J]. America: IEEE Computer Graphics and Application, 1999:43-45.
[6]Wenjin Tao. Augmented, Virtual, and Mixed Reality Applications in Advanced Manufacturing[J]. America: Missouri University of Science and Technology, 2019:4-7.