王艷,劉冬芳,趙冉,孫立明,韓校粉
(陸軍工程大學 石家莊校區(qū)七系,石家莊050000)
機械識圖繪圖是機械類各專業(yè)人才培養(yǎng)方案中一門專業(yè)教育類的學科專業(yè)基礎(chǔ)必修課程,主要研究機械圖樣的表達與理解,是機械工程技術(shù)的基礎(chǔ),在培養(yǎng)學生的機械形體表達、形象思維、空間想象力和工程素養(yǎng)方面具有重要作用。隨著多媒體技術(shù)的發(fā)展和普及,目前,機械識圖繪圖課程早已由傳統(tǒng)的以黑板掛圖為主要教學手段向融合多媒體課件、網(wǎng)絡(luò)課程、模型室等多種信息化教學手段轉(zhuǎn)變,教學效率提高,教學效果更好[1]。
隨著智能手機、平板電腦等移動終端設(shè)備的普及,人們在溝通、社交、娛樂等活動中越來越依賴手機APP 軟件。開發(fā)《機械識圖繪圖》APP 教學平臺,依托教學平臺向?qū)W生提供豐富的教學資源,為學生搭建多維信息化平臺,延伸課程教學的時間和空間,拓展師生交流的渠道有重要意義[2]。
圖1 APP 教學平臺的內(nèi)容框架
《機械識圖繪圖》APP教學平臺里的各種教學資源采用樹狀框架,層次分明,便于拓展,其主要內(nèi)容框架如圖1 所示。
《機械識圖繪圖》APP 教學平臺里的教學資源包括模型庫、課程資料、學生作業(yè)、交流互動四大模塊。
模型庫模塊包括裝配體、零件、拆裝訓練3 個子模塊。裝配體子模塊中為學生提供各種裝配體工作原理的動畫演示、裝配體爆炸圖、裝配圖等內(nèi)容。在模型查看區(qū)顯示相應(yīng)的三維模型,可旋轉(zhuǎn)、平移、縮放查看模型[3]??赏ㄟ^模型的功能區(qū)查看模型的工作原理、爆炸圖、平面顯示、主視圖、俯視圖、左視圖和透明化顯示等,如圖2 所示。
圖2 模型庫界面
零件子模塊包括各零件的三維模型及各零件的三視圖,且模型可實現(xiàn)360°旋轉(zhuǎn),便于各角度觀看。
拆裝訓練模塊包括裝配體的拆裝動畫,還可對裝配體進行模擬拆裝訓練,且當操作錯誤或不知如何拆裝時,系統(tǒng)會給出操作提示,如圖3 所示。
圖3 裝配體拆裝界面
課程資料模塊包括視頻、文檔和PPT 等3 個子模塊。視頻子模塊包括多個示教動畫和微課視頻。示教動畫可以生動、直觀地展現(xiàn)課程的部分知識點。微課視頻可以幫助學生在課下提前預(yù)習或重溫課程的關(guān)鍵知識點。在視頻類資料區(qū)中可點擊任意視頻播放查看,也可將視頻暫停,如圖4 所示。
圖4 視頻播放界面
文檔子模塊包括電子教材、章節(jié)重點內(nèi)容總結(jié)、零件圖、裝配圖、電子習題集等豐富的電子文檔資料供學生自學。
PPT 子模塊主要提供教師上課的課件,供學生課下預(yù)習或查漏補缺。
學生作業(yè)模塊用于學生提交作業(yè),教師反饋作業(yè)評價。
交流討論模塊供學生與教師、學生與學生之間的討論交流,及時解決學習中遇到的難題。
建立APP 教學平臺里的教學資源包括模型庫、課程資料、學生作業(yè)、交流互動四大模塊。
模型庫里的模型選用SolidWorks2018 作為建模軟件,對實物模型進行計算機虛擬仿真以取代傳統(tǒng)實物模型。SolidWorks2018 是一款非常受歡迎的三維CAD 軟件,它界面友好、功能實用、易于學習,非常適合高校教學。
2.1.1 SolidWorks 實體模型導出
1)使用SolidWorks 制作的三維模型,不能直接用于Maya、Unity3D,需要轉(zhuǎn)換為三維模型通用的Obj 格式。在SolidWorks Premium 中開啟ScanTo3D 插件,通過中間格式轉(zhuǎn)換為Obj 格式。
2)在保存時候選擇保存Obj 格式,填寫保存文件名字即可。
2.1.2 SolidWorks 模型導出Obj 后在Maya 中優(yōu)化、美化處理
1)在SolidWorks 中導出的Obj 格式模型是一種灰模也稱素模,是一個簡單的模型,具有無顏色、無貼圖、表面粗糙不光滑、沒有質(zhì)感、模型面數(shù)多等缺點。
2)將Obj 格式模型導入Maya 中處理。根據(jù)模型的具體顏色、貼圖、質(zhì)感、模型面數(shù)等處理。
3)導入模型操作步驟:Maya 軟件首界面,文件→導入→選擇Obj 格式模型。
4)修改模型顏色步驟:首界面→窗口→渲染編輯器→Hypershade 選項,雙擊材質(zhì)球即可編輯其屬性→Color 雙擊選取顏色。
5)修改模型貼圖步驟:首界面→窗口→建模編輯器→UV 編輯器→把材質(zhì)球賦給模型→選擇材質(zhì)球Color 選項創(chuàng)建渲染節(jié)點→文件→圖像名稱。即可添加新的貼圖并與UV 匹配使用。
6)修改模型質(zhì)感步驟:首界面→窗口→渲染編輯器→Hypershade 選項→創(chuàng)建新的材質(zhì)球→可選擇Blinn 材質(zhì)、Lambert 材質(zhì)、Phong 材質(zhì)、漸變著色器等→還可以調(diào)整顏色參數(shù)、透明度參數(shù)、環(huán)境色參數(shù)、白熾度參數(shù)、漫反射參數(shù)等。
7)修改模型面數(shù)步驟:首界面→網(wǎng)格→清理。首界面→網(wǎng)格→減少→設(shè)置減少的比例比如30%或50%。方便后期在程序中減少電腦性能的開銷,有利于流暢查看、操作三維模型。
8)做完以上操作,達到理想效果后,導出美化后的FBX 格式模型,用于程序使用。
2.1.3 FBX 模型導入Unity3D 工程及設(shè)置
1)Unity3D 有自己的工程目錄。把FBX 格式模型文件直接拖拽到Unity3D 的模型文件下即可,此過程需要有一個解碼過程,根據(jù)模型大小解碼時間不等。
2)在Unity3D 工程中選擇導入的模型,Inspector 面板會顯示關(guān)于模型文件的屬性,在Model 列表中可編輯模型的UV 屬性、大小比例屬性、坐標屬性等。在Rig 列表中可編輯模型的動畫類型、Avatar 屬性、骨骼節(jié)點屬性等。在Animations 列表中可編輯動畫片段、動畫事件、動畫循環(huán)等屬性。
3)選擇模型文件拖拽到Hierarchy 面板中,可以在Scene 窗口看模型效果,也可在此調(diào)整模型效果、燈光效果。在Inspector 面板中Transform 屬性可以調(diào)整模型的大小、位置、旋轉(zhuǎn),MeshRenderer 屬性可以調(diào)整燈光與模型的關(guān)系,材質(zhì)球?qū)傩钥梢哉{(diào)整顏色、貼圖、法線貼圖、高光貼圖、金屬屬性、反光屬性、UV 的偏移等。
4)把Hierarchy 面板中調(diào)整好的模型拖拽到Resources 文件下,制作成預(yù)制體,方便程序動態(tài)加載模型文件使用。
2.1.4 FBX 模型在Unity3D 中加載使用
1)響應(yīng)模型按鈕,用Resources.Load()加載模型,用(GameObject)Instantiate()顯示出模型,obj.transform.parent設(shè)置加載顯示模型的位置。
2)CamerController 控制視角的移動、旋轉(zhuǎn)、縮放等查看方式。給模型部件的點擊位置添加Collider 組件,可以用Ray ray=Camera.main.ScreenPointToRay(MousePosition);RaycastHit hit; (Physics.Raycast(ray, out hit) 檢測鼠標點擊部件做響應(yīng)事件,用來播放工作原理動畫、拆裝、分解動畫。
課程資料模塊包括視頻、文檔和PPT 等3 個子模塊。視頻包括動畫和微課視頻兩種形式。動畫以生動逼真的表現(xiàn)形式,從全方位、各個角度再現(xiàn)零部件模型,動畫的制作一般先利用SolidWorks 等三維建模軟件建模,然后利用運動算例功能完成仿真運動及動畫設(shè)計,再利用Maya 等軟件生成Avi、Wmv 等視頻格式。此類動畫按照教師的設(shè)計進行演示,不存在交互性。微課視頻是教師根據(jù)課程知識點制作出的一個主題鮮明、內(nèi)容具體、針對性強的碎片化課例片段。它資源容量較小,特別適用于基于移動設(shè)備的移動學習。微課視頻可利用Office MIX、Camtasia等軟件制作,也可使用其他多媒體設(shè)備進行錄制。文檔和PPT 課件主要是教師在平臺上為學生提供的自測題、工程圖、教學課件等,點擊相應(yīng)內(nèi)容會以O(shè)ffice 形式打開。
學生作業(yè)是由學生做完作業(yè)后提交,會通過網(wǎng)絡(luò)提交到教師端(服務(wù)端)的StreamingAssets 文件夾下,教師可以在學生作業(yè)模塊查看學生的作業(yè)情況。點擊作業(yè)會以O(shè)ffice 形式打開,主要技術(shù)是用協(xié)程技術(shù)、數(shù)據(jù)流轉(zhuǎn)換、外部應(yīng)用打開。以下是該技術(shù)方法:
1)routine(Loding("xx.docx"))是啟動協(xié)程程序;WWW www = new WWW (filePath + fileName) 加載路徑的文件;yield return www 等待加載完成;byte [] bytes = www.bytes把文件轉(zhuǎn)換為字節(jié)數(shù)據(jù)流;Stream sw; FileInfo t = new FileInfo(path + fileName) sw.Write(bytes, 0, bytes.Length),sw.Write(bytes, 0, bytes.Length)把數(shù)據(jù)寫入文件,sw.Close()關(guān)閉數(shù)據(jù)流;Application.OpenURL(path+fileName)打開文件。
2)當教師對學生作業(yè)查看、批改完成后,直接保存即可,就相當于Office 文件繼續(xù)編輯和保存。
交流互動模塊是學生和教師、學生和學生之間的交流,主要方式是使用文字、語音兩種形式交流,類似一個聊天室功能,在聊天室內(nèi)的所有人都能看見、聽見。此模塊主要使用NetworkView 組件,以下是技術(shù)具體實現(xiàn)的方法。
1)NetworkConnectionErrorerror=Network.InitializeServer(connectCount, port, useNAT)新創(chuàng)建服務(wù)器,在這里也可以理解為是創(chuàng)建一個聊天室,NetworkConnectionError error= Network.Connect(ip, port)連接服務(wù)器,在這里可以理解為加入聊天室,sendMes = inptuText.text 是獲取輸入框的內(nèi) 容,GetComponent <NetworkView >().RPC ("SendMes",RPCMode.All, Info.name + ": " + sendMes + " 服務(wù)端")發(fā)送數(shù)據(jù),在這里可以理解為發(fā)送消息,Network.Disconnect();斷開連接,在這里可以理解為退出聊天室。
2)發(fā)送語音實現(xiàn)技術(shù)方法:主要是使用AudioSource組件來記錄聲音。AudioSource.clip = Microphone.Start("Built-in Microphone", false, 60, 44100)是設(shè)置音頻的屬性有是否循環(huán)、秒長度、頻率,如果是按下按鈕需要錄制新的語音時則GameObject obj = (GameObject)Resources.Load("AudioClip") 加載新的音頻盛放器,GameObject audioButton = Instantiate (obj) audioButton.GetComponent<AudioSource>().clip = aud.clip 并實例出盛放器開始記錄音頻,Microphone.End("Built-in Microphone")是當松開按鈕時候停止錄制。
3)聲音錄制倒計時功能,沒有語音可以錄制15 s,當?shù)褂嫊r5 s 的時候就會出現(xiàn)錄音倒計時提示,主要是通過協(xié)程來完成,功能代碼如下:
本平臺是一款教學軟件,集虛擬模型庫、課程資料、學生作業(yè)、交流互動等于一體,實現(xiàn)了實用、易用、友好交互設(shè)計理念。該軟件操作簡單方便,界面友好、美觀。該教學平臺的開發(fā)突破了傳統(tǒng)教學模式,利用計算機、手機、平板電腦等工具拓展了教學的時間和空間,提高了教學質(zhì)量,優(yōu)化了教學結(jié)構(gòu)和流程。不僅可以幫助學生更形象、生動地理解一些難于理解的重點問題,還能減輕教師的教學負擔,方便學生多次重復地自學相關(guān)內(nèi)容,推動了機械識圖繪圖教學的進一步發(fā)展。