999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的船舶機損事故虛擬仿真軟件的開發

2021-06-28 08:46:49夏禹胡以懷方云虎張成芮曉松
電腦知識與技術 2021年10期
關鍵詞:船舶案例系統

夏禹 胡以懷 方云虎 張成 芮曉松

摘要:針對船舶機損事故在現實中難以重現的特殊性和危險性,通過建立船舶機損事故現場模型,綜合利用3dsMax和Unity3D軟件設計開發了船舶機損事故案例虛擬仿真軟件,以3D虛擬播放的方式展現各種機損場景。著重介紹了虛擬仿真軟件的開發技術和實現過程,包括場景搭建和缸套碎裂制作、軟件特效開發、場景漫游和渲染設置等,簡化了UI界面設計和視頻播放自動化的方法,起到了很好的船舶事故教學培訓效果。

關鍵詞:Unity3D;船舶機損事故;3ds Max模型;虛擬仿真

中圖分類號:TP391? ? ? 文獻標識碼:A

文章編號:1009-3044(2021)10-0001-03

1 背景

在船舶系統中主機艙設備是事故發生率最高的部位,且其故障而引發的事故往往是較大事故,會造成較大的經濟損失[1]。2015年12月3日,東莞市海龍疏浚工程有限公司所屬的無動力工程船“海龍浚1號”輪由“大躍”輪拖帶從山東濰坊駛往遼寧盤錦,在大連普蘭店灣附近水域拋錨避風期間,“海龍浚1號”輪進水沉沒。據調查,事故原因與該工程船遭遇大風浪,通風管沒有及時關閉,海水通過通風管灌入機艙致使船舶儲備浮力喪失有關。另外還存在拖帶人員處置經驗不足、應急預案不全面的問題。船舶機損事故類型多,成因復雜,應對和處理難度大,受場地、時間等因素制約且不存在真實的船舶應急事故處理的訓練現場(如主機起火與機艙進水等)。如果能建立一套船舶機損事故案例虛擬仿真軟件,用于船舶機損事故的案例教學和應急訓練,使船員通過事故案例重演的方式從以往的機損事故中獲得經驗教訓,以掌握船舶機損事故現場情況和應對處理流程,可以實現船舶應急情況分析和機損事故處理工作的高效化、科學化,這也說明了開發一套船舶機損事故虛擬仿真軟件的必要性[2]。

近年來,針對船舶虛擬仿真系統的研究主要有:李治軍[3]實現了虛擬舵機艙室的漫游與交互;江恒[4]開發和設計了無人艇視景系統;Ye Ting等[5]引入虛擬現實技術來構建一套船舶火災模擬訓練系統;何雋[6]設計開發了船舶損管虛擬仿真訓練系統;王雨生[7]實現船舶航行狀況模擬、船舶駕駛艙和輪機艙虛擬漫游,以及船舶入港停靠等功能;陸冬青等[8]為船舶操縱的教學訓練和科學研究提供了有效手段。

上述研究主要針對虛擬機艙和虛擬航行,較少涉及對多種類型船舶機損案例進行虛擬仿真的研究。本軟件采用基于Unity3D的虛擬現實開發技術[9],并具有兼容操作系統、跨平臺發布并部署、人機交互功能強大等特點的Unity3D三維虛擬引擎[10],側重船舶機艙各系統機損事故的情景再現,并利用語音播報配合文字提示與視頻播放三者同步進行,實現生動、有效的船舶機損事故的虛擬仿真和案例教學。

2 軟件功能

2.1 功能概述

船舶機損事故虛擬仿真軟件分為機艙系統選擇、事故類型選擇、開始自動播放三個部分,如圖1所示。機艙系統選擇按照船舶主機艙系統分為七個軟件模塊,分別是啟動系統、調速系統、燃燒系統、換向系統、燃油系統、滑油系統、冷卻系統。每個系統模塊下包含不同的事故類型選擇。選擇不同的故障類型可以開始自動播放機損事故的發生經過、分析與處理的流程,結合視頻解說還原事故現場。

2.2 整體設計

以一艘5000TEU集裝箱船為外形,使用3dsMax軟件進行三維建模。同時建立船員與輪機長人員模型,進行第一人稱行走動畫制作。再搭建出主機艙、機房、駕駛室和集控室等三維實體模型,利用3dsMax自帶的粒子系統和大氣裝置制作真實機損事故現場。利用3dsmax的攝像機進行畫面捕捉,必要時在攝像機上加上動畫使捕捉的畫面更全面真實,使用渲染設置進行.avi格式視頻導出。再利用Unity3D軟件,制作軟件的UI界面,構造便于教學的操作方式。利用C#語言功能,提供文本、語音、視頻三者同步自動播放的實現。

本機損事故案例虛擬仿真軟件中所包含的事故類型多,不同的故障類型所采用的仿真手法也不一樣。現以冷卻系統中機艙大量進水、缸套破裂和燃油系統中高壓油管燃油漏泄為例,闡述噴射粒子系統、水面特效和火焰特效的開發技術,以及渲染設置方法和自動播放的實現方法。

3 場景搭建和缸套碎裂制作

場景搭建是虛擬現實技術研究的基礎,整個軟件以海上航行的整個船體作為主場景,然后選擇主機艙作為機損事故發生的次場景。當故障發生的部件在主機上時,可以將場景縮小到整個主機來減少不必要的場景給工作站帶來的負擔。首先使用3dsMax按比例完成主機艙的三維模型和內部船用柴油主機模型的制作。制作主機缸套破裂時,先按Alt+Q隱藏缸套之外部分,選擇修改器中的ProOptimizer,對缸套頂點進行優化,可以保留50%的頂點數,在減少面的情況下,布線和結構基本沒有大的改變,然后創建切割用的平面調整大小放在產生裂縫的位置,將長度寬度分段加高到100,且添加Noise修改器,將比列調到80,強度Z調到40mm,選中缸套后使用ProCutter,將切割完的元素分離開來,保留切割后的碎塊,點擊拾取原料對象按鈕,選中平面,切割完成后點擊選擇按鈕避免再次切割,然后為左邊切割后的一半添加Bend修改器,調整彎曲角度為30度,可以鎖住尺寸編輯面板方便觀察,選擇Y軸為彎曲軸將方向調為90度,限制開裂上限為1000mm,即可拖動Y進行開裂。噪波平面和切割效果如圖2所示。

4 軟件特效

本軟件特效實現主要依賴與粒子系統,粒子系統最早在1983年由ReevesWT[11]提出,是當今較好地模擬不規則運動的算法之一,能較真實地還原火、水汽、煙、水流等自然現象。3dsMax粒子系統中粒子的行為參數包括粒子生成速度、粒子初始速度向量、粒子壽命、粒子顏色、在粒子生命周期中的變化以及其他參數等,可以模擬隨時間不斷產生、生長和消亡的動態粒子效果。

4.1 噴射粒子特效

以機艙大量進水故障類型中主海水泵出口閥體泄漏為例,選擇粒子系統‘Particle Systems中的超級噴射‘Super Spray并點擊按鈕在閥體漏水的位置創建,創建時選擇頂視圖確定噴射中心,通過旋轉180度調整發射器指向向下,創建完成后在修改面板調整粒子分布為軸擴散30度和平面擴散70度,選擇發射器隱藏,粒子百分數為80%,粒子數量為70,發射從0幀開始到100幀結束,壽命為20幀,選擇粒子形狀為球體,粒子大小為40mm。即可渲染出0~100幀的漏水動畫。漏水效果如圖3所示:

4.2 水面特效

為模擬機艙大量進水特效,需制作艙內水面緩緩上升的效果。在頂視圖創建一個平面,其寬度和長度略大于進水艙,將長度與寬度分段為100,添加噪波‘Noise修改器,調整噪波參數,縮小比例為50,增大Z方向的強度為230mm,勾選動畫噪波,設置頻率為1.0。如圖4a為機艙進水特效,圖4b為排水特效。

4.3 火焰特效

由燃料著火所形成的火災可分為自著火和強迫著火兩種方式。在主機艙場景中,燃油與可燃性氣體如甲烷、乙烷、丙烷、天然氣、氫氣等泄漏,遇金屬摩擦撞擊產生的火星,就可能生成氣體火,屬于強迫著火。以燃油系統中主機高壓油管燃油漏泄為例,模擬缸蓋上噴油器與高壓油管接頭處的一股火焰在燃燒,首先在輔助對象里下拉選擇大氣裝置‘Atmospheric Apparatus,點擊球體Gizmo后勾選半球在頂視圖確定燃燒中心點創建,然后在環境和效果面板中添加火效果,進行火效果參數‘Fire Effect Parameters設置,選擇火舌,拉伸1.0,規則性0.3,火焰細節為5.0,密度為30,勾選煙霧,點擊拾取Gizmo對之前創建的半球進行拾取,再對其添加FFD 4×4×4修改器,切換自動關鍵點模式對其控制點進行動畫制作,所渲染的火焰效果如下圖5所示。

5 場景漫游實現與渲染設置

本軟件場景漫游采用攝像機視野捕捉漫游,首先以機損部件為目標創建一臺攝像機,在視圖選擇中選擇攝像機視圖,通過3dsMax界面右下角的縮放、視野、平移、環繞四個主要按鈕來調控攝像機視野大小與方向,通過Ctrl+Alt+鼠標右鍵來調整幀數條范圍,開啟自動關鍵點捕捉來設置關鍵幀視角,可以簡單實現漫游動畫。

本軟件所用的渲染器由3dsMax插件公司Chaosgroug開發的Vray渲染器[12],是以插件的形式和3dsMax相匹配的,Vary自帶的燈光系統和材質庫,后期渲染時與之配合會得到更快更好的渲染效果。在渲染設置窗口中選擇時間輸出為活動時間段,輸出大小自定義為800×600,渲染輸出格式選擇.avi且設置如圖6所示,可以快速導出樣本視頻。成品視頻導出操作前面與樣本視頻操作一樣,只是在導出時選擇格式為Jpeg格式,設置如圖6所示,3dsMax會自動按順序渲染成序列幀,在后期軟件如Alias、Premier或Ae等將當前序列幀合在一起輸出成動畫。

6 同步自動播放的實現

在Unity3D中將軟件的UI界面制作完成后,為了達到語音、文字、視頻三者同步自動播放的效果,我們以文字播放速度配合語音,以視頻播放速度配合文字,通過C#語言的功能來進行協同控制。

6.1 語音播放控制

依據機損事故案例的發生經過、分析與處理流程而錄制好mp3格式的語音播報,在Unity3D場景中的主攝像機‘MainCamera上建立AudioSource控件,勾選Loop和PlayOnAwake,將音頻拖入AudioClip框中。這樣剛進入場景就會開始循環播放語音解讀。

6.2 文字播放控制

首先以text.text = ""來清空界面文本框內的文字,文字開始播放的時間通過代碼yield return new WaitForSeconds(startPause)中的startPause來控制,文字彈出速度代碼設計如下:foreach (char letter in word.ToCharArray()){

text.text += letter;

yield return new WaitForSeconds(letterPause)}

這樣就可以通過文字開始彈出的時間和一個一個彈出的速度來進行和語音播放同步化控制。

6.3 視頻播放控制

利用在UI中的RawImage上添加VideoPlayer控件來進行視頻播放控制,同樣勾選Loop和PlayOnAwake,AudioOutputMode選擇Direct模式,獲取場景中的對應組件后,通過代碼rawImage.texture = videoPlayer.texture將VideoPlayerd的視頻渲染到UGUI的RawImage,賦值當前視頻的播放時間后,通過videoTimeText.text = string.Format("{0:D2}:{1:D2}:{2:D2} / {3:D2}:{4:D2}:{5:D2}",currentHour, currentMinute, currentSecond, clipHour, clipMinute, clipSecond)把當前視頻播放的時間顯示在 Text 上,通過代碼videoTimeSlider.value = (float)(videoPlayer.time / videoPlayer.clip.length) 把當前視頻播放的時間比例賦值到 Slider 上,通過將當前的 Slider 比例值轉換為當前的視頻播放時間,代碼設計如下:private void SetVideoTimeValueChange(){

videoPlayer.time = videoTimeSlider.value * videoPlayer.clip.length;

}

語音、文字、視頻三者通過同一按鈕控制播放與暫停代碼設計如下:

void OnSoundClick(){

if (music.isPlaying) {

videoplayer.Pause();

text_playorpause.text = "播? 放";

Time.timeScale = 0;

music.Pause();

}

else{

videoplayer.Play();

text_playorpause.text = "暫? 停";

Time.timeScale = 1f;

music.Play();

}

}

這樣,我們在選擇完機損事故案例點擊進入場景后,就會自動開始同步播放語音、文字和視頻,且通過一個按鈕控制三者同步開始與暫停。

7 結束語

船舶機損事故案例的主機艙內部系統的場景搭建和機損部件模型建立,可以利用3dsMax構建高效、高質量的視頻渲染體驗,且可以在Unity3D中實現自動控制語音、視頻、文字同步播放的效果。該軟件用于學員的船舶機損事故案例教學,可以節約教學成本,提高教學效果,有良好的應用前景。

參考文獻:

[1] 胡以懷,陳寶忠,鄒建軍.船舶機損案例的人為因素失誤分析[J].中國航海,2004(3):3-6,17.

[2] 胡以懷.船舶機損事故分析及安全評估[M].北京:人民交通出版社,2013.

[3] 李治軍.基于Unity 3D的船舶舵機艙虛擬現實設計與研究[D].大連:大連海事大學,2014.

[4] 江恒.基于Unity3D的無人艇視景系統開發研究[D].武漢:武漢理工大學,2016.

[5] Ye Ting,Chen Feng,Wang Wenqiang,et al.Design and Realization of Ship Fire Simulation Training System Based on Unity3D[C].IOP Conference Series: Earth and Environmental Science,2018,108(5).

[6] 何雋.Unity 3D船舶損管訓練虛擬仿真系統的設計與實現[J].電腦知識與技術,2019,15(17):246-248.

[7] 王雨生.基于Unity 3d的虛擬船舶仿真研究[D].舟山:浙江海洋大學,2019.

[8] 陸冬青,邱云明,辛金強.基于Unity的船舶操縱運動仿真[J].船舶工程,2019,41(S2):19-22.

[9] 謝韜.基于Unity3D粒子系統的游戲特效實現[J].現代計算機(專業版),2015(24):30-32.

[10] 趙艷坤.基于Unity3D的欒川三維城市地理信息系統研究[D].鄭州:鄭州大學,2014.

[11] William T.Reeves.Particle systems—a technique for modeling a class of fuzzy objects[J].ACM SIGGRAPH Computer Graphics,1983,17(3):91-108.

[12] 李利明.3DMAX中常用渲染插件特點解析[J].漯河職業技術學院學報,2013,12(2):68-69.

【通聯編輯:謝媛媛】

猜你喜歡
船舶案例系統
計算流體力學在船舶操縱運動仿真中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
《船舶》2022 年度征訂啟事
船舶(2021年4期)2021-09-07 17:32:22
案例4 奔跑吧,少年!
少先隊活動(2021年2期)2021-03-29 05:40:48
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
船舶!請加速
隨機變量分布及統計案例拔高卷
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
發生在你我身邊的那些治超案例
中國公路(2017年7期)2017-07-24 13:56:38
主站蜘蛛池模板: 亚洲精品无码不卡在线播放| 国产高清毛片| 91丨九色丨首页在线播放| 亚洲国产午夜精华无码福利| 久久久久九九精品影院| 久久精品人妻中文系列| 三上悠亚一区二区| 亚洲毛片在线看| 亚洲欧美自拍视频| 久久婷婷五月综合97色| 亚洲无线国产观看| 最新日韩AV网址在线观看| 青草免费在线观看| 久无码久无码av无码| 国产69囗曝护士吞精在线视频| 国产Av无码精品色午夜| 超级碰免费视频91| 91精品啪在线观看国产91| 国产一国产一有一级毛片视频| 无码aaa视频| 国产人成午夜免费看| 精品国产免费第一区二区三区日韩| 亚洲精品欧美重口| 亚洲成A人V欧美综合| 日韩欧美亚洲国产成人综合| 国产三级视频网站| 国产精品美乳| 99精品视频九九精品| 亚洲国产精品VA在线看黑人| 国产精品亚洲va在线观看| 亚洲日本www| 亚洲天堂视频在线观看免费| 999精品色在线观看| 18禁色诱爆乳网站| 亚洲午夜综合网| 日本亚洲欧美在线| 国产免费福利网站| 亚洲动漫h| 亚洲欧洲日产无码AV| 奇米精品一区二区三区在线观看| 午夜不卡福利| 国产精品视频3p| 午夜色综合| 亚洲乱强伦| 久久公开视频| 亚洲国产天堂久久综合226114| 91国内视频在线观看| 国产91九色在线播放| 欧美一级99在线观看国产| 亚洲成a∧人片在线观看无码| 亚洲欧美另类中文字幕| 日韩麻豆小视频| 亚洲日本韩在线观看| 亚洲第一精品福利| 91精品在线视频观看| 国产无码制服丝袜| 国产精品免费露脸视频| 一级全免费视频播放| 国产美女人喷水在线观看| 99精品热视频这里只有精品7 | 国产精品永久在线| 日韩毛片免费观看| 国产成人综合日韩精品无码首页 | 亚洲日韩在线满18点击进入| 天天色天天综合网| 国产精品永久在线| 一区二区在线视频免费观看| 99草精品视频| 91精品网站| 亚洲二三区| 精品国产成人av免费| 免费看久久精品99| 一本大道香蕉久中文在线播放| 日韩123欧美字幕| 72种姿势欧美久久久大黄蕉| 精品夜恋影院亚洲欧洲| 欧美一区中文字幕| 色窝窝免费一区二区三区| 国产剧情无码视频在线观看| 亚洲欧洲综合| 青青久在线视频免费观看| 青青国产视频|