基于Unity3D的船舶机损事故虚拟仿真软件的开发
夏禹1,胡以怀1,方云虎2,张成2,芮晓松2
(1.上海海事大学商船学院,上海201306;2.招商局金陵鼎衡船舶(扬州)有限公司,江苏江都225217)
摘要:针对船舶机损事故在现实中难以重现的特殊性和危险性,通过建立船舶机损事故现场模型,综合利用3dsMax和Uni⁃ty3D软件设计开发了船舶机损事故案例虚拟仿真软件,以3D虚拟播放的方式展现各种机损场景。着重介绍了虚拟仿真软件的开发技术和实现过程,包括场景搭建和缸套碎裂制作、软件特效开发、场景漫游和渲染设置等,简化了UI界面设计和视频播放自动化的方法,起到了很好的船舶事故教学培训效果。
关键词:Unity3D;船舶机损事故;3ds Max模型;虚拟仿真
中图分类号:TP391文献标识码:A
文章编号:1009-3044(2021)10-0001-03开放科学(资源服务)标识码(OSID):
1背景
在船舶系统中主机舱设备是事故发生率最高的部位,且其
故障而引发的事故往往是较大事故,会造成较大的经济损失[1]。
2015年12月3日,东莞市海龙疏浚工程有限公司所属的无动力
工程船“海龙浚1号”轮由“大跃”轮拖带从山东潍坊驶往辽宁
盘锦,在大连普兰店湾附近水域抛锚避风期间,“海龙浚1号”
轮进水沉没。据调查,事故原因与该工程船遭遇大风浪,通风
管没有及时关闭,海水通过通风管灌入机舱致使船舶储备浮力
丧失有关。另外还存在拖带人员处置经验不足、应急预案不全面的问题。船舶机损事故类型多,成因复杂,应对和处理难度大,受场地、时间等因素制约且不存在真实的船舶应急事故处理的训练现场(如主机起火与机舱进水等)。如果能建立一套船舶机损事故案例虚拟仿真软件,用于船舶机损事故的案例教学和应急训练,使船员通过事故案例重演的方式从以往的机损事故中获得经验教训,以掌握
船舶机损事故现场情况和应对处理流程,可以实现船舶应急情况分析和机损事故处理工作的高效化、科学化,这也说明了开发一套船舶机损事故虚拟仿真软件的必要性[2]。
近年来,针对船舶虚拟仿真系统的研究主要有:李治军[3]实现了虚拟舵机舱室的漫游与交互;江恒[4]开发和设计了无人艇视景系统;Ye Ting等
[5]引入虚拟现实技术来构建一套船舶火灾模拟训练系统;何隽[6]设计开发了船舶损管虚拟仿真训练系
统;王雨生[7]实现船舶航行状况模拟、船舶驾驶舱和轮机舱虚拟漫游,以及船舶入港停靠等功能;陆冬青等[8]为船舶操纵的教学训练和科学研究提供了有效手段。
上述研究主要针对虚拟机舱和虚拟航行,较少涉及对多种类型船舶机损案例进行虚拟仿真的研究。本软件采用基于Unity3D的虚拟现实开发技术[9],并具有兼容操作系统、跨平台发布并部署、人机交互功能强大等特点的Unity3D三维虚拟引擎[10],侧重船舶机舱各系统机损事故的情景再现,并利用语音播报配合文字提示与视频播放三者同步进行,实现生动、有效的船舶机损事故的虚拟仿真和案例教学。
2软件功能
2.1功能概述
图1船舶机损案例教学流程
船舶机损事故虚拟仿真软件分为机舱系统选择、事故类型选择、开始自动播放三个部分,如图1所示。机舱系统选择按照船舶主机舱系统分为七个软件模块,分别是启动系统、调速系统、燃烧系统、换向系统、燃油系统、滑油系统、冷却系统。每个系统模块下包含不同的事故类型选择。选择不同的故障类型可以开始自动播放机损事故的发生经过、分析与处理的流
收稿日期:2020-11-25
基金项目:上海市科技计划“上海船舶智能运维与能效监控工程技术研究中心”项目(项目编号:20DZ2252300)
作者简介:夏禹(1997—),男,江苏连云港人,硕士,研究方向为轮机系统仿真;胡以怀(1964—),男,江苏高邮人,教授,博导,博士后,研究方向为船舶动力装置振动分析、故障诊断、系统仿真及船舶新能源利用;芮晓松(1978—),高工,硕士,研究方向为船舶建造;方云虎(1974—),高工,学士,研究方向为轮机系统设计;张陈(1983—),高工,硕士,研究方向为轮机系统设计。
Computer Knowledge and Technology 电脑知识与技术第17卷第10期(2021年4月)
程,结合视频解说还原事故现场。2.2整体设计
以一艘5000TEU 集装箱船为外形,使用3dsMax 软件进行三维建模。同时建立船员与轮机长人员模型,进行第一人称行走动画制作。再搭建出主机舱、机房、驾驶室和集控室等三维实体模型,利用3dsMax 自带的粒子系统和大气装置制作真实机损事故现场。利用3dsmax 的摄像机进行画面捕捉,必要时在摄像机上加上动画使捕捉的画面更全面真实,使用渲染设置进行.avi 格式视频导出。再利用Unity3D 软件,制作软件的UI 界面,构造便于教学的操作方式。利用C#语言功能,提供文本、语音、视频三者同步自动播放的实现。
本机损事故案例虚拟仿真软件中所包含的事故类型多,不同的故障类型所采用的仿真手法也不一样。现以冷却系统中机舱大量进水、缸套破裂和燃油系统中高压油管燃油漏泄为例,阐述喷射粒子系统、水面特效和火焰特效的开发技术,以及渲染设置方法和自动播放的实现方法。
3
场景搭建和缸套碎裂制作
图2主机缸套破裂制作效果图
场景搭建是虚拟现实技术研究的基础,整个软件以海上航行的整个船体作为主场景,然后选择主机舱作为机损事故发生的次场景。当故障发生的部件在主机上时,可以将场景缩小到整个主机来减少不必要的场景给工作站带来的负担。首先使用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
所示:
图3主海水泵出口阀体泄漏效果图
4.2水面特效
为模拟机舱大量进水特效,需制作舱内水面缓缓上升的效
果。在顶视图创建一个平面,其宽度和长度略大于进水舱,将长度与宽度分段为100,添加噪波‘Noise ’修改器,调整噪波参数,缩小比例为50,增大Z 方向的强度为230mm ,勾选动画噪波,设置频率为1.0。如图4a 为机舱进水特效,图4b 为排水特效。
a )进水特效
b )排水特效
图4机舱大量进水场景效果图
4.3火焰特效
由燃料着火所形成的火灾可分为自着火和强迫着火两种方式。在主机舱场景中,燃油与可燃性气体如甲烷、乙烷、丙烷、天然气、氢气等泄漏,遇金属摩擦撞击产生的火星,就可能生成气体火,属于强迫着火。以燃油系统中主机高压油管燃油
漏泄为例,模拟缸盖上喷油器与高压油管接头处的一股火焰在燃烧,首先在辅助对象里下拉选择大气装置‘Atmospheric Appa⁃ratus ’,点击球体Gizmo 后勾选半球在顶视图确定燃烧中心点创建,然后在环境和效果面板中添加火效果,进行火效果参数‘Fire Effect Parameters ’设置,选择火舌,拉伸1.0,规则性0.3,火焰细节为5.0,密度为30,勾选烟雾,点击拾取Gizmo 对之前创建的半球进行拾取,再对其添加FFD 4×4×4修改器,切换自动关键点模式对其控制点进行动画制作,所渲染的火焰效果如下图5
所示。
图5火焰燃烧特效图
5场景漫游实现与渲染设置
本软件场景漫游采用摄像机视野捕捉漫游,首先以机损部件为目标创建一台摄像机,在视图选择中选择摄像机视图,通过3dsMax 界面右下角的缩放、视野、平移、环绕四个主要按钮来调控摄像机视野大小与方向,通过Ctrl+Alt+鼠标右键来调整帧数条范围,开启自动关键点捕捉来设置关键帧视角,可以简单实现漫游动画。
本软件所用的渲染器由3dsMax 插件公司Chaosgroug 开发的Vray 渲染器[12],是以插件的形式和3dsMax 相匹配的,Vary 自带的灯光系统和材质库,后期渲染时与之配合会得到更快更好的渲染效果。在渲染设置窗口中选择时间输出为活动时间段,输出大小自定义为800×600,渲染输出格式选择.avi 且设置如图6所示,可以快速导出样本视频。成品视频导出操作前面与样本视频操作一样,只是在导出时选择格式为Jpeg 格式,设置如图6所示,3dsMax 会自动按顺序渲染成序列帧,在后期软件如Alias 、Premier 或Ae
等将当前序列帧合在一起输出成动画。
图6渲染格式设置界面
6同步自动播放的实现
dz插件
在Unity3D 中将软件的UI 界面制作完成后,为了达到语音、文字、视频三者同步自动播放的效果,我们以文字播放速度配合语音,以视频播放速度配合文字,通过C#语言的功能来进行协同控制。6.1语音播放控制
依据机损事故案例的发生经过、分析与处理流程而录制好
mp3格式的语音播报,在Unity3D 场景中的主摄像机‘MainCam⁃era ’上建立AudioSource 控件,勾选Loop 和PlayOnAwake ,将音频拖入AudioClip 框中。这样刚进入场景就会开始循环播放语音解读。6.2文字播放控制
首先以 =""来清空界面文本框内的文字,文字开始播放的时间通过代码yield return new WaitForSeconds(start⁃Pause)中的startPause 来控制,文字弹出速度代码设计如下:foreach (char letter in word.ToCharArray()){
< +=letter;
yield return new WaitForSeconds(letterPause)}
这样就可以通过文字开始弹出的时间和一个一个弹出的速度来进行和语音播放同步化控制。6.3视频播放控制
利用在UI 中的RawImage 上添加VideoPlayer 控件来进行视频播放控制,同样勾选Loop 和PlayOnAwake ,AudioOutputMode 选择Direct 模式,获取场景中的对应组件后,通过代码rawIm⁃ure =ure 将VideoPlayerd 的视频渲染到UGUI 的RawImage ,赋值当
前视频的播放时间后,通过video⁃ =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 /video⁃Player.clip.length)把当前视频播放的时间比例赋值到Slider 上,通过将当前的Slider 比例值转换为当前的视频播放时间,代码设计如下:private void SetVideoTimeValueChange(){
videoPlayer.time =videoTimeSlider.value *videoPlayer.
clip.length;
}语音、文字、视频三者通过同一按钮控制播放与暂停代码设计如下:
void OnSoundClick(){
if (music.isPlaying){videoplayer.Pause();
="播放";Time.timeScale =0;music.Pause();}else{
videoplayer.Play();
="暂停";
Time.timeScale =1f;
music.Play();}}这样,我们在选择完机损事故案例点击进入场景后,就会自动开始同步播放语音、文字和视频,且通过一个按钮控制三者同步开始与暂停。
7结束语
船舶机损事故案例的主机舱内部系统的场景搭建和机损
(下转第25页)
然后,在本设计方法的实例系统中,刷新计算机绘图窗口上的管系图,使之与上述设计优化后得到的数据一致。
最后,系统自动生成最终优化好的管系设计图及相应的水力计算表。设计人员检查确认无误后,启动材料计算程序,输出工程图纸、计算表和施工材料清单。
7结束语
上述虹吸式屋面雨水系统计算机辅助设计方法,以计算机为工具,将水力计算及条件验算融合到屋面
雨水排水系统的平面图绘制过程中,形成了一个虹吸式屋面雨水排水系统设计的自动化系统。本办法使用固定图符来表示所绘制的排水系统的管件,在辅助绘图过程中,通过自动识别技术,管件只需放置在管系图的某一点附近,即可被自动安置入管系中,无须通过人工方式逐一去挪移和对接接头,提高了绘图效率。本办法巧妙地安排了水力计算的参数初值及合规验算的次序和方法,通过生成各管段及各干流所允许的最小、最大管径,利用“允许管径矩阵表”方法进一步优化各干流最小管径,使后续的管系优化过程只需单向地往大调整管径,并且调整次数少,避免了水力计算过程的递归反复,从而大大地提高推算管径的效率,并使自动生成的管系最简省。在计算得各管段及干流的最小允许管径和利用验算规定四计算得最大允许管径,进而获得所有可选管径后,按水流方向,依次调节各关键节点(即三通、悬吊管与立管交点、排出口)的入口管段的管径,使之满足节点压力平衡条件,即验算规定二、验算规定三和验算规定五,即可完成最终管径的选定。然后,在确定管系的所有管段管径后,能够自动地添加弯管、三通管、异径管等管件,无须人工干预,使管系按最优可用管件无缝套接。最后,可直接输出设计的工程图纸、水力计算表和施工材料清单。
本设计方法能极大地节省虹吸式屋面雨水排水系统设计中所需要的脑力、体力和时间,更精确地设计出满足水力计算验算规定的最经济节省的屋面雨水排水系统。考虑到实际工作中,各设计单位一般都是基于电子版的建筑物设计图,并使用与建筑设计相似的通用软件(如AutoCAD)来规划设计屋面雨水系统的布局图,然后再通过水力计算来确定雨水系统的设计参数。下一步,我们将研究建筑设计软
件的数据文件规格与接口,争取从建筑设计软件生成的雨水系统布局图中,直接识别出管系模型,从而进一步提高本文设计方法的自动化程度,使设计人员无需用不同的设计软件重复绘制雨水系统管系平面图,更加省时省力地迅速获得与建筑物相应的虹吸式屋面雨水排水系统。
参考文献:
[1]吴焕吉,王竹,吕晖,等.屋面雨水排水系统五十年回顾[J].给
水排水,2013,39(9):108-112.
[2]刘刃虹.浅析虹吸式雨水排水系统与重力式雨水排水系统[J].中国工程咨询,2017(8):74-75.
[3]张沙,王文海,杨金华.虹吸式屋面雨水排水系统设计软件[J].
北京建筑工程学院学报,2011,27(1):56-59.
[4]王文瑾.大型屋面虹吸雨水排水系统设计计算研究[D].北京:
北京交通大学,2018.
[5]潘俊杰,何蓉.压力流虹吸式屋面雨水排水系统的设计与应
用探讨[J].中国给水排水,2011,27(14):27-30.
[6]徐得潜,贺忆.虹吸式屋面雨水系统设计方法探讨[J].中国给
水排水,2014,30(8):49-52.
[7]王英.虹吸式屋面雨水系统设计[J].建材技术与应用,2017(5): 31-33.
[8]赵筱阳,谢颖.湖南工程学院体育馆屋面(虹吸)压力流雨水系
统水力分析[J].湖南工程学院学报(自然科学版),2012,22(1): 88-91.
[9]熊曦,归谈纯.一种虹吸式屋面雨水排水系统简易估算方法[J].给水排水,2014(6):80-84.
[10]中国工程建设标准化协会.虹吸式屋面雨水排水系统技术
规程:CECS183—2015[S].北京:中国计划出版社,2015. [11]孙瑛.压力流(虹吸式)屋面雨水排水系统水力计算[J].给水
排水,2002,28(1):77-81.
【通联编辑:谢媛媛】
(上接第3页)
部件模型建立,可以利用3dsMax构建高效、高质量的视频渲染体验,且可以在Unity3D中实现自动控制语音、视频、文字同步播放的效果。该软件用于学员的船舶机损事故案例教学,可以节约教学成本,提高教学效果,有良好的应用前景。
参考文献:
[1]胡以怀,陈宝忠,邹建军.船舶机损案例的人为因素失误分析[J].中国航海,2004(3):3-6,17.
[2]胡以怀.船舶机损事故分析及安全评估[M].北京:人民交通出
版社,2013.
[3]李治军.基于Unity3D的船舶舵机舱虚拟现实设计与研究
[D].大连:大连海事大学,2014.
[4]江恒.基于Unity3D的无人艇视景系统开发研究[D].武汉:武
汉理工大学,2016.
[5]Ye Ting,Chen Feng,Wang Wenqiang,et al.Design and Realiza⁃tion of Ship Fire Simulation Training System Based on Uni⁃ty3D[C].IOP Conference Series:Earth and Environmental Sci⁃
ence,2018,108(5).
[6]何隽.Unity3D船舶损管训练虚拟仿真系统的设计与实现[J].
电脑知识与技术,2019,15(17):246-248.
[7]王雨生.基于Unity3d的虚拟船舶仿真研究[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 model⁃ing a class of fuzzy objects[J].ACM SIGGRAPH Computer Graphics,1983,17(3):91-108.
[12]李利明.3DMAX中常用渲染插件特点解析[J].漯河职业技
术学院学报,2013,12(2):68-69.
【通联编辑:谢媛媛】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。