方錫武 李芳 蔣麒麟
摘要:作者根據(jù)工程制圖課程的教學(xué)特點和需要,基于Unity3d平臺開發(fā)了教學(xué)用移動端工程制圖3D虛擬模型資源庫,重點研究了虛擬模型資源庫系統(tǒng)的交互功能組成、陳列臺模型的拾取方法、剖切模型的表達方法和裝配體工作原理的動畫實現(xiàn)方法,實現(xiàn)了模型資源庫模型的分類導(dǎo)航、展臺展示,實現(xiàn)了模型-文字、模型-視圖相結(jié)合表達課程內(nèi)容的知識點,使人手一個隨身攜帶的工程制圖3D模型資源庫成為可能。模型資源庫的使用鍛煉了學(xué)生的思維能力,給教與學(xué)帶來極大便利。
關(guān)鍵詞:虛擬現(xiàn)實;Unity3D;碰撞檢測;型文;型圖
中圖分類號:TH161 ?文獻標(biāo)識碼:A ?論文編號:1674-2117(2022)02-0099-05
● 引言
工程制圖課程是理工類院校的一門技術(shù)基礎(chǔ)課,教學(xué)時要用實物模型輔助教學(xué),以培養(yǎng)學(xué)生的空間邏輯思維能力和三維造型設(shè)計能力。學(xué)校一般有專門的模型陳列室和模型管理人員,教師借模型到教室輔助上課。而隨著計算機的普及,教師可以使用輔助設(shè)計軟件在電腦上呈現(xiàn)虛擬模型或者模型圖片來輔助教學(xué),但虛擬模型難以脫離造型軟件平臺,圖片不具備交互性,不能全方位觀看模型;另外,由于高校擴招,部分學(xué)生主動學(xué)習(xí)能力不足,傳統(tǒng)的教學(xué)手段不能很好地培養(yǎng)學(xué)生的三維構(gòu)型能力。經(jīng)過實踐,筆者發(fā)現(xiàn)將課程的模型資源內(nèi)置于手機,就相當(dāng)于人手一個隨身攜帶的制圖模型資源庫,能給課程的教與學(xué)帶來極大便利。
移動學(xué)習(xí)不受時空限制,具有隨時隨地進行學(xué)習(xí)的特點。Raffaele[1]等利用VR和AR技術(shù),結(jié)合手機成像技術(shù)和計算機圖形學(xué)技術(shù),研究在虛擬環(huán)境下實時組裝機器的方法。國內(nèi)也有許多研究機構(gòu)積極將虛擬現(xiàn)實技術(shù)應(yīng)用到移動平臺。邱龍輝[2]等利用Direct3D Mobile開發(fā)出基于Windows Mobile平臺的工程制圖虛擬模型庫,通過加載VRML虛擬模型,實現(xiàn)虛擬模型在移動設(shè)備的顯示;劉偉[3]等基于虛擬現(xiàn)實技術(shù),利用JPCT-AE三維引擎、3DsMAX以及OpenGL ES2.0等工具,開發(fā)出應(yīng)用于Android平臺移動端的工程圖學(xué)移動學(xué)習(xí)系統(tǒng);李波[4]利用Unity3D平臺實現(xiàn)畫法幾何三維交互式課件的設(shè)計;葉琳[5]等探討了虛擬模型造型技術(shù),并建立了機械制圖虛擬模型室。上述研究對移動端工程制圖模型資源庫技術(shù)做了多方面的有益探索,有的已用于實際教學(xué)中,但仍然存在以下不足:①模型資源庫大多立足于自己單位編寫的教材,不使用其教材則不能使用,推廣面有限;②有的產(chǎn)品平臺是基于PC或Windows Mobile系統(tǒng)的,手機平臺則是Android和IOS;③模型庫在點線面投影內(nèi)容上有遺漏,如在剖視圖、裝配圖原理表達方面沒有剖開狀態(tài),以致不能看清零部件內(nèi)部結(jié)構(gòu)形狀;④沒有動畫演示裝配體的工作原理,以致表達效果不強。
● 模型資源庫的內(nèi)容分析及功能分析
1.內(nèi)容分析
工程制圖課程內(nèi)容主要包含點線面、基本體、組合體、機件表達、連接件和傳動件、零件圖、裝配圖等七個方面,因此,選取教學(xué)模型必須遵循這些內(nèi)容,符合工程制圖課程的教學(xué)大綱和通用教材,且具備普適性和應(yīng)用性,能夠滿足大學(xué)本科和??平虒W(xué),模型具體組成及數(shù)量如圖1所示。
2.功能分析
模型資源庫相當(dāng)于一個虛擬的模型陳列室,利用計算機技術(shù)的優(yōu)越性,將模型與知識點、模型與視圖有機結(jié)合起來,能更加形象生動地表達制圖的成圖原理。另外,模型庫主要給用戶觀看模型形狀,必須具備良好的交互性,具體功能體現(xiàn)在以下五個方面:
(1)按課程內(nèi)容設(shè)置的導(dǎo)航功能。
(2)模型的展示平臺(陳列臺)及臺上的單個模型與用戶的交互功能:用戶能夠拖動旋轉(zhuǎn)平臺,手指觸擊(或鼠標(biāo)點擊)單個模型,則拾取模型,模型放大展示,手指拖動能全方位旋轉(zhuǎn)觀看模型。
(3)特殊模型的“剖切”表達功能:針對截切體、相貫體、剖視圖、零件圖、裝配圖等內(nèi)容,模型庫具備“剖切”功能,以進一步觀察立體被截切后的截交線形狀、立體與立體相交的相貫線形狀和零部件的內(nèi)部結(jié)構(gòu)形狀。
(4)特殊模型的工作原理動畫表達功能:針對連接件和傳動件有動畫演示其連接或傳動原理,裝配體有動畫演示其工作原理和拆卸過程。
(5)“型-文”“型-圖”結(jié)合表達知識點功能,模型庫是輔助課程學(xué)習(xí)的軟件工具,盡可能將表達形狀的模型與表達知識點的文字相結(jié)合,將表達形狀的模型和模型視圖表達相結(jié)合,在同一屏幕界面顯示來引導(dǎo)學(xué)生學(xué)習(xí),以快速掌握知識。
● 模型資源庫功能實現(xiàn)及關(guān)鍵技術(shù)
1.開發(fā)平臺及編程語言
筆者在建設(shè)模型資源庫時,采用的是Unity3D開發(fā)平臺和C#開發(fā)語言,Unity3D是一個專業(yè)游戲引擎,對3D模型具有較強的集成控制功能,其編輯器可運行在Windows、Linux、Mac OS系統(tǒng)下,用戶只需一次開發(fā),應(yīng)用程序就可發(fā)布至Windows、Mac、iPhone和Android等平臺,為模型資源庫跨平臺發(fā)布提供了保障;借助C#編程語言,可控制場景中模型的旋轉(zhuǎn)、移動、隱藏、放大等基本操作,實現(xiàn)3D模型與用戶的交互。C#語言編譯速度快,其后臺Visual Studio提供各種精準(zhǔn)的分析與重構(gòu)功能,具備很多可直接調(diào)用的標(biāo)準(zhǔn)庫,可大大減輕開發(fā)強度。
2.系統(tǒng)的交互功能
模型資源庫系統(tǒng)與用戶的交互采用了Unity3d的GUI技術(shù),該技術(shù)提供從界面布局、執(zhí)行到可視化的整套解決方案,具有布局靈活、執(zhí)行快速、可視化程度高的優(yōu)點,并能滿足系統(tǒng)與用戶的交互需求。模型資源庫系統(tǒng)主要應(yīng)用于手機端和計算機,要求交互操作越簡單越好,因此主要通過如上頁圖2所示的五個控件完成用戶與系統(tǒng)的交互功能和模型、知識點的顯示功能。
3.模型的處理流程及管理
3D模型造型工具采用了Pro Engineer5.0,然后在3dsMAX(或Rhinoceros)軟件里優(yōu)化處理,最后輸出為“*.fbx”的特定格式文件,并在Unity3d軟件平臺集成模型形成資源庫,模型處理流程如圖3所示。
筆者按照上述七大類內(nèi)容建立了七個展示場景,場景主要包括陳列平臺和教學(xué)模型,圖4為基本體場景。在開發(fā)環(huán)境下,建立的所有教學(xué)模型均為陳列臺模型的子物體的層級關(guān)系,即陳列臺與模型是“父與子”的層級關(guān)系,這樣就能保證旋轉(zhuǎn)、放大縮小陳列臺時,所有子物體隨著一起旋轉(zhuǎn)或放縮;隱藏陳列臺,則子物體一起隱藏。
4.模型拾取和全方位觀看
模型資源庫的觀看場景主要有陳列臺及臺上模型,在開發(fā)環(huán)境中,它們均為幾何模型,可賦予顏色和材質(zhì)。場景中模型的拾取可采用光線追蹤碰撞檢測技術(shù),當(dāng)手指或鼠標(biāo)觸碰到屏幕上的物體模型時,在開發(fā)環(huán)境下就會被視作從攝像機發(fā)出的射線延長到虛擬場景中,與場景中三維模型產(chǎn)生了碰撞,則拾取該模型,進而重新生成一個該模型的實例,同時隱藏陳列臺及模型。教師可通過程序語言獲得拾取模型的名稱、坐標(biāo)、碰撞點位置等相關(guān)信息,也可對拾取模型進行如改變顏色、隱藏、放大、移動、旋轉(zhuǎn)等操作。程序處理流程如圖5所示。
5.特殊模型的剖切表達
課程的基本體部分有的需要呈現(xiàn)截切體,機件表達和零件圖部分也存在需要剖開表達的機件,另外裝配圖部分也要將裝配體剖開顯示,剖開表達的目的是方便學(xué)生看清楚內(nèi)部的結(jié)構(gòu)形狀。為表現(xiàn)剖切后的效果,可將整體模型剖分為幾個組成部分,初始呈現(xiàn)為整體,通過按鍵操作隱藏切去部分,從而讓用戶看到剖切后的形狀。如下頁圖6所示的接頭模型,可以剖分為如圖6(b)1、2、3、4共四個組成部分,為了顯示剖切后的形狀,隱藏相應(yīng)部分就可得到剖切后的立體模型,如圖6的(c)(d)所示。
6.工作原理的動畫表達
對于連接傳動件和裝配體,其工作原理主要通過零件的旋轉(zhuǎn)、平移運動來體現(xiàn),在代碼編程實現(xiàn)這些運動時,為了減少編程工作量和保證零件運動協(xié)調(diào)一致,在開發(fā)環(huán)境里盡可能建立零件間的“父-子”層級關(guān)系,以滿足“父”動則“子”動、“子”動“父”不動的規(guī)則。筆者以B型齒輪油泵為例,簡述其方法。如圖7所示,B型齒輪油泵主要包括泵體、泵蓋、主動齒輪、軸和其上附件、從動齒輪和軸、帶輪及其附件、泄壓裝置等,其工作原理主要表現(xiàn)為主動齒輪(軸)轉(zhuǎn)動帶動從動齒輪(軸)轉(zhuǎn)動,轉(zhuǎn)動過快,則出油口壓力增大會啟動泄壓裝置。實現(xiàn)其工作原理的動畫主要包含四個動作:①主動軸、齒輪、帶輪和鍵轉(zhuǎn)動;②從動軸及齒輪轉(zhuǎn)動;③泄壓鋼球、頂墊和彈簧的移動;④彈簧壓縮。在組織管理這些零件時,可如上表所示,建立上述四個動作零件間的“父-子”層級關(guān)系。代碼實現(xiàn)原理動畫只需考慮父物體運動,四個動作的核心代碼如圖8所示。
7.系統(tǒng)開發(fā)的總體框架
整個模型資源庫系統(tǒng)開發(fā)的總體框架如圖9所示。
● 模型資源庫系統(tǒng)效果展示
下頁圖10a為系統(tǒng)主界面,通過按鈕導(dǎo)航至不同大類內(nèi)容;圖10b為機件表達展臺,點擊展臺機件,則放大模型,型文結(jié)合表達模型知識點,如圖10c所示;圖10d為點擊“切去”按鈕機件的表達效果;點擊連桿傾斜部分,則演示旋轉(zhuǎn)剖視圖形成的原理動畫;圖10e為點擊“型圖”按鈕的表達效果;圖10f為裝配體展臺,點擊模型也會出現(xiàn)放大單個模型,其中有關(guān)鍵零部件運動表達其工作原理。
● 結(jié)語
筆者基于Unity3d開發(fā)了移動端工程制圖3d模型資源庫。本模型資源庫在筆者所在學(xué)校機電193-194、車輛201-202等班級試用,學(xué)生自己操控手機端逼真的虛擬三維模型,參與其中觀看模型的形狀或變化,突破時空限制,且隨身攜帶隨時使用,大大激發(fā)了學(xué)生的學(xué)習(xí)興趣,變被動接受為主動學(xué)習(xí),增加了學(xué)習(xí)的樂趣,鍛煉了學(xué)生的空間想象思維能力,提高了學(xué)習(xí)效率。
參考文獻:
[1]RAFFAELE DE AMICIS, Augmented Reality for virtual user manual[J].International Journal on Interactive Design and Manufacturing,2018(12):689-697.
[2]邱龍輝,楚建明,葉琳,等.基于智能手機的工程圖學(xué)虛擬模型資源庫的研究與實現(xiàn)[J].圖學(xué)學(xué)報,2013,34(01):83-86.
[3]劉偉,杜強,張順心,等.基于VR技術(shù)的工程圖學(xué)移動學(xué)習(xí)系統(tǒng)[J].圖學(xué)學(xué)報,2016,37(06):857-861.
[4]李波,李秋怡,宣珊珊,等.Unity3D畫法幾何三維交互式課件的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2020,16(11):229-231.
[5]葉琳.機械制圖虛擬現(xiàn)實網(wǎng)絡(luò)模型室的建立[J].工程圖學(xué)學(xué)報,2002,22(03):202-206.
作者簡介:方錫武(1971—),男,漢族,湖北省武穴市人,博士,副教授,主要研究領(lǐng)域為工程圖學(xué)、數(shù)字化設(shè)計與制造。李芳(1971—),女,漢族,江蘇省南京市人,副教授,碩士,主要研究領(lǐng)域為數(shù)字化設(shè)計。蔣麒麟(1978—),男,漢族,安徽省懷寧縣人,博士,副教授,主要研究領(lǐng)域為數(shù)字化設(shè)計。
基金項目:2020年度中國高等教育學(xué)會“數(shù)字化課程資源”專項課題“移動端工程制圖3D模型資源庫開發(fā)與研究”(2020SZYB10);南京工程學(xué)院高等教育研究課題(2019YB12)。