劉寧
【摘 要】自麥肯錫公司提出“大數據”的概念以來,隨著互聯網和信息行業(yè)的發(fā)展,大數據成為繼云計算、互聯網、信息行業(yè)又一大顛覆性的技術革命,已經越來越多的被應用到軍事、航空、金融、汽車等行業(yè)。有了大數據技術,用戶能夠準確的提取信息,更新數據。通過數據分析,可以實時掌握整個項目的研發(fā)、生產進度、實時發(fā)現并解決問題,提高了工作效率,也大大降低了出錯的概率。而如何將這些數據直觀、準確的呈現給用戶,服務于用戶,則要通過一些列的技術手段來實現。本文以Unity三維軟件為數據展現平臺,以C#語言開發(fā)工具為手段,以GUI技術為界面實現工具,詳細、具體地討論如何將飛機的各項數據,以三維可視化形式展現出來,更好地為飛機研發(fā)、制造、裝配而服務。
【關鍵詞】大數據;Unity;數據可視化;三維數據;界面;GUI
1 研究背景和意義
飛機的研制、生產是一個龐大的系統(tǒng)工程。在整個研制過程中,會產生巨量的數據,人工處理這些數據將耗費大量的時間。傳統(tǒng)的數據展現方式,常常以單純的文本、表格等形式表現出來,不僅單調乏味,且界面復雜,導致用戶體驗不佳。而將數據以可視化的形式展現出來,可解決這一難題。通過Unity三維軟件,能夠將飛機三維數模呈現在平臺中,通過定位飛機的GIS地理位置,實時的獲取該位置的零件詳細信息,如FO、FRR、生產、試飛、試驗數據等,實時掌握飛機的研制狀況,及時的發(fā)現并解決問題。用戶還可以通過詳細的數據分析,制定下一步的研制、生產計劃,為整個項目節(jié)省人力和時間成本。
航空業(yè)作為最具代表性的高科技產業(yè),是體現國家科技能力的重要標志。而我國航空業(yè)起步晚,困難多,時間緊迫。因此,我們需要一個先進、有效的手段,為整個研發(fā)的過程服務,縮短我們與發(fā)達國家的差距,或在不久的將來,能夠達到世界先進水平。因此,這個實現飛機數據的可視化展示,對航空業(yè)的發(fā)展具有重大意義。
1.1 飛機三維數據可視化應用簡述
通過Unity三維軟件,為飛機數模建立一個虛擬的三維場景,將整個飛機數模置入這一虛擬場景當中??梢院Y選飛機的不同型號和飛機的外觀表現形式。以帶蒙皮形式展現,可以全360度觀察飛機的各個部段;以全機數模形式表現,可以觀察其內部數據,全面了解飛機各個系統(tǒng)的位置、情況及工作進度。在平臺界面設計上,除了飛機三維空間展示,還有詳細的列表設計。在列表當中,實時提取了該飛機地理位置上的信息。如FO、FRR等。
在功能上,通過C#程序語言來實現界面上的交互操作。如通過的鼠標的一些列縮放旋轉等操作,來查看飛機的各級系統(tǒng)信息。
2 實現所需的軟件
2.1 Unity
Unity是由Unity Technologies開發(fā)的一個建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發(fā)工具,是一個全面整合的專業(yè)游戲引擎。Unity類似于Director, Blender game engine, Virtools 或Torque Game Builder等利用交互的圖型化開發(fā)環(huán)境為首要方式的軟件其編輯器運行在Windows和Mac OS X下,可發(fā)布游戲至Windows、Mac、Wii、iPhone、Windows phone 8和Android平臺。也可以利用Unity web player插件發(fā)布網頁游戲,支持Mac和Windows的網頁瀏覽。它的網頁播放器也被Mac widgets所支持。
Unity被廣泛應用到航空航天、軍事國防、工業(yè)仿真、教育培訓、醫(yī)學模擬、建筑漫游等領域。一般稱之為Serious Games(嚴肅游戲)。在嚴肅游戲領域,Unity在很多方面具有非常明顯的優(yōu)勢,例如完備的引擎功能、高效的工作流程、更逼真的畫面效果、跨平臺發(fā)布及第三方插件等,這使得Unity在嚴肅游戲領域也廣受歡迎與關注。
2.2 C#語言
C#是微軟公司發(fā)布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。并定于在微軟職業(yè)開發(fā)者論壇(PDC)上登臺亮相。C#是微軟公司研究員Anders Hejlsberg的最新成果。C#看起來與Java有著驚人的相似;它包括了諸如單一繼承、接口、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成的,而且它是微軟公司 .NET windows網絡框架的主角。
3 用戶需求分析
經過調研,收集各方用戶的需求,飛機三維數據可視化平臺目前主要滿足兩個需求:展示試飛試驗數據信息和顯示數據裝配大綱信息。
其中,試驗類別有:機上地面試驗、壓力試驗、密封試驗、APU燃油切斷閥試驗、導線綜合試驗、水箱排放試驗、剎車功能系統(tǒng)實驗、中央警告系統(tǒng)機上功能試驗等。
裝配大綱部分,以特定約束條件過濾,展示三維生產監(jiān)控數據。
3.1 界面設計
在界面設計上,設計師前期做好操作界面交給GUI開發(fā)人員。開發(fā)人員通過Unity軟件中的GUI工具,將圖標、圖片信息及菜單的設計原圖在平臺的虛擬場景上來實現,使用戶能夠直觀的選取自己所需要的模塊。
UI設計部分如圖1所示,以公司的企業(yè)標準色為基色,體現高科技感,使用扁平化設計風格,凸顯簡潔及易用性,節(jié)省分析師的時間成本。
3.3 技術流程
先由討論組收集、明確用戶需求,然后將平臺架構和主要功能明確,再開始由設計到實現平臺功能的過程。技術人員的構成如下:
UI設計:負責整個平臺的整體風格,界面布局、圖標的設計和表現。
GUI設計:通過Unity軟件的GUI工具,將設計師的圖標、圖片等設計效果,通過GUI工具與C#開發(fā)語言相結合,在平臺空間中,搭建整個界面,并實現菜單的交互操作和飛機模型的顯示效果控制等。
軟件開發(fā):將試飛試驗數據信息和裝配大綱信息,通過提取BI或其他平臺數據,在Unity軟件中實時查看、更新。
三維設計:將最新生成的全機三維數模,通過Deep Exploration、3Dmax、Maya等三維軟件,將數模優(yōu)化、精簡。同時還需渲染一個具有科技感和美感的虛擬環(huán)境,使飛機能在Unity創(chuàng)建的虛擬環(huán)境中,以最佳和最快速的效果展示給用戶。
4 構建與場景生成
一期搭建了三維數字可視化平臺,主要開發(fā)了兩個場景。選中左邊場景的飛機機頭部份,右邊的列表會顯示相關的生產進度、質量、配送信息都展現出來。如圖2所示。
4.1 功能設置
(1)初步設計以下功能:
A)顯示三維對象信息(零部件、三維組合對象ID-零部件、位置等);
B)生產節(jié)點(節(jié)點id)質量、配套等信息;
C)為了增加飛機模型結構、系統(tǒng)的可讀性,在飛機上增加標注。
(2)實現方式:
A)以零部件模型名稱,建立標簽(數據庫建立對應的label表,用來維護標簽信息,并增加類別、level等字段,外鍵:三維對象ID。)
B)為標簽設定level級別
C)按放大比例,用不同字號顯示不同level的標簽文字
D)高級功能(開發(fā)算法,智能改變標簽文字的顯示方式)
E)放大5倍時,僅顯示大部段名稱
F)放大至4倍時,顯示大部段名稱和系統(tǒng)名稱
4.2 模型優(yōu)化處理
通過Deep Exploration軟件中打開飛機原數模格式為.CRG格式的源文件, 然后導出文件為.RH格式。
再次打開Deep Exploration軟件,打開.RH格式的文件進行查看,會發(fā)現模型量巨大,選取軟件中的模型屬性工具,察看該模型的具體點、線、面的數量的大小,選取軟件中的優(yōu)化工具,將模型按百分比優(yōu)化,再導出文件為.OBJ格式。
4.3 模型整合與導出
打開Maya三維軟件,導入之前保存好的.OBJ的文件。打開Display-poly count工具,查看模型的點、線、面的數量。如需要優(yōu)化,使用Mesh-reduce工具,調整優(yōu)化百分比,將模型量優(yōu)化到最合適的大小。
4.4 基于Unity3D引擎的虛擬環(huán)境渲染
利用Unity強大的渲染功能,可以在場景中營造一個逼真的環(huán)境效果。使用Lightmapping(光照貼圖技術)是一種增強靜態(tài)場景光照效果的技術,它可以通過較少的性能消耗使得靜態(tài)場景看上去更真實、豐富以及更有立體感;Unity使用的是Autodesk的Beast插件,并提供了相應的用戶界面,在Unity使用Lightmapping非常方便,利用簡單的操作就可以制作出平滑真實且不生硬的光影效果。
4.5 交互設計與實現
Unity內置了完整的GUI系統(tǒng),提供了布局、控件到皮膚的一整套GUI解決方案,可以做出不同風格和樣式的GUI界面,并且擴展性很強,用戶可以基于已有的控件創(chuàng)建出需要的控件。在整個三維可視化平臺的界面中,將預先設計好的界面、菜單、圖標等,使用GUI技術進行實現,如圖3所示。
圖3 將界面設計效果通過GUI實現
5 原型系統(tǒng)測試情況
目前,三維飛機可視化平臺已經完成原型測試,并發(fā)布了1.0版。該版本主要完成了兩部分功能的實現:
(1)展現公司主要價值流和工作流程,將整個公司的工作流程,分為若干個模塊。
(2)建立飛機環(huán)境場景,渲染逼真的環(huán)境效果,以不同的展示形式展示飛機外形及內部結構。
點擊某個AO,顯示具體信息,內容包括配套、質量,FRR、列表,體現該AO裝配任務和實際操作中遇到的各種問題。
在測試已有功能的前提下,正研究如何將其他飛機相關的業(yè)務數據集成到飛機模型上來。例如是否可將首件檢驗,適航檢查,EO落實,CPS工藝規(guī)范等信息與飛機對接,展現飛機制造過程中的復雜程度及安全系數,為精細化管理提供多維分析平臺等。
6 結論與展望
我們處在大數據技術、可視化技術快速發(fā)展的時期,這對航空業(yè)的發(fā)展具有深遠的意義。通過本次飛機三維可視化平臺的研究和實現,能夠得出結論,將大數據進行可視化展現有如下幾種優(yōu)勢:
A)直觀地展現數據的實時狀況;
B)合理地將枯燥乏味的數據以合適的形式感展現給用戶;
C)友好的操作界面、簡單易用的互動設計給用戶良好的用戶體驗。交互使得關鍵信息更加直觀地展現出來,重點更加突出。
綜上所述,通過實現數據的可視化展示,能夠讓生產決策部門實時地進行生產監(jiān)控,發(fā)現和解決問題,并能幫助設計人員進行各方面的計劃和調整,從而大大縮短整個飛機的研制周期。該平臺目前還有一些功能正在開發(fā)和研究當中,這些功能也將對未來的研制工作大有幫助。
【參考文獻】
[1]徐智虹.基于三維可視化的路基特性監(jiān)測系統(tǒng)實現技術研究[Z].北京交通大學,機械工程,2012.
[2]相鵬, 劉展,孫記紅, 宋學鋒.三維可視化建模方法在位場模擬中的應用[J].計算機工程與應用,2009.
[3]Unity4.X從入門到精髓[M].中國鐵道出版社,2013.
[責任編輯:曹明明]