趙良平 李傳鋒



摘 ?要 ?針對計算機實驗教學中存在難動手、學習淺、不能反復操作等問題,基于Unity3D虛擬開發引擎,以硬件拆裝為重點,開發包括原理介紹、動畫演示、機械拆裝、試題測驗等模塊的虛擬教學系統。系統將虛擬現實技術與教學結合,通過了解教學實際需求,創設虛擬教學場景,模擬真實計算機模型,達到激發學生學習熱情、提高學生學習效果的目的。
關鍵詞 ?計算機拆裝;Unity3D;系統開發;拆裝虛擬教學系統;實驗教學
中圖分類號:TP391.98 ? ?文獻標識碼:B
文章編號:1671-489X(2023)04-0029-05
Development and Design of Computer Disa-ssembly and Assembly Virtual Teaching System Based on Unity3D//ZHAO Liangping, LI Chuan-
feng
Abstract ?In view of the problems of difficult hands-on, shallow learning and inability to operate repea-
tedly in computer experimental teaching, this paper
develops a virtual teaching system based on Unity3D
virtual development engine, focusing on hardware disassembly and assembly, including modules of prin-
ciple introduction, animation demonstration, mecha-nical disassembly and assembly, and test questions and quizzes. The system combines VR technology with
teaching and learning by understanding the actual needs of teaching, creating virtual teaching scena-rios and simulating real computer models to achieve the purpose of stimulating students enthusiasm for
learning and improving the learning effect.
Key words ?computer disassembly and assembly; unity3D; system development; disassembly and assembly virtual teaching system; experimental teaching
Authors address ?Information Technology Center, Luoyang Institute of Science and Technology, Luoyang,
Henan, China, 471023
0 ?引言
根據《教育部關于開展國家虛擬仿真實驗教學項目建設工作的通知》要求,要推進現代信息技術融入實驗教學項目,實驗教學內容的廣度和深度要拓展、時間和空間要延伸、質量和水平要提升。實驗教學理念要突出以學生為中心、教學方式方法要創新多樣化[1]。
計算機組裝與維護是大學里實踐性非常強的一門技術基礎課,教學目的是讓大學生了解和掌握計算機基礎知識及實踐經驗,培養大學生的創新意識、動手操作能力。但是,目前的課程安排主要存在設備資源和場地有限、教學模式單一、師資水平不高及實踐環節安全隱患較大等問題,導致學生在實踐過程中存在時間浪費、缺少主動性、受益較淺等情況。通過相關文獻檢索及分析,發現虛擬教學系統開發大多以機械類實驗課程為主,計算機實驗方面的開發設計較少,并且集中于動畫演示,對于虛擬拆裝部分的開發重點研究不多。
因此,本文通過對計算機實驗課程目標及需求進行分析,以Unity3D虛擬現實開發引擎為平臺,開發了一套計算機拆裝虛擬教學系統,解決了當前計算機實驗教學中的重難點,還拓展了計算機拆裝教學的廣度和深度,學生通過虛擬拆裝系統隨時隨地的練習,熟練掌握各類品牌計算機拆裝的基本步驟和注意事項,解決了實際生活中計算機硬件故障、設備升級等問題,實現了虛實結合。
1 ?系統需求分析及功能
系統開發之前,以洛陽理工學院為例,通過對師生調查了解計算機實驗課程的現有教學模式,由于教學場地、教學設備的限制,學生大多從書本學習計算機基礎知識。教師上課演示動手拆解計算機后,要求學生課下自行尋找設備練習,而學生多因個人計算機型號單一、拆后無法重裝、場地工具限制等因素無法開展學習。這樣的教學模式使學生無法真正體會到動手操作要領,學習只存在于淺層表面。為了在教學中實現以學生為中心,激勵學生主動探索學習。計算機組裝與維護課程教學目標設計為:了解計算機的組成、功能及其工作原理;掌握計算機主機中主板、內存等重要部件的安裝位置、運行方式;掌握計算機的拆裝和裝配過程三大模塊內容。
圍繞實踐教學目標,結合調研訪談結果,考慮到網頁端師生登錄界面、介紹基礎知識、虛擬真實計算機運行流程、自主操作拆解計算機、鞏固知識練習操作等方面的教學需求。結合Unity3D軟件開發特點,本系統主要從以下五個方面實現相應的功能。
1.1 ?用戶登錄
學生及教師使用個人注冊賬號通過瀏覽器隨時隨地登錄計算機拆裝虛擬教學系統。
1.2 ?運行原理模塊
模擬計算機開機后真實運行狀態,觀看計算機主板、CPU、硬盤、內存等硬件的構造以及詳細外觀,通過視頻了解其功能和基本參數等信息,幫助學生做好計算機裝機準備。
1.3 ?拆裝動畫模塊
提供本課程相關文檔、圖片、視頻講解說明,動畫講解演示正確拆裝步驟及流程,為用戶提供自主學習資源。
1.4 ?自由拆卸模塊
為用戶提供臺式機、筆記本計算機、工作站等多品牌多型號計算機模型,節省購買資金,豐富學習資源。計算機模型各組成部分進行文字標簽說明和選中高亮顯示,并且可以放大縮小,360度旋轉觀察計算機模型,能反復自主動手操作拆解、組裝計算機,并伴隨拆裝提示。
1.5 ?試題測驗模塊
具備計算機零部件模擬實操、計算機組裝故障介紹和習題練習等功能,學生自由練習鞏固學習內容,檢測學習效果。
2 ?系統設計及開發流程
計算機拆裝虛擬教學系統是基于Unity 3D開發的一款教學仿真系統,虛擬仿真的實驗室環境讓學生使用時感覺身臨其境。本系統的開發主要分為三個階段:第一階段是搭建用戶數據庫,部署登錄服務器;第二階段是利用3dMax等軟件制作三維模型、貼圖素材等;第三階段是利用C#語言進行交互功能開發和腳本編寫。最后,通過Unity 3D集成軟硬件調試,測試發布計算機拆裝虛擬教學系統。系統開發流程如圖1所示。
本系統為了師生能隨時隨地開展學習,將整個系統部署在服務器上,采用數據庫存儲用戶數據,基于B/S架構實現師生使用個人計算機,在校內任意地點通過Chrome瀏覽器直接登錄,開展協作學習、移動學習、泛在學習。系統的后臺主要使用PHP進行開發,可以進行用戶賬號設置、題庫批量導入、設置測試、成績計算保存以及錯題統計解析等功能[2]。
本系統主要開發流程為:首先,通過使用三維建模和圖片處理軟件,對計算機內部的所有硬件進行實物建模、材質貼圖、組裝連接等;其次,將建好的模型導入Unity3D中進行開發,主要實現模型爆炸演示、自行動手拆解、顯示運行原理動畫等;再次,根據教學需求,設計交互模塊,添加教學文本、圖片、視頻,教學試題測驗系統;最后,調試整個開發系統,測試發布到Win10平臺,并嵌入網頁端提供登錄接口。通過一系列流程開發,設計一套功能完整、針對教學、形式靈活的虛擬實驗系統。
3 ?拆裝實現
3.1 ?三維建模及優化處理
本系統的設計是基于真實操作場景,以市場現有經典品牌型號計算機為原型,三維建模臺式計算機、筆記本計算機、工作站等五款計算機模型。三維建模使用3dMax三維建模軟件,對計算機內部的所有硬件部件,主板、內存、機箱、顯示器、電源、鼠標、鍵盤等進行1∶1實物建模,要求模型部分與整體之間存在關聯,可以放大縮小,360度旋轉觀察,模型進行文字標簽說明和選中高亮顯示。并且為模型貼圖,設置材質類型,完成三維模型的燈光、材質、外觀顏色等渲染工作,提高視覺可視效果,使模型更加逼真。同時,計算機三維模型導出時選擇Unity3D支持的FBX格式文件。從教學需求和成本角度出發,開發目前有代表性和典型性的計算機模型,學生通過本系統學習可以達到舉一反三、觸類旁通的效果。
計算機3D模型建設完成后,通過Unity3D Hub管理軟件打開下載安裝好的Unity3D引擎,創建Project及場景Scene,布置好攝像機及燈光位置,隨后將計算機三維模型直接導入Unity3D中進行初次參數設置操作使用。通過界面右側Hierarchy面板管理已添加至場景中的模型,Game窗口為運行畫面。計算機模型初次導入Assets,需要重新設置燈光、材質、比例等屬性,并且為計算機各部件命名,添加碰撞體等物理屬性。在Assets文件夾口中為了方便管理本項目各類場景、模型、代碼、燈光、材質等資源,分類創建文件夾及子文件夾將所有資源按結構存放。
3.2 ?兩種拆裝模式
本系統的核心開發內容為計算機拆裝,拆裝模塊設計兩種模式:1)計算機所有模型爆炸展開,分布顯示每部分內部結構,可以進行360度旋轉放大縮小觀察,點擊高亮顯示部件名稱及介紹;2)根據真實拆裝順序引導學生,按步驟自主拆解計算機模型,并且將拆解步驟依次總結顯示。通過兩種模式,實現讓學生深入學習計算機內部運行原理及組成結構,達到教學目標。
3.2.1 ?爆炸分解
當學生進入計算機爆炸拆裝模塊時,點擊計算機,其所有組件會向四周爆炸散開,把鼠標放在單個零部件上,邊緣會呈現發光狀態,并顯示名稱,方便學生快速認識每個零件,也可以對零部件進行放大、縮小并360度旋轉查看內部細節。
本系統針對爆炸拆裝的算法思路為:第一步,找到虛擬計算機模型的中心,設置為爆炸中心,記錄坐標;第二步,獲取計算機模型的所有部件,把他們設置為子對象;第三步,計算每一個子對象與爆炸中心之間的距離,并把距離乘以3;第四步,調用函數,將所有的子對象一個個的帶入函數中,求得目標坐標,把子對象移動到目標位置;第五步,將父對象賦值給計算機模型對應屬性,所有部件圍繞中心點,實現均勻拆分的爆炸分離。
Unity3D引擎中UI系統的On GUI方法可以幫助實現計算機的虛擬拆裝功能。在Unity3D引擎中給計算機模型添加碰撞體組件后,API中的On Mouse Down方法可以通過Unity 射線檢測碰撞體,并在 On Mouse Down方法下編寫驅動模型運動的腳本[3]。
3.2.2 ?手動拆裝
計算機手動拆裝時,鼠標呈現扳手圖形,學生可以對所有部件模型旋轉、縮放查看。如果將扳手放在每個零部件上時,單擊每個零部件的三維模型會呈發光狀態,長按可以進行拖拽,移動拆下計算機模型部件。計算機手動拆裝的一般流程為:首先,拔掉鼠標、鍵盤、電源連接線,擰掉螺絲打開機箱后蓋;其次,按照電源→主板→內存→顯卡→風扇→中央處理器→光盤驅動器→硬盤等順序依次拆下;最后,將所有部件擺放整齊,點擊界面“返回按鈕,計算機模型可自動復原。在手動拆裝過程存在嚴格的先后順序,學生應依次按正確順序才能完成,系統手動拆卸界面如圖2所示。
將計算機中每一部分模型,使用Animator組件記錄拆解動畫,當把指示棒放置在模型上為高亮時,播放動畫拆解動畫,學生不斷尋找高亮部分,進行拆除,直到拆解完成。點擊復原按鈕,模型可按順序自動裝回,便于進行二次拆解,之后可重復操作。
4 ?系統界面和動態交互功能設計
本系統由運行原理、拆裝動畫、自由拆卸、習題測試四個模塊構成,在Unity3D中對四個模塊分別設計界面,添加視頻、跳轉交互菜單和按鈕等。學生通過四個模塊的學習,實現先掌握基本知識,明白操作原理,再進行動手拆裝,最終完成知識測試,系統拆裝界面如圖3所示。
4.1 ?設計UI界面
UI界面在Canvas(畫布)的基礎上,對UI文本、按鈕、圖像、視頻、音頻等屬性進行參數設置,
主要包括Scale(大?。?、Position(位置)、Rotation(旋轉)等。在Asset窗口中所有控件的存放形式,表示他們之間的父子關系。例如,界面中的Text(文本)控件可以設置顏色、字體、樣式等。Button(按鈕)控件被點擊后,會觸發下一條指令。
4.2 ?設置第一人稱
為了增強系統的真實感,當學生進入本虛擬系統后,將以“第一人稱”進行操作使用。通過Unity商店下載官方人物包,將預制體導入,拖拽至場景中,放置在相機上,并設置屬性。通過編寫C#腳本,鍵盤上下左右按鍵控制攝像機前進、后
退;鼠標及滾輪控制旋轉、縮放,學生在場景中進行漫游交互學習,以獲得真實體驗。
4.3 ?開發試題測驗
本系統的試題測驗設置兩種模式:基礎知識回答和拆裝模擬測試,在C#代碼里提前編寫好試題題目及正確答案。學生進入試題測驗模塊,界面會顯示填空題、選擇題、操作題等題型。作答完畢提交答案后系統會進行自動批改,顯示分數,同時對錯題進行分析解釋。如果是拆裝測試,會有正確步驟提示。除此之外,系統規范計算機部件的擺放位置,以幫助學生養成良好的拆裝習慣,遵守實驗操作規范,系統試題測試界面如圖4所示。
4.4 ?進行網頁交互
計算機拆裝虛擬教學系統發布后直接在瀏覽器運行,為了能通過Web端顯示的按鈕來直接控制系統內容,所以設計了模型與網頁的交互部分。Unity3D需要直接與瀏覽器的JavaScript對接,Web GL也需要與Web上的其他內容對接。Unity3D中的API也可以實現此功能。
5 ?系統測試發布
計算機拆裝虛擬教學系統開發完成后,將其與外接硬件設備連接進行聯調。本系統選配的硬件設備為Oculus quest 2.0一體式頭顯、HTC Vive頭顯設備,主流分辨率,支持 SteamVR2.0定位系統,同時配備了兩個操作手柄,來定位用戶的坐標位置和操作指示,實現本系統的VR交互使用。用戶使用過程中,操作手柄會發射激光射線出現計算機虛擬系統中,移動手柄把激光射線放置在計算機模型部件上,選中模型塊呈高亮顯示,當扣動手柄內側扳機,可對模型移動或旋轉。同時,手柄也可對系統中按鈕及滑塊進行選中或點擊進行下一步操作。通過多次測試,確定系統界面及按鍵模型大小,拆裝交互動作,拆裝交互順序等細節,不斷完善虛擬拆裝系統。最后,在Unity3D中設置發布格式,分別生成支持Windows、Mac、Android 多種操作系統的文件。外接式頭顯設備如圖5、圖6所示。
6 ?結束語
本文在了解教學需求的基礎上,確定系統功能及開發流程,先利用3dMax建模計算機硬件各個組成部分。再將3D模型導入Unity3D平臺對組件之間進行關聯設置。接著,使用C#語言編寫代碼,實現計算機模型爆炸拆解和手動拆解兩種模式。最后,進行動態交互設計,完成知識講解、運行原理、拆裝動畫、試題測驗四個模塊,測試發布基于Unity3D的計算機拆裝實驗教學系統,為計算機組裝與維護課程提供教學指導。經過課程教學實踐表明,設計的系統有助于學生“身臨其境”感受到操作實物的效果,提高了學生參與實踐學習的積極性和主動性。
7 ?參考文獻
[1] 中華人民共和國中央人民政府.教育部關于開展國家虛
擬仿真實驗教學項目建設工作的通知(教高函〔2018〕5號)
[A/OL].(2018-05-30)[2022-10-24].http://www.gov.cn/
zhengce/zhengceku/2018-12/31/content_5440531.htm.
[2] 管維紅,華馳,張蓉,等. 筆記本電腦虛擬拆裝實驗教
學項目建設與應用[J].中國教育信息化,2019(24):41-
43,47.
[3] 丁毓峰,徐鑫,閔新普,等.基于Unity3D的機電產品
虛擬拆裝實驗系統[J].實驗室研究與探索,2020,39(3):
118-122,137.
[4] 陳果,劉桂芹.基于Unity3D煤礦鉆機虛擬裝配培訓系
統開發[J].包裝工程,2022,43(12):106-112.
[5] 趙銘超,孫澄宇.虛擬仿真實驗教學的探索與實踐[J].
實驗室研究與探索,2017,36(4):90-93.