洪茜
(渤海船舶職業學院,遼寧葫蘆島 125005)
基于Unity3D的虛擬船舶電站模擬器研究
洪茜
(渤海船舶職業學院,遼寧葫蘆島 125005)
本文在介紹虛擬現實技術的基礎上,闡述了應用最新專業引擎Unity3D軟件為開發工具,實現虛擬船舶電站模擬器的關鍵技術、系統結構、技術路線和實施方案。該模擬器具有數據精準、表現力強、基于網絡、交互性好的特點。該軟件的開發不僅可為教學提供實驗平臺,而且能夠方便的移植到其它實際應用系統中,具有良好的實用價值。
船舶電站 Unity3D 模擬器 虛擬現實
依據我國海事主管部門及世界海事組織的相關要求,輪機等部門人員要獲得相應等級的適任證書必須要參加船舶輪機模擬器的操作訓練與考核評估[1],作為船舶輪機模擬器的重要組成部分——船舶電站模擬器的訓練與評估是輪機等部門人員提高個人綜合素質的需要,也是適應現代化船舶日益自動化、信息化、智能化發展的需求。目前船舶電站模擬器主要有兩種類型:一類是軟硬件結合的半實物船舶電站模擬器,它用硬件全部或部分模擬實船上的電站設備及其操作與顯示功能,操作真實性強,但價格昂貴,不便于攜帶。另一類是純軟件的船舶電站模擬器即虛擬船舶電站模擬器,它是通過數學建模、軟件開發等計算機技術,在計算機上實現的可視化模擬訓練平臺。它可以將船舶電站設備全部虛擬到獨立的PC機上運行,訓練時只需用鍵盤和鼠標在控制屏上實施操作,其價格便宜,無需維護。近年來隨著計算機虛擬現實技術的飛速發展,虛擬船舶電站模擬器越來越真實,且升級方便,逐漸受到用戶的青睞,具有極大的發展前景。
1.1 Unity3D簡介
Unity3D是一款專業游戲開發引擎,能夠提供方便、簡潔的跨平臺游戲開發,擁有高度優化的DirectX和OpenGL圖形渲染管道。Unity3D采用層級式的可視化開發環境,一個完整的Unity3D程式由若干場景(Scene)組合而成,每個場景中又包含許多模型(GameObject),這些模型可以在Unity3D中創建、編輯或由其它軟件創建后導入。所有的模型都可以通過腳本控制它們的行為。最終在場景中所看到的內容是由攝像機(Camera)來展示并控制的。Unity3D具有非常強大的物理引擎,能模擬現實世界中的物理現象。因此,Unity3D功能強大、易于使用、跨平臺,非常適合于創建虛擬現實環境。
1.2 基于Unity3D的虛擬現實系統結構
基于Unity3D的虛擬現實系統分為模型開發環境、虛擬現實環境和用戶系統環境三個部分,其中模型開發環境通過諸如3DSMAX 等三維軟件來進行建模和材質貼圖,開發完成后發布為.FBX格式文件。然后將.FBX文件導入Unity3D軟件進行系統合成和交互開發,最終形成基于Unity3D引擎的虛擬現實環境,其中包括場景數據庫、Unity3D渲染引擎和碰撞檢測等交互處理程序,然后發布到服務器。當收到基于用戶系統環境的請求后,將需要的文件發送至用戶計算機實現場景的渲染輸出、相機的跟蹤以及碰撞檢測等交互操作。整個系統結構如圖1所示。

1.3 基于Unity3D的虛擬現實系統的關鍵技術
1) 實時顯示,在Unity3D引擎中,不需要像3DSMAX等軟件必須渲染才能產生畫面,因為其內置了渲染引擎,可以生成具有LOD層次細節的畫面,并進行顯示效果優化,即Unity3D是一個所見即所得的開發環境。
2) 場景漫游,Unity3D中內置了第一人稱角色控制器,只要將控制器預置體拖放至場景中就可以模擬第一人稱在場景中進行漫游;還可以通過檢測輸入控制攝像機的方式驅動場景,從而實現任意視角的場景漫游。
3) 碰撞檢測,在場景驅動中必須設置物體物理屬性來避免“穿墻而過”,因此,每個物體都必須添加能夠執行碰撞檢測的組件Component-Physics-Mesh Collider,從而使所有物體在不影響性能的前提下都具有碰撞檢測功能。
2.1 虛擬船舶電站模擬器系統結構
虛擬船舶電站模擬器系統主要包括3D模型模塊、數學模型模塊以及教學功能模塊三部分[2]。其中3D模型用來構建虛擬環境;數學模型用來實現系統與用戶的交互以及模型間的交互;教學功能模塊用來實現人機交互界面,船舶電站模擬器系統結構如圖2所示。
2.2 3D模型模塊
該模塊以某集裝箱船的船舶電站為原型構建了柴油發電機組、電站控制管理室、船舶電站配電屏以及相關負載的三維可視化虛擬場景,即將船舶電站設備場景都虛擬到服務器上[3]。

當訓練時,訓練人員的PC機將虛擬設備場景下載到本地機上,經過瀏覽器插件實時渲染就可以得到船舶電站設備的虛擬場景,然后通過鍵盤和鼠標進行操作。利用這些虛擬設備場景可以實現的仿真訓練主要有:
1)發電機組的起動、手動合閘供電與供電方式的轉換;
2)發電機的手動并車與解列操作;
3)發電機突加、突卸負載的測試;
4)發電機的調壓、調頻特性與負荷分配特性測試;
5)發電機的保護功能;
6)應急發電機手動和自動控制功能;
7)逼真地模擬各種電氣故障工況等。
2.3 數學模型模塊
船舶電站模擬器必須按照發電裝置和配電裝置的工作過程建立數學模型,用數學形式來表示其設備的控制、特性和狀態參數之間的關系,經過適當簡化和假設后,通過計算機的運算實現三維場景控制。因而,數學模型模塊主要包括兩類模型:一類是動態數學模型,用來模擬發電機以及附屬設備和系統的動態特性;另一類是邏輯和控制的數學模型,用來模擬船舶電站的控制操作、報警和保護等。其中發電機動態數學模型比較復雜,由兩部分組成:一是轉子運動方程,主要反映發電機輸入機械功率和輸出電功率不平衡時引起的發電機轉速與轉子角度的變化。一是電磁回路方程,主要描述發電機定子、轉子繞組的電壓方程。
2.4 教學功能模塊
教學功能模塊針對仿真訓練和教學的需要對界面進行簡化設計。整個界面包括機艙漫游、操作訓練、參數設置,考核評分、系統監控和故障設置等功能。通過這些功能可以真實地模擬船舶電站正常和非正常運行工況以及常見故障,能夠進行相關內容的仿真訓練。其中,操作訓練仿真界面由計算機仿真場景來模擬四臺發電機的運行和負載操作,主要包括:發電機機旁控制箱四個、主配電板一塊、應急配電板一塊。主配電板包括四個發電機控制屏、一個并車屏、兩個380V負載屏和兩個220V負載屏。應急配電板包括一個應急發電機控制屏和一個應急負載屏。
用戶可以隨時登錄服務器,以個人計算機瀏覽器為觀察窗口,通過鼠標和鍵盤控制自己的視角和視點,對虛擬場景進行動態漫游和實時仿真訓練。另外,通過聲音、視頻、文字等輔助性的手段,可以形象地講授船舶電站系統的各個部件、功能及各評估項目的操作過程等。而且虛擬場景與數據庫相連,可以保存訓練人員的所有操作記錄,可供教師對操作情況進行檢查及評判
虛擬船舶電站模擬器平臺實現的主要步驟為:
1)使用3DSMAX創建船舶電站相關設備場景的三維數字化模型,并導入至Unity3D內進行編輯;
2)通過Unity3D的JavaScript腳本程序接口實現數學模型對虛擬場景的控制,從而驅動三維虛擬設備動作;
3)設計構建人機交互界面;
4)將整個虛擬場景上傳至服務器。當用戶使用時,整個模擬器的虛擬場景就通過網絡下載到用戶計算機,經過瀏覽器的實時渲染,將具有交互性的三維虛擬設備和場景展示給用戶。
3.1 設備場景模型的創建
Unity3D對目前主流的三維模型文件格式都具有良好的支持,本系統使用3DSMAX軟件進行設備和場景的建模,并用PhotoShop進行材質紋理的處理[4]。當模型創建后,利用3DSMAX的導出功能將所有模型導出為.FBX格式,在導出時勾選嵌入的媒體項,這樣所有的貼圖就會一起導出。然后,將.FBX文件放置在Unity3D工程文件的Assets目錄中,這樣在Unity3D的Project視圖中就能夠找到包括模型與材質在內的所有的資源文件。
在布置所有的設備和場景之前,需要為模型創建Prefabs(預置體),它是一個對象及其組件的集合,可以在場景中被多次重復使用,即多個相同的對象可以使用一個預置實例化。例如創建一個發電機控制屏的預置就可以實例化多個發電機控制屏,這樣可以減小虛擬場景的文件大小,從而提高虛擬場景下載到用戶計算機的速度,提高整個模擬器的性能。集控室主配電板虛擬場景效果如圖3所示。
3.2 實現對虛擬場景的控制

系統使用JavaScript語言編寫腳本,當所有設備的數學模型分別用JavaScript語言實現后,保存為單獨的.JS文件,然后將這些腳本文件附加到相應的模擬設備對象上,就可以實現對虛擬設備與場景的控制[5]。此外,系統提供了可以自由切換的自由行走和飛行兩種漫游方式實現機艙漫游控制,讓訓練人員能夠對整個機艙有更好的觀察和了解,其中飛行模式的部分JS代碼如下所示:

3.3 人機交互界面的實現
系統的圖形用戶操作界面由一個主界面和多個子界面組成,主界面中設置多個按鈕引導用戶進入機艙漫游、操作訓練、參數設置等相關內容,除了機艙漫游需要由鍵盤和鼠標共同實現操作外,其它的圖形用戶界面均通過鼠標進行操作。Unity3D的圖形用戶界面由腳本實現,這些腳本必須寫在OnGUI方法里,本系統OnGUI方法部分代碼如下所示:


本文將Unity3D的虛擬現實技術引入到虛擬船舶電站模擬器的研究與開發中,進一步提高了船舶電站模擬器虛擬環境仿真效果的真實性,使得訓練人員能夠在單獨的PC機上通過Internet進行更加真實的船舶電站模擬訓練和學習,具有非常高的性價比。此外,本文研究討論的關鍵技術可以應用于其它包括安全、醫學、電子、科技等相關的虛擬現實與仿真等領域。
[1] 中華人民共和國海事局. 中華人民共和國海船船員適任考試人綱[M]. 大連海事人學出版社, 2006.
[2] 施偉鋒. 船舶電站仿真系統軟件人機界面的開發[J].機電設備, 2001, (1) :21-28.
[3] 周立民. 船舶電站模擬器系統的研究和實現[D]. 大連海事大學碩士學位論文, 2005.
[4] 陽化冰,劉忠麗,劉忠軒等. 虛擬現實構造語言[M].天津航空航天大學出版社.
[5] 王益斌. 基于Web3D虛擬船舶輪機模擬器實現方式的思考[J]. 中國水運, 2008, (7) :126-128.
Research on Virtual Simulator of Marine Power Station Based on Unity3D
Hong Qian
(Bohai Shipbuilding Vocational College, Huludao 125005, Liaoning,China )
By introducing virtual reality technology, this paper shows key technology, systematic structure,technical line and implementation scheme of virtual marine power station simulator using the latest professional engine Unity3D software .The simulator has many advantages, such as data precision, deeply impressive, web based and highly interactive. This software design can not only provide experiment platform for teaching, but also conveniently move to other kinds of practical application systems. It has a high application value.
marine power station; unity3D; simulator; virtual reality
TM621
A
1003-4862(2014)03-0053-04
2013-08-13
洪茜(1981- ), 女, 講師。研究方向:船舶電氣自動化。