2024年3月11日发(作者:)
ISSN1009-3044
ComputerKnowledgeandTechnology
第17卷第10期(2021年4月)
电脑知识
与技术
Vol.17,No.10
April
2021
E-mail:*************.cn
Computer
http
KnowledgeandTechnology
电脑知识
与技术
://
Tel:+86-551-6569
基于Unity3D的船舶机损事故虚拟仿真软件的开发
夏禹
1
,胡以怀
1
,方云虎
2
,张成
2
,芮晓松
2
(1.上海海事大学商船学院,上海201306;2.招商局金陵鼎衡船舶(扬州)有限公司,江苏江都225217)
摘要:针对船舶机损事故在现实中难以重现的特殊性和危险性,通过建立船舶机损事故现场模型,综合利用3dsMax和Uni⁃
ty3D软件设计开发了船舶机损事故案例虚拟仿真软件,以3D虚拟播放的方式展现各种机损场景。着重介绍了虚拟仿真
软件的开发技术和实现过程,包括场景搭建和缸套碎裂制作、软件特效开发、场景漫游和渲染设置等,简化了UI界面设计
和视频播放自动化的方法,起到了很好的船舶事故教学培训效果。
关键词:Unity3D;船舶机损事故;3dsMax模型;虚拟仿真
中图分类号:TP391文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2021)10-0001-03
1背景
在船舶系统中主机舱设备是事故发生率最高的部位,且其
故障而引发的事故往往是较大事故,会造成较大的经济损失
[1]
。
2015年12月3日,东莞市海龙疏浚工程有限公司所属的无动力
工程船“海龙浚1号”轮由“大跃”轮拖带从山东潍坊驶往辽宁
盘锦,在大连普兰店湾附近水域抛锚避风期间,“海龙浚1号”
轮进水沉没。据调查,事故原因与该工程船遭遇大风浪,通风
管没有及时关闭,海水通过通风管灌入机舱致使船舶储备浮力
丧失有关。另外还存在拖带人员处置经验不足、应急预案不全
面的问题。船舶机损事故类型多,成因复杂,应对和处理难度
大,受场地、时间等因素制约且不存在真实的船舶应急事故处
理的训练现场(如主机起火与机舱进水等)。如果能建立一套
船舶机损事故案例虚拟仿真软件,用于船舶机损事故的案例教
学和应急训练,使船员通过事故案例重演的方式从以往的机损
事故中获得经验教训,以掌握船舶机损事故现场情况和应对处
理流程,可以实现船舶应急情况分析和机损事故处理工作的高
效化、科学化,这也说明了开发一套船舶机损事故虚拟仿真软
[2]
件的必要性。
近年来,针对船舶虚拟仿真系统的研究主要有:李治军
[3]
实
现了虚拟舵机舱室的漫游与交互;江恒
[4]
开发和设计了无人艇
视景系统;YeTing等
[5]
引入虚拟现实技术来构建一套船舶火灾
模拟训练系统;何隽
[6]
设计开发了船舶损管虚拟仿真训练系统;
王雨生
[7]
实现船舶航行状况模拟、船舶驾驶舱和轮机舱虚拟漫
游,以及船舶入港停靠等功能;陆冬青等
[8]
为船舶操纵的教学训
练和科学研究提供了有效手段。
上述研究主要针对虚拟机舱和虚拟航行,较少涉及对多种
类型船舶机损案例进行虚拟仿真的研究。本软件采用基于
Unity3D的虚拟现实开发技术
[9]
,并具有兼容操作系统、跨平台
发布并部署、人机交互功能强大等特点的Unity3D三维虚拟引
擎
[10]
,侧重船舶机舱各系统机损事故的情景再现,并利用语音
播报配合文字提示与视频播放三者同步进行,实现生动、有效
的船舶机损事故的虚拟仿真和案例教学。
2软件功能
2.1功能概述
图1船舶机损案例教学流程
船舶机损事故虚拟仿真软件分为机舱系统选择、事故类型
选择、开始自动播放三个部分,如图1所示。机舱系统选择按
照船舶主机舱系统分为七个软件模块,分别是启动系统、调速
系统、燃烧系统、换向系统、燃油系统、滑油系统、冷却系统。每
个系统模块下包含不同的事故类型选择。选择不同的故障类
型可以开始自动播放机损事故的发生经过、分析与处理的流
收稿日期:2020-11-25
基金项目:上海市科技计划“上海船舶智能运维与能效监控工程技术研究中心”项目(项目编号:20DZ2252300)
作者简介:夏禹(1997—),男,江苏连云港人,硕士,研究方向为轮机系统仿真;胡以怀(1964—),男,江苏高邮人,教授,博导,博士
后,研究方向为船舶动力装置振动分析、故障诊断、系统仿真及船舶新能源利用;芮晓松(1978—),高工,硕士,研究方向
为船舶建造;方云虎(1974—),高工,学士,研究方向为轮机系统设计;张陈(1983—),高工,硕士,研究方向为轮机系统
设计。
本栏目责任编辑:王力
本期推荐
1
ComputerKnowledgeandTechnology
电脑知识
与技术
程,结合视频解说还原事故现场。
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度,可
2
本期推荐
第17卷第10期(2021年4月)
以锁住尺寸编辑面板方便观察,
90
面和切割效果如图
度,限制开裂上限为
2所示。
1000mm,
选择
即可拖动
Y轴为弯曲轴将方向调为
Y进行开裂。噪波平
4软件特效
1983
本软件特效实现主要依赖与粒子系统,粒子系统最早在
算法之一,
年由ReevesWT
[11]
提出,是当今较好地模拟不规则运动的
3dsMax
能较真实地还原火、水汽、烟、水流等自然现象。
始速度向量、
粒子系统中粒子的行为参数包括粒子生成速度、
粒子寿命、粒子颜色、在粒子生命周期中的变化以
粒子初
及其他参数等,可以模拟随时间不断产生、生长和消亡的动态
粒子效果。
4.1喷射粒子特效
以机舱大量进水故障类型中主海水泵出口阀体泄漏为例,
选择粒子系统‘ParticleSystems’中的超级喷射‘SuperSpray’并
点击按钮在阀体漏水的位置创建,创建时选择顶视图确定喷射
中心,通过旋转180度调整发射器指向向下,创建完成后在修
改面板调整粒子分布为轴扩散30度和平面扩散70度,选择发
射器隐藏,粒子百分数为80%,粒子数量为70,发射从0帧开始
到
40mm
100帧结束,寿命为20
所示:
。即可渲染出0~100
帧,
帧的漏水动画。漏水效果如图
选择粒子形状为球体,粒子大小为
3
图3主海水泵出口阀体泄漏效果图
4.2水面特效
为模拟机舱大量进水特效,需制作舱内水面缓缓上升的效
果。在顶视图创建一个平面,其宽度和长度略大于进水舱,将
长度与宽度分段为100,添加噪波‘Noise’修改器,调整噪波参
数,缩小比例为50,增大Z方向的强度为230mm,勾选动画噪
波,设置频率为1.0。如图4a为机舱进水特效,图4b为排水
特效。
a)进水特效
图4机舱大量进水场景效果图
b)排水特效
4.3火焰特效
由燃料着火所形成的火灾可分为自着火和强迫着火两种
方式。在主机舱场景中,燃油与可燃性气体如甲烷、乙烷、丙
烷、天然气、氢气等泄漏,遇金属摩擦撞击产生的火星,就可能
生成气体火,属于强迫着火。以燃油系统中主机高压油管燃油
本栏目责任编辑:王力
第17卷第10期(2021年4月)
漏泄为例,模拟缸盖上喷油器与高压油管接头处的一股火焰在
燃烧,
ratus
建,然后在环境和效果面板中添加火效果,
’
首先在辅助对象里下拉选择大气装置
,点击球体Gizmo后勾选半球在顶视图确定燃烧中心点创
‘AtmosphericAppa⁃
进行火效果参数
‘FireEffectParameters’设置,选择火舌,拉伸1.0,规则性0.3,火
焰细节为5.0,密度为30,勾选烟雾,点击拾取Gizmo对之前创
建的半球进行拾取,再对其添加FFD4×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同步自动播放的实现
在Unity3D中将软件的UI界面制作完成后,为了达到语
音、文字、视频三者同步自动播放的效果,我们以文字播放速度
配合语音,以视频播放速度配合文字,通过C#语言的功能来进
行协同控制。
6.1语音播放控制
依据机损事故案例的发生经过、分析与处理流程而录制好
本栏目责任编辑:王力
ComputerKnowledgeandTechnology
电脑知识
与技术
mp3
era
频拖入
’上建立
格式的语音播报,
AudioClip
AudioSource
在
框中。这样刚进入场景就会开始循环播放语
控件,
Unity3D
勾选
场景中的主摄像机
Loop和PlayOnAwake
‘MainCam⁃
,将音
音解读。
6.2文字播放控制
首先以=""来清空界面文本框内的文字,文字开始
播
Pause)
放的时间通过代码yieldreturn
foreach
中的
(char
startPause
letter
Array()){
来控制,文字弹出速度代码设计如下:
newWaitForSeconds(start⁃
这样就可以通过文字开始弹出的时间和一个一个弹出的
yieldreturn
+=letter;
newWaitForSeconds(letterPause)}
速度来进行和语音播放同步化控制。
6.3视频播放控制
利用在UI中的RawImage上添加VideoPlayer控件来进行视
频播放控制,同样勾选Loop和PlayOnAwake,AudioOutputMode
选择
e
Direct
UGUI
=
模式,
e
获取场景中的对应组件后,
将VideoPlayerd
通过代码rawIm⁃
的RawImage
D2}:{5:D2}",currentHour,
=("{0:D2}:{1:D2}:{2:D2}
,赋值当前视频的播放时间后,
的视频渲染到
通过
/
video⁃
clipMinute,
currentMinute,currentSecond,
{3:D2}:{4:
clipHour,
通过代码
)
clipSecond)把当前视频播放的时间显示在Text上,
上,通过将当前的
把当前视频播放的时间比例赋值到
=(float)(/video⁃
Slider比例值转换为当前的视频播放时间,
Slider
代码设计如下:
;
privatevoid
=
SetVideoTimeValueChange(){
*videoPlayer.
语音、
}
文字、视频三者通过同一按钮控制播放与暂停代码
设计如下:
voidOnSoundClick(){
();
if(ing){
text_
ale
="播放";
}
();
=0;
else{
();
ale
text_="
();
=1f;
暂停";
这样,
}
}
我们在选择完机损事故案例点击进入场景后,就会
自动开始同步播放语音、文字和视频,且通过一个按钮控制三
者同步开始与暂停。
7结束语
船舶机损事故案例的主机舱内部系统的场景搭建和机损
(下转第25页)
本期推荐
3
第17卷第10期(2021年4月)
ComputerKnowledgeandTechnology
电脑知识
与技术
然后,在本设计方法的实例系统中,刷新计算机绘图窗口
上的管系图,使之与上述设计优化后得到的数据一致。
最后,系统自动生成最终优化好的管系设计图及相应的水
力计算表。设计人员检查确认无误后,启动材料计算程序,输
出工程图纸、计算表和施工材料清单。
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]YeTing,ChenFeng,WangWenqiang,andRealiza⁃
tionofShipFireSimulationTrainingSystemBasedonUni⁃
ty3D[C].IOPConferenceSeries:EarthandEnvironmentalSci⁃
本栏目责任编辑:王力
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]lesystems—atechniqueformodel⁃
ingaclassoffuzzyobjects[J].ACMSIGGRAPHComputer
Graphics,1983,17(3):91-108.
[12]李利明.3DMAX中常用渲染插件特点解析[J].漯河职业技
术学院学报,2013,12(2):68-69.
【通联编辑:谢媛媛】
本期推荐
25
发布者:admin,转转请注明出处:http://www.yc00.com/news/1710143358a1707957.html
评论列表(0条)