張 俊,張?zhí)煊?,吳央?/p>
(浙大城市學(xué)院 工程學(xué)院,浙江 杭州 310015)
虛擬現(xiàn)實(shí)(Virtual Reality),簡(jiǎn)稱(chēng)VR 技術(shù),是采用計(jì)算機(jī)技術(shù)為核心的現(xiàn)代高科技手段生成的一種虛擬環(huán)境,具有交互性、沉浸性、仿真性等多種特性[1-2]。用戶(hù)借助電腦、手機(jī)、VR 頭盔等輸入/輸出設(shè)備,能夠與虛擬世界中的物體進(jìn)行自然的交互,并且能夠通過(guò)視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)來(lái)獲得與真實(shí)世界相同的感受[3]。
機(jī)械設(shè)計(jì)基礎(chǔ)是一門(mén)理論性和實(shí)踐性均較強(qiáng)的專(zhuān)業(yè)課程,既強(qiáng)調(diào)知識(shí)的綜合性、實(shí)用性,又強(qiáng)調(diào)創(chuàng)新能力、綜合分析和解決實(shí)踐問(wèn)題的能力[4]。配套的實(shí)驗(yàn)課程不僅能強(qiáng)化學(xué)生對(duì)理論知識(shí)的理解,還可以培養(yǎng)學(xué)生的動(dòng)手能力、分析和解決問(wèn)題的能力。目前,在教學(xué)過(guò)程中發(fā)現(xiàn)機(jī)械設(shè)計(jì)課程學(xué)習(xí)存在教學(xué)形式單一,學(xué)生不感興趣,學(xué)生對(duì)抽象的機(jī)械結(jié)構(gòu)比較難以理解等問(wèn)題;實(shí)驗(yàn)教學(xué)當(dāng)中,由于實(shí)驗(yàn)教學(xué)資源、教學(xué)時(shí)間、空間等限制,學(xué)生只能開(kāi)展分組實(shí)驗(yàn),很難做到每位同學(xué)都動(dòng)手操作,影響了學(xué)生實(shí)踐動(dòng)手能力的培養(yǎng)[5-6]?;赩R 技術(shù),利用Unity3D 開(kāi)發(fā)平臺(tái)搭建機(jī)械基礎(chǔ)實(shí)驗(yàn)虛擬仿真教學(xué)系統(tǒng),把虛擬現(xiàn)實(shí)和實(shí)踐課程相結(jié)合,突破了教學(xué)資源、時(shí)間、空間的限制,使更多的學(xué)生受惠,同時(shí)提升了學(xué)生的自主學(xué)習(xí)、實(shí)踐動(dòng)手能力,優(yōu)化了相關(guān)課程的教學(xué)體系。
系統(tǒng)以機(jī)械設(shè)計(jì)理論知識(shí)為基礎(chǔ),讓學(xué)生在虛擬的實(shí)驗(yàn)環(huán)境中通過(guò)點(diǎn)擊移動(dòng)鼠標(biāo),自由拆裝典型機(jī)械零部件,查看每一個(gè)零件的結(jié)構(gòu),觀察傳動(dòng)機(jī)構(gòu)運(yùn)動(dòng)仿真等學(xué)習(xí)方式,能夠?qū)C(jī)械結(jié)構(gòu)有較為真實(shí)的感受,對(duì)抽象的理論知識(shí)有較為清晰,增強(qiáng)學(xué)生的理論水平、工程設(shè)計(jì)能力和實(shí)踐動(dòng)手能力,培養(yǎng)學(xué)生創(chuàng)新能力。
以典型機(jī)械零部件為研究對(duì)象,開(kāi)發(fā)具有交互式,仿真性的虛擬仿真教學(xué)系統(tǒng)。系統(tǒng)主要由四大功能模塊組成,主要框架如圖1 所示。
圖1 系統(tǒng)總體框架圖
1)實(shí)驗(yàn)預(yù)習(xí)模塊。
如圖1 系統(tǒng)總體框架圖所示,實(shí)驗(yàn)預(yù)習(xí)模塊包含實(shí)驗(yàn)?zāi)康脑?、儀器設(shè)備、方法和步驟以及實(shí)驗(yàn)考核要求4 個(gè)二級(jí)功能模塊,用文字說(shuō)明及瀏覽的方式使學(xué)生實(shí)驗(yàn)前對(duì)該實(shí)驗(yàn)充分了解,在復(fù)習(xí)理論知識(shí)的同時(shí)理解實(shí)驗(yàn)內(nèi)容。功能模塊實(shí)驗(yàn)效果如圖2 所示。
圖2 實(shí)驗(yàn)預(yù)習(xí)功能模塊
2)運(yùn)動(dòng)仿真模塊。
運(yùn)動(dòng)仿真模塊可以讓機(jī)械零部件的外殼變得透明,學(xué)生能觀察到內(nèi)部齒輪等傳動(dòng)機(jī)構(gòu)系統(tǒng)的工作。
在開(kāi)始實(shí)驗(yàn)后,首先進(jìn)入的就是運(yùn)動(dòng)仿真模塊,學(xué)生可以學(xué)習(xí)三種典型機(jī)械結(jié)構(gòu)的運(yùn)動(dòng)情況,為后續(xù)虛擬拆裝做準(zhǔn)備。運(yùn)動(dòng)仿真模塊效果如圖3 所示。
圖3 運(yùn)動(dòng)仿真模塊
3)模型縮放旋轉(zhuǎn)模塊。
模型旋轉(zhuǎn)縮放是系統(tǒng)沉浸性的重要體現(xiàn),學(xué)生可以通過(guò)鼠標(biāo)右鍵實(shí)現(xiàn)模型旋轉(zhuǎn)功能,鼠標(biāo)中鍵滾動(dòng)實(shí)現(xiàn)模型縮放功能。
4)虛擬拆裝模塊。
虛擬拆裝模塊是系統(tǒng)的主要功能模塊,學(xué)生可通過(guò)點(diǎn)擊旋轉(zhuǎn)鼠標(biāo)等方式拖動(dòng)零件進(jìn)行交互式拆裝。
開(kāi)始實(shí)驗(yàn)后,會(huì)出現(xiàn)齒輪泵、二級(jí)齒輪減速器、RV 減速器3 個(gè)按鈕。任意點(diǎn)擊一個(gè)即可進(jìn)入相應(yīng)的四級(jí)功能模塊,出現(xiàn)自動(dòng)裝配、自動(dòng)拆解、手動(dòng)拆裝按鈕,實(shí)現(xiàn)相應(yīng)功能。功能模塊效果如圖4 所示。
圖4 虛擬拆裝功能模塊效果
系統(tǒng)開(kāi)發(fā)平臺(tái)選用Unity 3D,其擁有較高的跨平臺(tái)性,可發(fā)布至Windows、Mac、iPhone、Android 等多個(gè)平臺(tái);3D 建模軟件使用Solidworks;三維渲染優(yōu)化軟件采用3Ds MAX,其模型優(yōu)化功能強(qiáng)大,在減少存儲(chǔ)體積的同時(shí)可保持模型精度尺寸。
具體開(kāi)發(fā)平臺(tái)與工具如表1 所示。
表1 開(kāi)發(fā)平臺(tái)與工具
系統(tǒng)開(kāi)發(fā)流程:以Unity3D 為開(kāi)發(fā)平臺(tái)進(jìn)行VR制作。首先運(yùn)用SolidWorks 建立機(jī)械零部件模型并導(dǎo)入3Ds MAX 完成模型渲染優(yōu)化,再將優(yōu)化后模型導(dǎo)入U(xiǎn)nity 3D 平臺(tái)通過(guò)C#編寫(xiě)相關(guān)腳本實(shí)現(xiàn)系統(tǒng)各項(xiàng)功能,最后發(fā)布到相應(yīng)平臺(tái),利用平臺(tái)設(shè)備對(duì)虛擬實(shí)踐教學(xué)系統(tǒng)進(jìn)行效果展示。系統(tǒng)開(kāi)發(fā)流程圖如圖5 所示。
圖5 系統(tǒng)開(kāi)發(fā)流程圖
機(jī)械零部件模型是虛擬仿真的主體,建模時(shí)可以將一些對(duì)虛擬拆裝影響不大的結(jié)構(gòu)進(jìn)行合理省略,起到簡(jiǎn)化模型效果。
模型建立完成后,將文件導(dǎo)入3Ds Max 進(jìn)行模型優(yōu)化和坐標(biāo)軸調(diào)整。模型優(yōu)化功能可以在不影響模型精度的條件下減少模型面的數(shù)量,減少存儲(chǔ)體積。坐標(biāo)軸調(diào)整可以方便在Unity3D 中的后續(xù)開(kāi)發(fā)。
將優(yōu)化好的三維模型保存為MAX 或FBX 格式文件后,導(dǎo)入到Unity3D 軟件中并做添加材質(zhì)和展臺(tái)等操作。將模型放置在展臺(tái)上,模仿真實(shí)的實(shí)驗(yàn)室放置環(huán)境,完成模型虛擬場(chǎng)景的搭建。
本系統(tǒng)通過(guò)Unity 3D 錄制拆解和裝配動(dòng)畫(huà)的方式實(shí)現(xiàn)相應(yīng)的功能。以零部件實(shí)際工況下的拆解與裝配過(guò)程為設(shè)計(jì)準(zhǔn)則,錄制整個(gè)拆解與裝配的過(guò)程動(dòng)畫(huà),為下一步的手動(dòng)拆裝提供參考。實(shí)現(xiàn)效果如圖6 所示。
圖6 自動(dòng)拆解與裝配實(shí)現(xiàn)效果
實(shí)現(xiàn)手動(dòng)拆裝功能需要對(duì)零件做添加碰撞控件并掛載腳本的操作,以達(dá)到用鼠標(biāo)自由拖動(dòng)、放置零件的效果。功能實(shí)現(xiàn)效果如圖7 所示。
圖7 手動(dòng)拆裝實(shí)現(xiàn)效果圖
用鼠標(biāo)調(diào)整觀察視角的操作方式可以讓用戶(hù)有更直觀,更具沉浸性的體驗(yàn)。其主要實(shí)現(xiàn)原理是通過(guò)腳本捕獲鼠標(biāo)移動(dòng)和滾輪,以此調(diào)整攝像機(jī)的角度和位置。
運(yùn)動(dòng)仿真功能可以讓學(xué)生清晰的觀察到機(jī)械零部件內(nèi)部齒輪的運(yùn)作情況。功能主要實(shí)現(xiàn)原理是把相應(yīng)腳本掛載到機(jī)械零部件的部分零件上,使其繞一根及一根以上的固定軸旋轉(zhuǎn),借此模擬真實(shí)運(yùn)動(dòng)情況。同時(shí),可將箱體掛載透明材質(zhì),以顯示出其內(nèi)部運(yùn)動(dòng)情況。
用戶(hù)交互界面設(shè)計(jì)是將相應(yīng)腳本掛載到按鈕上,構(gòu)建相應(yīng)層級(jí)關(guān)系。當(dāng)用戶(hù)點(diǎn)擊按鈕時(shí),系統(tǒng)跳轉(zhuǎn)至相應(yīng)場(chǎng)景層級(jí),實(shí)現(xiàn)對(duì)應(yīng)功能。交互式界面包含自動(dòng)拆裝、手動(dòng)拆裝、實(shí)驗(yàn)預(yù)習(xí)、返回、退出等按鈕。創(chuàng)建完成的系統(tǒng)層級(jí)界面如圖8 所示。
圖8 系統(tǒng)層級(jí)界面
Unity 擁有較高的跨平臺(tái)性,可以將開(kāi)發(fā)完成的虛擬仿真系統(tǒng)發(fā)布Android,PC,Xbox,PS4 等多個(gè)平臺(tái)。以PC 端為例,完成各項(xiàng)發(fā)布前的各項(xiàng)設(shè)置后,即可發(fā)布一個(gè)包含exe 可執(zhí)行文件的文件夾,運(yùn)行exe 文件即可在PC 端使用虛擬仿真系統(tǒng)。
在Android 平臺(tái)上發(fā)布,需要設(shè)置對(duì)應(yīng)的SDK,JDK,NDK 軟件開(kāi)發(fā)工具包以調(diào)試好發(fā)布環(huán)境。完成調(diào)試后,將發(fā)布平臺(tái)改為Android,單擊Build 即可生成一個(gè)apk 文件。在Android 手機(jī)上安裝該文件,即可在手機(jī)上使用本系統(tǒng)。系統(tǒng)發(fā)布后的登錄界面如圖9 所示。
圖9 系統(tǒng)發(fā)布后登錄界面
在發(fā)布至PC 端的基礎(chǔ)上,還可以通過(guò)軟件左右分屏的形式,在VR 頭盔上立體顯示,利用頭盔的位置跟隨功能和手柄操作等多個(gè)形式與系統(tǒng)更沉浸的交互。
針對(duì)機(jī)械設(shè)計(jì)實(shí)驗(yàn)開(kāi)發(fā)的虛擬仿真教學(xué)系統(tǒng)通過(guò)運(yùn)用Unity 3d 等工具實(shí)現(xiàn)了在人機(jī)交互下的虛擬裝配。學(xué)生可以在虛擬環(huán)境下對(duì)典型機(jī)械零部件進(jìn)行反復(fù)拆裝練習(xí)和結(jié)構(gòu)分析,鞏固知識(shí),操作簡(jiǎn)單,提升學(xué)生主動(dòng)學(xué)習(xí)能力,學(xué)生反饋良好。亦可將其應(yīng)用到更多的專(zhuān)業(yè)課程的實(shí)踐教學(xué)當(dāng)中,進(jìn)一步促進(jìn)工科專(zhuān)業(yè)線上線下混合教育改革的深入實(shí)施。
順德職業(yè)技術(shù)學(xué)院學(xué)報(bào)2021年3期