• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Unity3D的無人機交互式課件開發(fā)

      2015-09-27 00:33:31褚麗娜李建增謝志剛軍械工程學(xué)院無人機工程系石家莊050003
      現(xiàn)代計算機 2015年24期
      關(guān)鍵詞:腳本螺釘標(biāo)簽

      褚麗娜,李建增,謝志剛(軍械工程學(xué)院無人機工程系,石家莊 050003)

      基于Unity3D的無人機交互式課件開發(fā)

      褚麗娜,李建增,謝志剛
      (軍械工程學(xué)院無人機工程系,石家莊050003)

      0 引言

      目前,無人機作為一種復(fù)雜裝備,教學(xué)常用的文字、圖片、視頻等手段很難將其內(nèi)部復(fù)雜的結(jié)構(gòu)關(guān)系展示清晰,學(xué)生很難形成直觀的感受,需要通過空間想象來理解相關(guān)知識。結(jié)合實裝的上機練習(xí)雖然可以讓學(xué)生形成直觀的感受,但是裝備價格昂貴、壽命有限,教學(xué)用裝備數(shù)量有限,不允許每個學(xué)生在訓(xùn)練中反復(fù)練習(xí)提高[1-3]。在裝備信息化建設(shè)背景下,為提高裝備教學(xué)能力,減少訓(xùn)練費用,提高學(xué)生動手能力,探索更加科學(xué)有效的教學(xué)訓(xùn)練方法意義重大。

      Unity3D是由Unity Technologies開發(fā)的一個跨平臺專業(yè)游戲引擎,支持主流的三維建模軟件,可以實時處理大量的三維模型,同時支持C#、JavaScript、Boo等多種腳本語言[4]。除了游戲開發(fā)領(lǐng)域,它還被廣泛運用于航天、軍事國防、工業(yè)仿真、教育培訓(xùn)、醫(yī)學(xué)模擬、建筑漫游等領(lǐng)域。李葳[5]等將Unity3D虛擬現(xiàn)實技術(shù)用于土工試驗教學(xué),達(dá)到良好的教學(xué)效果;張延[6]等設(shè)計實現(xiàn)導(dǎo)彈視景方針系統(tǒng),降低了實驗成本;劉金明[7]等設(shè)計實現(xiàn)了電動機虛擬仿真展示W(wǎng)eb平臺,對學(xué)生和維修人員的學(xué)習(xí)具有一定應(yīng)用價值。本文針對無人機裝備在教學(xué)、訓(xùn)練等方面的需求,以Unity3D作為虛擬開發(fā)平臺,設(shè)計并實現(xiàn)了無人機課程交互課件的開發(fā),教學(xué)訓(xùn)練時只需用鼠標(biāo)進(jìn)行操作,價格便宜,無須維護(hù)。

      1 交互式課件的開發(fā)

      基于Unity3D的交互式課件開發(fā)流程包括模型和場景的構(gòu)建、人機交互界面的實現(xiàn)、交互控制腳本的編寫和軟件發(fā)布等四個環(huán)節(jié)。

      1.1模型和場景的構(gòu)建

      Unity3D作為一個引擎,只提供盒子、球體、膠囊體等基礎(chǔ)的模型,要制作出無人機的3D模型需要借助Maya、3DMax、Pro/E等三維建模軟件。在分析無人機設(shè)備實體結(jié)構(gòu)組成,進(jìn)行零件拆分的基礎(chǔ)上,選用3DMax完成裝備各部分模型的創(chuàng)建和美化工作,最終導(dǎo)出模型為.FBX格式。

      將3DMax中導(dǎo)出的模型和貼圖文件放到Unity工程文件夾下的assets文件夾中,即可在Project視圖中看到模型文件,完成導(dǎo)入。在場景中添加主攝像機和燈光等虛擬環(huán)境的必備元素,使模型達(dá)到最佳顯示效果。同時,據(jù)需要對模型進(jìn)行相關(guān)父子關(guān)系和屬性的設(shè)置,通過父節(jié)點包含子節(jié)點,子節(jié)點又可以包含另外的子節(jié)點。當(dāng)父節(jié)點運動時,子節(jié)點隨之做同樣運動,但子節(jié)點運動時,父節(jié)點保持不變,為下面拆裝功能的實現(xiàn)提供基礎(chǔ)設(shè)置。

      1.2人機交互界面的實現(xiàn)

      在Unity3D中,基本的環(huán)境、燈光、攝影機和組件添加好后,需要建立操作界面。交互式課件的操作界面由一個主界面和多個子界面組成,主界面中設(shè)置多個按鈕引導(dǎo)用戶進(jìn)行拆卸、組裝、使用提示幫助等相關(guān)內(nèi)容操作,均通過鼠標(biāo)進(jìn)行操作。Unity3D的操作界面由腳本實現(xiàn),利用OnGUI實現(xiàn),部分代碼如下:

      提示幫助采用GUI Window和GUI.Label實現(xiàn)提示信息的顯示與隱藏。

      1.3交互控制腳本的編寫

      交互控制技術(shù)是交互式課件的關(guān)鍵,需要采用腳本語言編寫控制代碼形成腳本文件,將腳本文件加載到需要實現(xiàn)此行為的物體下面,運行程序時該物體就能按照腳本所編輯的規(guī)律運動。目前Unity3D支持C#、JavaScript和Boo三種腳本語言,本文選用JavaScript編寫。具體實現(xiàn)功能如下:

      (1)攝像機的控制。通過加載在攝像機上的腳本控制物體的旋轉(zhuǎn)、縮放和平移,可以使觀察視角任意改變,并能深入到裝備內(nèi)部進(jìn)行查看。在腳本中通過改變受控物體的Transform組件中的position和Rotation屬性實現(xiàn)物體的旋轉(zhuǎn)、縮放和平移運動,實現(xiàn)對無人機的全方位觀察。

      (2)標(biāo)簽的顯示/隱藏。為了更方便學(xué)生課下自己操作練習(xí),為無人機的每個零部件都添加了實時名稱標(biāo)簽,當(dāng)鼠標(biāo)移入該零部件區(qū)域時,標(biāo)簽出現(xiàn);鼠標(biāo)移出時標(biāo)簽消失。部分控制代碼如下:

      將該腳本加載到每個需要顯示名稱標(biāo)簽的物體上后,需要為這些物體分別添加碰撞體,才能實現(xiàn)函數(shù)OnMouseEnter和OnMouseExit中預(yù)設(shè)的控制。當(dāng)物體形狀比較簡單時,可以根據(jù)物體形狀添加盒子、球體或膠囊體碰撞體,例如可以為中外翼添加盒子碰撞體;當(dāng)物體形狀比較復(fù)雜或安裝位置零部件較多時,需要添加網(wǎng)格碰撞體,例如發(fā)動機整流罩本身形狀不規(guī)則,而且涉及安裝螺釘較多,且內(nèi)部包裹的發(fā)動機也要添加碰撞體,為了避免碰撞體想過重疊產(chǎn)生錯誤,為其添加網(wǎng)格碰撞體。

      最后在Inspector視圖中添加物體名稱到參數(shù)tipname,如圖1所示,即可實現(xiàn)物體標(biāo)簽的顯示與隱藏。

      圖1 添加組件名稱

      (3)拆裝功能的實現(xiàn)。拆裝功能是針對物體本身的運動操作,實現(xiàn)方法有兩種,一是通過代碼直接控制物體的Transform組件實現(xiàn)運動控制,二是先通過Unity3D自帶的Animation組件為物體制作軌跡動畫,再用代碼控制動畫播放的條件和時刻。本文采用方法二實現(xiàn),軌跡動畫制作界面如圖2所示,對于螺栓、螺母等小零件,在改變Transform組件參數(shù)實現(xiàn)拆裝動畫的同時,改變其Scale參數(shù),使小零件在拆卸后放大,便于觀察和組裝時尋找。

      圖2 軌跡動畫制作界面

      由于無人機的拆裝過程需要按照一定的順序進(jìn)行,鼠標(biāo)單擊物體時,需要判斷是否滿足該物體拆卸或組裝的條件,若滿足條件方可播放拆卸或組裝的軌跡動畫;若不滿足條件,則顯示提示信息,提醒應(yīng)先拆卸或組裝某零部件。部分代碼如下:

      將上述代碼寫入function Update函數(shù)中,同時利用標(biāo)簽顯示/隱藏的方法顯示提示信息,為每個需要拆卸或組裝的零部件加載該腳本。當(dāng)同時有多個螺釘或螺母需要拆裝時,例如左中外翼整流罩安裝螺釘共6個,并沒有為這6個螺釘都加載上述動畫控制腳本,而是動畫控制腳本隨機加載到其中一個螺釘上,只有單擊該螺釘才能執(zhí)行6個螺釘?shù)牟鹧b動畫,這樣的設(shè)置既壓縮了課件的大小,又保證學(xué)生可以得到充分的練習(xí),全面地認(rèn)識無人機上的細(xì)小結(jié)構(gòu)組成。無人機拆卸完成界面如圖3所示。

      (4)幫助功能的實現(xiàn)。課件的相應(yīng)部分會提供使用幫助功能,幫助中詳細(xì)說明課件操作的方法、無人機拆裝的步驟和詳細(xì)操作流程,并為學(xué)生和教師提供必要的提示導(dǎo)航信息,幫助初學(xué)者熟悉軟件操作流程,鞏固課程相關(guān)知識。如圖3所示,當(dāng)操作熟練后,可以點擊左下角的“收起提示”按鈕,隱藏左上角的拆裝步驟欄和右下角對應(yīng)步驟的具體操作提示信息,進(jìn)行自測練習(xí)。

      圖3 系統(tǒng)拆卸完成界面

      1.4軟件發(fā)布

      Unity3D支持Windows、Linux、Mac OS X、iOS、Android、Web等多個平臺。根據(jù)日常教學(xué)需要,本文直接發(fā)布為.exe程序,直接雙擊打開即可進(jìn)行操作。后續(xù)根據(jù)教學(xué)需求,可以發(fā)布到iOS、Android等移動平臺,讓學(xué)生可以直接通過智能手機隨時隨地瀏覽該課件。

      2 結(jié)語

      本文將Unity3D引入無人機教學(xué)訓(xùn)練中,開發(fā)的無人機課程交互式課件,可以全方位、多角度展示無人機的機械構(gòu)造、拆裝流程等訓(xùn)練教學(xué)內(nèi)容,使學(xué)生能夠在單獨的PC上模擬操作練習(xí),符合裝備信息化建設(shè)的需要。該系統(tǒng)實現(xiàn)了結(jié)構(gòu)演示、安裝與拆卸等功能,對無人機的教學(xué)和訓(xùn)練提供了一種新的手段。

      [1]楊思,李小民.基于虛擬現(xiàn)實的無人機維修訓(xùn)練系統(tǒng)的開發(fā)[J].計算機仿真,2008,25(1):302-313.

      [2]高穎,連明,許志國等.無人機模擬訓(xùn)練系統(tǒng)的設(shè)計與實現(xiàn)[J].燕山大學(xué)學(xué)報,2005,29(2):117-122.

      [3]丁進(jìn)勇,寇昆湖,陳勇等.無人機模擬訓(xùn)練教學(xué)系統(tǒng)設(shè)計[J].實驗室研究與探索,2014,33(7):221-224.

      [4]Unity Technologies主編.Unity4.x從入門到精通[M].北京:中國鐵道出版社,2013.11.

      [5]李葳,馬樺.Unity3D虛擬技術(shù)在高職土工試驗教學(xué)中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2012,(12):124.

      [6]張延,余紅英,戚藝雪等.基于Unity3D/3DMAX的導(dǎo)彈視景仿真系統(tǒng)[J].科技視界,2013,(25):151.

      [7]劉金明,馬鐵民,王娜.基于Unity3D的電動機虛擬仿真展示平臺設(shè)計[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2014,26(3):66-69.

      Unity3D;UAV;Interactive Courseware

      Implementation of UAV Interactive Courseware Based on Unity3D

      CHU Li-na,LI Jian-zeng,ZUO Xian-zhang
      (Department of Unmanned Aerial Vehicle,Ordnance Engineering College,Shijiazhuang 050003)

      1007-1423(2015)24-0039-04

      10.3969/j.issn.1007-1423.2015.24.010

      褚麗娜(1983-),女,河北涿州人,軍械工程學(xué)院講師,碩士研究生,研究方向為虛擬現(xiàn)實技術(shù)

      李建增(1966-),男,河北石家莊人,碩士研究生,講師,研究方向為無人機信息處理

      謝志剛(1975-),男,湖北漢川人,博士研究生,講師,研究方向為無人機信息處理

      2015-07-14

      2015-09-10

      從無人機教學(xué)訓(xùn)練的角度出發(fā),研究如何利用Unity3D引擎實現(xiàn)交互式課件開發(fā),探索交互式課件開發(fā)的關(guān)鍵技術(shù)和具體實現(xiàn)方法,制作出仿真性強、交互靈活、支持拆裝的無人機交互式課件。

      Unity3D;無人機;交互式課件

      軍械工程學(xué)院教學(xué)研究立項課題(No.jxlx1548)

      From the perspective of teaching and training,mainly studies how to effectively use Unity3D to design the interactive courseware,to explore key technology and steps,and to create interactive courseware which has the characteristic of strong simulation,flexible control and supporting dismounting and assembling.

      猜你喜歡
      腳本螺釘標(biāo)簽
      酒駕
      安奇奇與小cool 龍(第二回)
      數(shù)據(jù)庫系統(tǒng)shell腳本應(yīng)用
      電子測試(2018年14期)2018-09-26 06:04:24
      無懼標(biāo)簽 Alfa Romeo Giulia 200HP
      車迷(2018年11期)2018-08-30 03:20:32
      一種浮動不脫出螺釘組件的結(jié)構(gòu)設(shè)計與分析*
      不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
      海峽姐妹(2018年3期)2018-05-09 08:21:02
      快樂假期
      標(biāo)簽化傷害了誰
      空心加壓螺釘治療末節(jié)指骨骨折
      基于多進(jìn)制查詢樹的多標(biāo)簽識別方法
      計算機工程(2015年8期)2015-07-03 12:20:27
      香格里拉县| 资溪县| 长泰县| 商河县| 芷江| 浮梁县| 内丘县| 陆河县| 海丰县| 泗阳县| 冷水江市| 富顺县| 皋兰县| 泰宁县| 龙南县| 综艺| 泸西县| 桂阳县| 中西区| 科技| 长子县| 安多县| 遂宁市| 蓬莱市| 平湖市| 乌兰浩特市| 南京市| 崇明县| 南漳县| 木里| 常熟市| 资源县| 宜章县| 万山特区| 阿勒泰市| 观塘区| 宁津县| 淮北市| 肇州县| 延川县| 牟定县|