亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Unity3D 的機電產品虛擬拆裝實驗系統(tǒng)

        2020-06-18 04:06:22丁毓峰閔新普宋春生
        實驗室研究與探索 2020年3期
        關鍵詞:按鈕實驗模型

        丁毓峰, 徐 鑫, 閔新普, 宋春生

        (武漢理工大學機電工程學院,武漢430070)

        0 引 言

        機械設計和機械原理等課程是機械工程、汽車工程相關專業(yè)的專業(yè)基礎課,在這些課程中,學生應該在前期工程圖學的基礎上,熟悉機電產品的工作原理,典型機構的設計流程。鑒于此,很多高校的機械設計和機械原理課程都會開設減速器等產品的拆裝實驗課。傳統(tǒng)的教學方式受限于空間、時間以及實驗儀器設備數(shù)量等因素[1,2],學生往往在較短的時間內匆忙做完物理拆裝實驗,對典型直齒輪傳動機構的原理有了初步認識,對眾多行星輪減速器、手動變速箱等復雜產品的工作原理較少涉及,這在一定程度上影響了實驗效果,不利于學生實踐能力的培養(yǎng)。隨著信息技術的發(fā)展,虛擬現(xiàn)實技術被越來越多地應用到了教學中[3,4],國內許多高等院校都積極開展采用虛擬現(xiàn)實、虛擬仿真等技術幫助開發(fā)各種類型的實驗室。馮桂珍等[5]在研究了Unity3D 構建三維交互式虛擬場景的方法和關鍵技術的基礎上,以典型的減速器為例,構建了減速器虛擬拆裝實驗,開發(fā)了基于移動平臺獨立運行的APP,在結構認知、產品拆裝、課程設計等教學和實踐環(huán)節(jié)中取得了良好的效果。丁雨等[6]通過分析減速器的機械結構和運動模型,在Unity3D 中完成了減速器模型的拆裝,實現(xiàn)了減速器的碰撞與摩擦,并完成了減速器驅動方式的腳本仿真。

        張厚升等[7]通過Simulink 建立了雙閉環(huán)控制的繞線式異步電機串級調速系統(tǒng)仿真模型,并將其引入課堂。袁容等[8]使用Unity3D與HTC VIVE 虛擬現(xiàn)實開發(fā)工具,開發(fā)了虛擬場景下的減速器拆裝實驗教學平臺,有效解決了實驗課程對場地、器材、教師等教學資源的過度依賴。Ouyang 等[9]在Unity3D 上搭建了交互式化工三維虛擬實習平臺,在虛擬環(huán)境中重新創(chuàng)建真實的化工廠部分,演示了主要設備的結構和工作原理,培養(yǎng)學生的操作能力,平臺對突發(fā)事件的虛擬處理有助于提高學生的生產安全意識。Woodfield 等[10]將虛擬仿真實驗與化學實驗相結合,將復雜的化學實驗通過虛擬現(xiàn)實系統(tǒng)引入課堂,并對學生的感受進行了評估,課程效果顯著。朱安慶等[11]在Unity3D 中開發(fā)船舶制造虛擬仿真教學系統(tǒng),將虛擬現(xiàn)實技術應用到船舶制造工程技術類課程教學中,提高了教學效率,增加了學生對相關知識的認知程度。Lu 等[12]基于Web開發(fā)了虛擬EPMA 實驗室,包含了交互式模塊,用于實驗裝置和儀器的虛擬操作實踐,使得學生通過預習,在實驗室可以直接進行實驗。王建華等[13]將Unity3D與虛擬現(xiàn)實頭戴設備進行交互連接,實現(xiàn)人機交互,將汽車零部件拆裝過程虛擬化,使得教學過程更加生動,且突破了傳統(tǒng)拆裝實訓中存在的設備數(shù)量有限、易損壞、教學用具更新速度有限等限制。

        Unity3D 軟件是三維游戲引擎,支持C #和JavaScript 語言進行開發(fā),可以對虛擬對象進行邏輯控制和交互操作,該軟件具有強大的跨平臺特性,可以發(fā)布并運行在PC、IOS 和Android 等多種平臺。Unity3D可通過WebGL工程選項將Unity3D 項目以JavaScript的形式發(fā)布,使用Html5 技術和WebGL 渲染API 接口,借助系統(tǒng)顯卡在瀏覽器中展示3D 場景和模型。Web是基于超文本和HTTP的跨平臺分布式圖形信息系統(tǒng),可以將圖形、聲音、視頻集合于一體進行展示[14]。由于Unity3D與Web強大的跨平臺特性,本實驗系統(tǒng)采用Unity3D 為開發(fā)平臺,結合SolidWorks、3DMax 和Photoshop等圖形編輯工具,建立機電產品虛擬拆裝模型,以C#腳本編程驅動,實現(xiàn)虛擬與現(xiàn)實的交互和機電產品的結構動態(tài)展示。將拆裝模型發(fā)布為WebGL工程后,通過JavaScript嵌入Web端,完成Web端與虛擬模型的交互任務。

        1 基于Unity3D 的機電產品虛擬拆裝實驗平臺體系結構

        基于Unity3D 的機電產品虛擬拆裝實驗平臺采用瀏覽器/服務器(Browser/Serves,B/S)架構,如圖1 所示。模型和腳本運行在服務器上,在客戶端使用瀏覽器訪問服務器網(wǎng)址就可以進行虛擬拆裝實驗。系統(tǒng)包括電主軸,手動變速箱,行星輪減速器,2 級減速器等機電產品虛擬實驗的交互拆裝、零部件結構認知與分析、虛擬環(huán)境的設置等功能。

        圖1 機電產品虛擬拆裝實驗平臺架構

        2 產品虛擬拆裝實驗的開發(fā)流程

        2.1 模塊化開發(fā)

        采用模塊化設計,便于系統(tǒng)功能的進一步擴展。定義虛擬拆裝實驗軟件各組成模塊,模塊之間采用接口進行參數(shù)傳遞。

        2.2 基于Unity3D 的虛擬實驗開發(fā)流程

        和開放圖形庫(Open Graphics Library,OpenGL)等圖形化平臺相比,將Unity3D 模型發(fā)布的WebGl 作為開發(fā)平臺進行虛擬實驗開發(fā)效率高,結合Solidworks、3DMax 和Photoshop等軟件工具,利用C#編程控制交互和動態(tài)特性,以常見的齒輪減速器為例,構建了一個基于Web的虛擬拆裝實驗系統(tǒng),如果有在移動平臺上學習的需要,可以發(fā)布基于Android/IOS 的移動版虛擬拆裝實驗系統(tǒng),便于學生使用。

        Unity3D內部有一些快速簡單形體構型選項,對于復雜形體,需要使用外部三維建模軟件(Solidworks、Cinema4D 等)導入模型。具體的做法是,使用Solidworks進行機電產品建模并生成wrl 文件格式模型,將模型導入Cinema4D 中進行圖形渲染,在Cinema4D 中修正模型各模塊的坐標系,以方便在Unity3D中以腳本驅動模型的運動。將渲染后的模型導出為fbx格式文件,導入Unity3D中。

        Unity3D模型通過C#腳本驅動,實現(xiàn)交互功能和動態(tài)特性。通過使用Unity3D API 實現(xiàn)鼠標、鍵盤觸發(fā)模型動作,調整展示機電產品模型。將模型發(fā)布為WebGL,網(wǎng)頁端JavaScript與Unity3D 能便捷地實現(xiàn)通信,完成數(shù)據(jù)在網(wǎng)頁端的動態(tài)展示、通過網(wǎng)頁端Button來操作模型等功能。虛擬實驗平臺開發(fā)流程如圖2所示。

        圖2 系統(tǒng)開發(fā)流程

        2.3 產品模型的輕量化處理

        為解決產品三維模型在性能和資源有限的Web端上快速瀏覽的問題,需要利用三維建模工具對原始模型進行輕量化處理,得到通過WebGL瀏覽的輕量化模型[15]。生成的輕量化模型必須滿足:

        (1)保證在Web 端上的瀏覽體驗。為了很好的瀏覽體驗,WebGL 模型必須具有較快的顯示速度,且具有快速的交互性能。所以模型文件必須合理組織,不能太過復雜。

        (2)需要保證在工程教學領域的可用性。輕量化處理的模型能用于教學示例,完整展示機電產品的組成結構和拆卸裝配過程。

        (3)具有較小的文件體積。在輕量化處理的過程中,篩選出需要展示的幾何構型。較小的文件體積能夠保證模型在網(wǎng)頁端快速加載。

        2.4 交互功能設計

        在機電產品虛擬拆裝實驗系統(tǒng)中設計交互功能,能夠提升學生學習過程中的參與感。交互功能包括對模型整體場景的操作交互、減速器拆裝過程的交互以及Unity3D 模型與網(wǎng)頁的交互。交互過程通過Unity3D 應用程序接口(Application Programming Interface,API)等工具實現(xiàn)。

        2.4.1 場景交互

        為了增加虛擬拆裝實驗的豐富性和場景的生動性,系統(tǒng)設計了整體場景的操作交互過程,包括拖動減速器模型移動和旋轉、減速器模型外殼透明化等。方便學生更細致地了解模型的整體結構和局部細節(jié)。鼠標點擊、拖動可以在場景中移動(鼠標左鍵操作)和旋轉模型(鼠標右鍵操作)。減速器模型的移動和旋轉是通過修改主相機(MainCamera)和模型的相對位置(Position)與方位(Rotation)來實現(xiàn)的。為方便開發(fā)過程,本系統(tǒng)采用攝像機圍繞模型移動和旋轉作為實現(xiàn)方法。給主相機綁定相應的驅動腳本,通過Unity-Scripting API 中的Input. GetMouseButton 來判斷鼠標的操作事件。在腳本Update函數(shù)中,判斷是鼠標左鍵還是右鍵點擊,使用GameObject. transform.RotateAround 方法實現(xiàn)主相機繞模型的旋轉,其中GameObject為聲明的主相機對象,模型對象為該方法的參數(shù)。旋轉角度和移動距離,通過Input. GetAxis(“Mouse X”)和Input.GetAxis(“Mouse Y”)返回的數(shù)值進行合適的縮放來確定,保證操作體驗即可,如圖3所示。

        圖3 場景交互實現(xiàn)原理

        減速器模型外殼透明化的功能是為了方便從整體上觀察減速器內部結構設計的。在場景中設置On/Off樣式的UI,點擊UI 來完成透明化的操作。使用NGUI插件來設計外殼透明按鈕,NGUI 可以方便地添加組件Atlas 和Button。添加Button 后在Inspector-OnClick 屬性中選擇點擊按鈕后對應的通告物體(Notify)所綁定的腳本中的方法(Method),就可以選擇點擊按鈕后執(zhí)行的動作。

        點擊按鈕后,gameObject. SetActive 方法可以使當前按鈕不激活,并激活對應的另一個按鈕。在減速器外殼的腳本中,首先聲明有透明和不透明的兩種材質,并在Inspector 中將其選定為對應的材質,修改Renderer 組件中的Material 屬性即可修改物體的材質,改變gameObject. GetComponent <Renderer >().material的值即可。

        2.4.2 拆裝過程交互

        減速器模型較為復雜,將減速器零件進行分組拆裝可以方便學生對減速器的認知。以典型的2 級減速器為例,將2 級減速器分為5 個部分(底座無需拆裝),依次拆卸和安裝,如表1 所示。

        表1 2 級減速器拆裝部件

        減速器的拆裝方式為逐級拆裝,拆裝動作通過點擊事件觸發(fā),上一組拆裝完成后,才能進入下一組的拆裝,且只有拆卸完成后才能開始裝配。交互拆裝的流程如圖4 所示。

        圖4 減速器拆裝流程

        拆卸與裝配控制按鈕通過Unity3D 中內置UI 系統(tǒng)的OnGUI方法實現(xiàn)。

        點擊第1 組模型虛擬實體,使第1 組零件開始按預定軌跡拆卸。Unity3D API中的OnMouseDown 方法可以通過Unity射線(Ray)檢測碰撞體(Collider)。給模型添加碰撞體組件后,就可以在OnMouseDown 方法下編寫驅動模型運動的腳本了。后續(xù)的拆卸與裝配過程實現(xiàn)方法與上述過程類似。

        2.4.3 模型與網(wǎng)頁交互

        系統(tǒng)中設計了模型與網(wǎng)頁交互的部分,主要是通過Web端中的按鈕來控制產品工作原理的展示和實時繪制軸系運動狀態(tài)曲線。為更直觀展示減速器的工作原理,在Web端上設計了驅動模型傳動鏈中軸系零件運動的按鈕,點擊按鈕并輸入輸入軸的轉速,能夠在模型中展示減速器的運動過程。實時向網(wǎng)頁端傳輸各軸的轉速,通過Echarts控件將其繪制成n-t曲線。

        當為Web構建內容時,WebGL 需要與Web 上的其他內容通信,或者使用Unity3D 中的API 來實現(xiàn)功能。在此情況下,Unity3D 需要直接與瀏覽器的JavaScript對接。

        網(wǎng)頁按鈕驅動產品模型運動是通過Unity3D 和HTML 通信來完成的。ActiveX 控件具有一個SendMessage()的函數(shù),HTML 通過該函數(shù)與Unity3D進行通信,通過該函數(shù)可以向Unity3D 中傳遞對象名稱、函數(shù)名稱和函數(shù)的參數(shù)。點擊網(wǎng)頁上的按鈕后,gameInstance. SendMessage (“ GameObject ”,“FunName”,Parameter1,Parameter 2,Parameter 3)就會使Unity3D中名為“GameObject”的對象執(zhí)行腳本中名為“FunName”的函數(shù),函數(shù)的參數(shù)為Parameter1-3。也可以不傳遞參數(shù)或傳遞單參數(shù)。

        Unity3D需要實時向網(wǎng)頁端傳遞模型運行狀態(tài)數(shù)據(jù),例如軸的轉速、轉矩信息。Application.ExternalCall()可以調用HTML里定義的JavaScript 函數(shù)并傳遞參數(shù)。為了展示實時狀態(tài)數(shù)據(jù),將該函數(shù)寫在Update 方法中,模型運行過程中該函數(shù)始終執(zhí)行。在Unity3D端將模型的轉速等信息存于鏈表中,參數(shù)形式傳遞給HTML后,JavaScript將每一次收到的參數(shù)通過Echarts控件繪制成對應的曲線。

        2.4.4 產品工作原理的動態(tài)展示

        以2 級齒輪減速器為例,減速器通過齒輪嚙合傳動降低轉速,傳動比與嚙合齒輪副的齒數(shù)密切相關。輸入軸轉速為n時,假設輸入軸齒輪齒數(shù)為z1,中間軸與輸入軸嚙合齒輪齒數(shù)為z2、與輸出軸嚙合齒輪為z3,輸出軸齒輪齒數(shù)為z4,則減速器傳動比為(z2/z1)×(z4/z3),輸出軸的轉速為n ×(z1×z3)/(z2×z4)。為了動態(tài)展示減速器的工作原理,Web 端按鈕驅動Unity3D模型后,模型應該展示齒輪副的旋轉運動以及減速器的減速效果。在系統(tǒng)設計中,將各軸所在的軸系零件打組,通過Transform組件的Rotate屬性使軸系部件繞軸旋轉,展示減速器工作的運動過程。通過網(wǎng)頁端輸入轉速數(shù)值,傳遞給Unity3D模型中,實現(xiàn)調速的效果,展示減速器的減速原理。產品工作原理的動態(tài)展示如圖5 所示。

        圖5 產品工作原理動態(tài)展示

        3 系統(tǒng)實現(xiàn)及應用

        實驗系統(tǒng)依據(jù)B/S 架構,以4 種典型的機電產品為實驗對象,構建一套基于Web/Unity3D 的虛擬拆裝系統(tǒng),包括電主軸、2 級錐齒輪減速箱、行星輪減速箱和手動減速箱。以WebGL 形式發(fā)布并嵌入Web 端中,可獨立運行于支持WebGL的PC 端瀏覽器上。圖6 為2 級錐齒輪減速器拆裝界面,圖7 為機電產品運動狀態(tài)展示界面。

        4 結 語

        本文介紹了基于Unity3D的三維交互式虛擬場景的構建方法和關鍵技術。在外部三維CAD 工具軟件中建立機電產品模型并進行輕量化處理,通過交互手段實現(xiàn)Unity3 D端外部事件的交互、Web和Unity3 D的交互,展示了機電產品的工作原理和運行數(shù)據(jù),搭建了B/S架構的機電產品虛擬拆裝系統(tǒng)。本系統(tǒng)兼容性強,可獨立在瀏覽器上運行,訪問速度快,降低了教學成本,減少實驗過程可能發(fā)生的安全事故,便于實驗室教師的工作和學生的學習。系統(tǒng)的可交互性強,過程展示清晰生動,提高了學生的學習興趣和實驗過程中的參與感,充分展示了高校以學生為主體的教學觀念。實驗系統(tǒng)的實施為高校工程類人才的培養(yǎng)提供了新的方法和思路。

        猜你喜歡
        按鈕實驗模型
        哪個是門鈴真正的按鈕
        一半模型
        當你面前有個按鈕
        記一次有趣的實驗
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權M-估計的漸近分布
        做個怪怪長實驗
        3D打印中的模型分割與打包
        NO與NO2相互轉化實驗的改進
        實踐十號上的19項實驗
        太空探索(2016年5期)2016-07-12 15:17:55
        暖暖视频在线观看免费| 国产美女高潮流白浆视频| 亚洲中文久久精品字幕| 国产精品欧美一区二区三区| 91社区视频在线观看| 91国产超碰在线观看| 国产真实一区二区三区| 国产日产欧洲系列| 久久综合第一页无码| 情色视频在线观看一区二区三区| 99在线视频这里只有精品伊人| 欧美真人性野外做爰| 国产精品一区二区在线观看99| 大量老肥熟女老女人自拍| 女同视频一区二区在线观看| 中文字幕+乱码+中文字幕一区| 国产91在线免费| 日本一区二区啪啪视频| 一 级做人爱全视频在线看| 国产欧美亚洲精品a| 无码一区二区三区在| 亚洲天堂中文| 中文字幕人妻少妇精品| 插插射啊爱视频日a级| 亚洲精品国产成人| 精品国产1区2区3区AV| 亚洲一区亚洲二区视频在线| 亚洲人成色7777在线观看不卡| 热99精品| 手机免费在线观看日韩av| 亚洲中文字幕无码av永久| 区二区三区玖玖玖| 人伦片无码中文字幕| 精品亚洲不卡一区二区| 亚洲乱码av乱码国产精品| 国产成人av大片大片在线播放| 亚洲精品成AV无在线观看| 久久精品国产亚洲av四区| 国产成人亚洲综合无码品善网| 激情五月婷婷综合| 亚洲av区一区二区三区|