?

基于Unity 3D的鉗工教學虛擬仿真實驗系統

2023-05-30 10:48顏宗歡張士杰黎鑫
計算機應用文摘 2023年7期
關鍵詞:仿真系統虛擬技術

顏宗歡 張士杰 黎鑫

關鍵詞:仿真系統;虛擬技術;金工實習;鉗工教學

中圖法分類號:TP391 文獻標識碼:A

1引言

“鉗工實訓”是機械類各專業必修的一門基礎性實踐課程,旨在提升學生動手操作、創新、解決問題等能力。學生不僅需要了解鉗工(包括鋸削、銼削、劃線等)的基本原理,同時需要對其規范操作進行實踐和掌握。但由于鉗工設備價格較高且某些操作的危險性很高,導致教學往往側重于掌握基本的原理,這嚴重影響了教學效果,也降低了學生的參與度和體驗感,沒能實現培養其實踐能力的目標。

針對以上問題,很多高校已經開始了相關研究與應用。隨著交互性應用的發展,虛擬仿真技術有了突破性的進步,在各行各業都有成功的應用,并取得了相應的經濟效益。

虛擬仿真系統主要包含硬件和軟件2個部分,其中軟件作為控制,硬件作為仿真對象。其優勢在于以鉗工教學作為理論基礎,以虛擬現實的仿真系統作為技術支持,基于Unity軟件構建3D實驗室,連接手機與平臺進行交互,實現與真實環境相似的效果。相對于其他虛擬平臺,本文虛擬平臺在一定程度上更有助于實踐性課程的訓練,同時成為全國高校金工實習首個線上線下共同教學平臺,填補了金工實習線上虛擬現實教學的空白。

2虛擬仿真技術

虛擬現實技術,又稱作虛擬實境技術。該技術是一種能夠創建和體驗虛擬世界的計算機仿真系統(Computer Simulation System)。該技術主要是由計算機技術、傳感器技術、人類心理學和生理學等綜合而成。因此,其能夠向用戶提供視覺、嗅覺、味覺等感知功能,讓用戶完全沉浸在虛擬環境中,實現身臨其境的效果。該技術通過計算機仿真系統盡可能地還原現實環境,讓用戶能夠在虛擬環境中進行交互,并為用戶提供各種信息。

虛擬現實技術包含3個主要特點:交互性(Interaction),沉浸感(Immersion),想象性

3實驗系統設計

3.1系統構思

系統的初步構思:前端開發系統登錄界面的設計,后端建立mysql數據庫,存放用戶信息,利用Unity實現用戶注冊登錄并進入實驗平臺。通過三維建模軟件solidworksUnity構建3D實驗室環境,即操作平臺界面。插入實訓教學的音頻,用戶可以在實驗操作前觀看具體的操作步驟。然后將手機與計算機進行連接,通過移動手機端,實現虛擬工具的移動,從而對元件進行打磨。后端數據庫記錄整個實驗操作過程,實驗結束后,根據建立的數據庫對其操作進行評分,并給出具體的扣分原因。

該系統主要是基于Unity平臺,結合硬件和軟件設計而成的虛擬仿真實驗系統。虛擬仿真實驗系統主要實現以下功能。

(1)通過三維建模軟件solidworksUnity搭建虛擬現實3D鉗工虛擬車間場景。學生可從計算機端進入虛擬現實車間場景,選擇工具,并對虛擬毛坯材料進行打磨加工,連接傳感器與虛擬工具進行匹配,可以實現對鉗工操作的模擬。

(2)虛擬仿真實驗系統能夠提供友好的交互功能,使用手機中的Unity remote APP與unity場景交互實現體感交互功能。學生手持傳感器即可以模擬真實的金工實習操作。例如,學生通過手機模擬銼,即可完成銼削動作。

(3)基于mysql數據庫和Unity上傳的數據,對學生的鉗工操作進行評分。當學生的操作出現銼削角度有誤、速度掌握不當、工件損壞等錯誤時,系統會基于Unity3D數據庫進行判斷,并對其糾正錯誤。實習完成后,系統自動將成品與Unity3D中的標準件進行比對,并完成評分。

3.2設計實現

3.2.1虛擬實驗室場景

為了還原實際車間的真實場景,我們采用了SolidWorks三維建模,對實驗室的環境和工具進行搭建,并利用3D MAX為實驗工具添加對應的貼圖材質。此外,為了有助于后續編程,在開始搭建環境時就對各類模型進行分類。因為實驗操作分為不同階段,各個階段所需要的工具不同,所以在后面的系統設計過程中,需要采用合理的建模方式。例如,交互編程中的平移和轉動會受到創建模型大小的影響,虛擬實驗室的環境優化問題會受到模型細化的影響。

在開發了一些3D場景后,我們創建了虛擬實驗室環境,用戶可以在其中選擇實驗工具。如圖1所示,該場景看起來像是一個簡單真實的實驗室,實驗桌上放有實驗操作的工具。

3.2.2交互界面

完成虛擬實驗室模型的創建后,還需要對該虛擬場景進行交互編程。交互編程主要分為以下2個方面。

(1)在虛擬實驗過程中實驗工具和實驗材料屬于基本屬性的交互編程,如實驗材料的選擇,實驗工具的更換,對實驗器材的打開或者關閉,用戶能夠自由移動工具或者實驗工具,場景中的儀器具有重力等基本屬性。這些功能主要是通過基于Furion框架的.Net6來實現。

(2)學生在虛擬實驗室環境中的每一個操作都將被后端數據庫記錄,以便后續對實驗操作進行打分。實現該功能的方法主要包含以下2種。

方法一,虛擬場景直接和前端頁面通過Javascript完成。具體實現如下:將網頁中嵌入的虛擬場景通過VR.Engineering, Node(“scnptname”")遍歷,原script已經創建了多個字符域(MultStringName),用于接收場景中傳人的字符,因為虛擬實驗中的操作促進script節點中的事件發生,該事件立即產生新的事件。

方法二,將虛擬實驗室和服務器嵌入同一個網頁,通過Java Applet來記錄用戶整個操作數據,實驗操作的變化將受到Java Applet的控制,由Java Applet編程產生的數據或提示信息字符直接輸出在網頁中嵌入該Java Applet頁面的位置上。

其主要代碼如下。

public classApplet(Integer transaction) throws SQLException{

String sql = "delete fromtransaction where transactionid=?";

corin=JDBCUtil.getConnection();

pstmt=conn.prepareStatement(sql);

pstmt.setObject(1,transactionld);

int recordNumber=pstmt.executeUpdate();

pstmt.close();

conn.close();

return recordNumber;

}

3.2.3播放視頻

學生在虛擬實驗中,需要完成鉗工操作。系統添加了實驗的操作視頻,幫助學生理解并掌握整個實驗過程的基本原理。用戶進入實驗室,點擊播放視頻后,可以通過其進行控制播放進度和點擊結束觀看等操作。其具體實現步驟如下。

首先確定打包資源,并且給該資源包命名,然后指定該資源的屬性。由于該資源僅在Victory模式下運行,但在實際的運行過程中并沒有創建該資源的過程,因此需要創建一個文件夾名為“Victory”,而后在此文件夾下打包指定的屬性。在代碼中寫好方法后,將此方法放到Unity的菜單下進行手動調用。其主要代碼如下。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class LoadFromFile:MonoBehaviour{

void Start(){

AssetBundle ab=AssetBundle. LoadFromFile ("AssetBundles/wood.unity3d");

//加載資源

GameObject

wallPrefab = ab. LoadAsset ("Wood");

Instantiate( wallPrefab);

}

}

3.2.4評分

在實際的金工實習過程中,實驗結束后會對學生的打磨作品進行評分,因此,需要為系統添加類似功能?;谇拔牡募夹g,系統已經保存了用戶整個操作過程的數據。對學生打分的過程使用Visual Studio為此項目提供的算法,具體的偽代碼如下。

#include

int main(void)

{

int function;

printf(“選擇功能”);

printf(“A.選擇作業工具”);

printf(“B.作業評分”);

scanf(“%d”,&function);

switch( function)

{ case A:int i;

printf("1.銼2.老虎鉗3.銅刷");

scanf("%d",&i);

switch(i)

{casel://調動工具蝶

break:

case2://調動工具老虎鉗

break:

case3://調動工具銅劇

break;}

case B:int i,j;//i表示當前完成作品:j表示標準作品

{if(i>j)

printf("不合格");

else if(i= =j)

printf("合格");

else(i

printf("合格");

}

}

}

4結束語

本文旨在創建虛擬金工實習虛擬實驗室,以支持學生模擬鉗工實習。本文設計并開發了一個虛擬仿真實驗系統,在該系統中,用戶可以使用手機陀螺儀與虛擬物體進行實驗交互。此外,后端記錄用戶操作數據,并根據具體操作給出用戶實驗的分數。

本文提出采用新的技術和工具來創建可視化和交互式的鉗工實驗。本文實驗設計均基于鉗工教學的基本理論,將相關材料在3D模型中實現,并在虛擬系統中進行實驗。通過打磨金屬材料來模擬實驗過程,并通過虛擬現實系統模擬實驗室環境,從而提高學生的實踐能力。這種融合研究并不會帶來真實的實驗室環境的潛在危險,實驗錯誤也可以很容易地被糾正,而且學生可以在不消耗任何真實材料的情況下重復進行實驗。因此,虛擬現實仿真技術可以作為一種廣泛應用的教育工具。

作者簡介:

顏宗歡(2001—),本科,研究方向:計算機視覺、計算機科學。

猜你喜歡
仿真系統虛擬技術
220kV智能變電站數字物理仿真實訓系統設計方案研討
高職數控維修實訓教學效果的提升策略研究
云數據存儲安全關鍵技術研究
數控仿真系統三維建模技術研究
虛擬現實技術在實驗教學中的應用研究
網絡損傷仿真系統設計與實現
轎車空調制冷系統仿真平臺應用研究
有關虛擬現實技術在土木建筑工程中應用的研究
光電跟蹤設備視景仿真系統設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合