劉靜
(溧陽市天目湖中等專業(yè)學(xué)校,江蘇 溧陽213300)
我國的經(jīng)濟(jì)實力在日益提高,與此同時,我國的教育質(zhì)量也受到了各界的關(guān)注。實驗學(xué)習(xí)是學(xué)校與企業(yè)實現(xiàn)快速對接的重要途徑,并且在培養(yǎng)學(xué)生的創(chuàng)新能力中發(fā)揮著重要作用。通過實驗可以更好地理解和測試這些知識。然而,目前中國的實驗室受到許多弊端的限制,例如,在一些困難的條件下,對實驗研究的投資不足,實驗室設(shè)備帶來的實驗環(huán)境的安全隱患,設(shè)備的數(shù)量不足等,這些因素嚴(yán)重限制了實驗室學(xué)習(xí)的發(fā)展。
機械基礎(chǔ)虛擬體驗非常專業(yè)。為了在和諧的虛擬實驗系統(tǒng)環(huán)境中進(jìn)行這些實驗,必須滿足以下條件:
(1)良好的交互性;(2)開發(fā)逼真的圖形和材質(zhì);(3)由于同時存在機械設(shè)計實驗和機器理論實驗,因此實驗環(huán)境必須具有二維環(huán)境和三維環(huán)境來發(fā)送數(shù)據(jù),并且每個環(huán)境都具有較高的可行性;(4)由于它運行在網(wǎng)上,因此有時對客戶端平臺的性能要求不高。
與某些國內(nèi)的CAD 程序相比,用于實驗系統(tǒng)的最佳CAXA設(shè)備是設(shè)計軟件。與其他CAD 程序相比,它具有以下特點:
(1)提供功能強大且易于使用的二次開發(fā)數(shù)據(jù)接口;(2)由于CAXA 電子繪圖板也已集成到CAXA 設(shè)備的設(shè)計中,因此該軟件具有強大的3D 設(shè)計環(huán)境,可以將其發(fā)送到2D 設(shè)計環(huán)境以進(jìn)行數(shù)據(jù)采集。3D 項目環(huán)境中獲得的數(shù)據(jù)也可以實時傳送到2D 設(shè)計環(huán)境中;(3)提供專業(yè)的3D 動畫設(shè)計以及圖形和圖像處理功能??梢詣?chuàng)建真正有效的模擬和動畫模擬;(4)易于使用并掌握建模技術(shù),實現(xiàn)高度交互[2]。
由于Unity 3D 應(yīng)用程序平臺不適合開發(fā)復(fù)雜的幾何模型,因此我們將SolidWorks3D 建模工具用于幾何建模并導(dǎo)入幾何模型,利用3DMax 以創(chuàng)建栩栩如生的模型,以FBX 格式保存模型,然后將其導(dǎo)入到Unity3D Asset,虛擬Unity 3D 平臺必須基于交互和運動控制開發(fā)虛擬模型的層次數(shù)據(jù)結(jié)構(gòu),以為每個模型建立父子關(guān)系并創(chuàng)建模型樹的層次結(jié)構(gòu)。在C#編程中需要完成一些實驗性任務(wù)。
目前,該平臺有5 種類型的變速箱,每種虛擬體驗都分為兩個部分:學(xué)生使用認(rèn)知成分進(jìn)行自學(xué),掌握某些實驗性技能并為實驗做好準(zhǔn)備。包括實驗?zāi)繕?biāo),預(yù)防措施和實驗說明[3]。
當(dāng)今最受歡迎的虛擬化軟件包括Virtools、Eon,Unity3D 等,前1 個雖然可以用于實驗虛擬仿真系統(tǒng)的開發(fā),但是它們可以作為獨立版本或網(wǎng)頁版本使用,難以維護(hù),并且范圍非常有限。虛擬學(xué)習(xí)仿真系統(tǒng)相對簡單,它基于Unity 3D 的面向?qū)ο蠹夹g(shù)。同時,開發(fā)引擎支持Windows,Mac,iPhone,Android 和Web平臺,開發(fā)人員隨機選擇一個共享平臺來滿足移動終端的需求,同時也依賴于Web 和其他獨立平臺。
Unity3D 支持的編程語言是JavaScript 和C#boo,用戶可以根據(jù)需要選擇編程語言并調(diào)用每個腳本。 JavaScript 是用戶使用的編程語言,其中包含相當(dāng)簡單的Java 程序列表。 C#是面向?qū)ο蟮?運用于高級編程語言NETFramework,適用于創(chuàng)建復(fù)雜的程序。該主題主要使用C#程序。 Unity 3D 支持幾乎所有主要的3D 模型文件格式,包括FBX,OBJ 等。導(dǎo)出到3DMax,Maya 和其他應(yīng)用程序生成的模型文件將添加到項目資源文件夾中。自動更新Unity3D 資源列表和模型,模型會顯示并在面板上可用。
二級圓柱減速器由三部分組成:軸(高速軸,中速軸,低速軸等),盤類和箱體類。使用SolidWorks 和各種建模技術(shù)為每個模型創(chuàng)建準(zhǔn)確的3D 模型,主要部件的三維模型如圖1 所示。
圖1 減速器的三維模型
建議初學(xué)者使用虛擬實驗來了解減速器的安裝和拆卸順序,系統(tǒng)執(zhí)行自動拆卸和組裝功能??梢栽赨nity3D 引擎的外部插件之間輕松執(zhí)行此功能。它主要使用數(shù)字插值原理來控制模型從頭到尾的路徑。如圖2(a)所示,按下按鈕即可控制減速器的拆卸和組裝過程,并通過攝像機的位置和旋轉(zhuǎn)角度觀察自動拆卸過程。
下行為用于實現(xiàn)物體移動的代碼:
這里,GameObject 指的是執(zhí)行命令的對象;Vector3 指的是對象運動的目標(biāo)位置;float1 指的是從原來位置移動到目標(biāo)位置的時間;float2 指的是開始移動時的延遲時間。
10588888 虛擬場景可以分為兩類:虛擬裝配和虛擬拆卸。拆卸邏輯和約束與裝配過程是相逆的。因此,我們將僅介紹虛擬裝配的主要技術(shù)方法。
除基本零件外,如果用于手動組裝,其他零件必須隱藏。根據(jù)碰撞器的位置安裝零部件,如圖2(b)所示,三個橢圓碰撞器A,B 和C 被加到軸上,碰撞器A 包圍左側(cè)封油盤和軸承,B 包圍中間鍵和大齒輪,而C 包圍右油封油盤和軸承,橢圓的形狀確定組件的正確位置。僅當(dāng)組裝零件在橢圓的尺寸以內(nèi)時,才能識別組裝零件。如圖2(c)所示,當(dāng)主攝像機光束撞擊碰撞區(qū)域時(當(dāng)鼠標(biāo)單擊對撞機時),相應(yīng)的部分從隱藏模式切換到顯示模式,并且鼠標(biāo)所在的部分消失。
在場景中,必須能夠靈活地跟隨鼠標(biāo)在屏幕上移動,需要將世界坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo)。為此,將一個視圖中添加一個Cube,并將坐標(biāo)放置在位置(0,0,0)。
虛擬組裝從頭到尾拆卸各種組件,以模擬實際的組裝或拆卸更換。在虛擬裝配和拆卸的幫助下,我們不僅觀察了設(shè)備的外形,而且最重要的是,我們分析了內(nèi)部結(jié)構(gòu)并根據(jù)其結(jié)構(gòu)和設(shè)計特征詳細(xì)研究了設(shè)計的條件,思考設(shè)計意圖。如果拆裝的順序不正確,則無法繼續(xù)往下,并會顯示錯誤警示。
在組件的拆卸和組裝過程中,菜單欄頂部的相應(yīng)QR 碼圖像會更改。使用增強現(xiàn)實技術(shù)開發(fā)的手機應(yīng)用程序掃描QR 碼,可以在手機屏幕上顯示這些3D 零件,并根據(jù)需要旋轉(zhuǎn)它們。如圖2(d)所示,可以從不同角度觀察。下載VuforiaSDK 數(shù)據(jù)庫,瀏覽Vuforia 官方站點將其導(dǎo)入Unity3D,并將Unity3D 組件的3D部分與ImageTarget 組合,就可以發(fā)布手機APP,當(dāng)手機的相機掃描圖像時,有時候它可能無法正確識別圖像。對于QR 碼圖像,需要創(chuàng)建一個自動對焦相機腳本文件[4]。
圖2 虛擬實驗場景的功能圖
機械基礎(chǔ)實驗教學(xué)在教育中采用了最新的VR 和AR 技術(shù),系統(tǒng)地集成了SolidWorks 和C#Unity3D 以實現(xiàn)近乎實時的虛擬實驗系統(tǒng)開發(fā),實現(xiàn)遠(yuǎn)程學(xué)習(xí),解決了資源缺乏(例如,缺乏實驗室設(shè)備,實驗器材不足,學(xué)生獨自作業(yè)的風(fēng)險)的問題,實現(xiàn)了共享資源和促進(jìn)有效學(xué)習(xí)機械設(shè)計。本文介紹了開發(fā)過程中的主要問題以及如何集成各種軟件的方法,這些方法可以為開發(fā)虛擬實驗系統(tǒng)提供特定的參考。