胡建忠
摘要:
虚拟操作训练是以培训新职手掌握装备操作过程为目的的虚拟仿真训练,能有效避免实装训练中的场地规模限制和装备异常损耗等问题,是虚拟现实技术在机电工程领域应用研究的主要方向之一。以ZYRO-1.5型船用反渗透海水淡化装置为研究对象,在三维建模和视频剪辑的基础上,基于Unity引擎开发了虚拟操作训练仿真软件。该软件可以实现更加自然的人机交互方式和更加真实的水流动态效果,对激发学习兴趣、增强感性认识、促进理性理解、提升实践能力等具有重要作用。
关键词:
unity3d;海水淡化装置;虚拟操作;训练仿真
DOIDOI:10.11907/rjdk.172348
中图分类号:TP319
文献标识码:A文章编号文章编号:16727800(2018)003010803
英文摘要Abstract:Purpose of virtual operation training is training new job hand grasp equipment operation process for the purpose of virtual simulation training, effectively avoid the livefire training venue size limit and the abnormal of equipment loss, etc., is a virtual reality technology in the field of mechanical and electrical engineering application research of one of the main direction.Methods to marine reverse osmosis desalination device as the research object, on the basis of 3 d modeling and video clips, based on the unity engine virtual operation training simulation software is developed.Conclusion the experiment can achieve a more natural way of humancomputer interaction and more real flow dynamic effect.The results of the simulation software to stimulate interest in learning, enhance the perceptual knowledge, promote the rational understanding, improve practice ability, etc.
英文關键词Key Words:unity3d; sea water desalting plant; virtual operating; training simulation
0引言
海水淡化装置是舰船长期海上航行中改善舰员生活水平、维持其它装备运行所需淡水供给的重要设施[1]。反渗透膜是海水淡化装置中最重要的组件,一旦操作不当,即会造成膜组件损坏。另外,为了提高产水量和水质,延长膜组件使用寿命,在制水过程中,需要对海水进行预先过滤处理,要求管理人员严格按照规程操作,熟练使用该类型装备[23]。
虚拟操作是虚拟现实技术与动力学、运动学相结合的一种技术,是以培训新职手掌握装备操作过程为目的的虚拟仿真训练[4]。舰船机电装备、系统比较复杂,在实装上培训操作职手不仅周期较长,而且训练过程中对装备进行频繁的启动与停止作业,容易对装备造成异常损耗[5]。另外,新职手在操作过程中,由于程序不熟练、心理紧张等原因,容易出现误操作,导致装备损坏或人员伤亡等安全事故发生[6]。本文以ZYRO-1.5型船用反渗透海水淡化装置为例,详述其设计思路和开发流程,并着重解决同类型虚拟操作训练仿真软件中人机交互不自然、装备动态运行效果较差等问题。
1虚拟操作训练仿真中的VR关键技术
虚拟操作训练仿真中的VR关键技术有:建模技术、三维渲染技术、人机交互技术等。
1.1建模技术
设计虚拟现实系统的基础工作是创建一个逼真的虚拟环境,该环境包括三维模型、立体声音等。常用的建模技术有几何建模、运动建模、软体建模等。虚拟现实中的建模技术,不仅要满足形状和外观的需要,而且还要满足交互显示、交互操作、易于构造等方面的要求。
几何建模是建模技术中最为基础的技术。根据对几何与拓扑信息的描述及存储方法的不同,几何建模技术可分为线框建模、表面建模、实体建模3种主要类型。
运动建模是在创建模型时,不仅赋予模型外形、质感等表现特征,而且也赋予模型物理属性和相应的行为能力与反应能力,并且服从一定的客观规律。
软体建模比较复杂,其在外力作用下发生形变或拓扑结构改变,涉及力的反馈问题,主要体现了重量、表面变形、软硬度等物理属性 [7]。
1.2三维渲染技术
三维渲染技术以计算机渲染能力为基础,虽然目前GPU性能得到了很大的提升,但在处理高精细化的大型场景时也往往能力不足。当前该技术的研究方向主要集中在降低GPU的消耗上。如Nvidia的多重分辨率着色渲染技术-MRS(Multi-Resolution Shading),采用分区域差别分辨率的方法,降低GPU的消耗;国内某公司的焦点渲染技术(Foveated rendering),在MRS基础上,采用眼球追踪技术,使人眼关注的焦点区域高分辨率显示,而其它区域从焦点向外逐步递减显示。其它相似的技术有FOVE和Eyefluence等[8]。
1.3人機交互技术
人机交互技术是指通过外部设备与界面进行交互操作的具体方法。该技术包含了三维交互、姿态交互、手持移动设备交互、语音交互、力/触觉交互和多通道交互技术等。本文开发的虚拟训练仿真软件,主要采用三维交互技术。三维交互技术是虚拟现实最主要的交互方式,它比二维交互提供了更多的操作自由度,能完成更加复杂的交互任务[9]。
2虚拟操作训练仿真软件功能要求与设计思路
2.1功能要求
反渗透海水淡化装置虚拟操作训练仿真软件应该具备两个主要功能:一是真实装备操作演示功能;二是虚拟装备的操作训练功能。为更好地实现这两个功能,软件开发的总体要求是:①实体建模,使虚拟装备与环境更加贴近实际;②操作演示功能应有字幕、配音等提示,并由用户自行控制演示进度;③操作训练功能应具有和实际装备相似的交互方式和运行效果。
2.2设计思路
为实现上述功能并满足总体要求,本软件的设计思路是:首先,利用3Dmax软件对海水淡化装置进行实体建模和渲染;其次,录制实际操作过程的视频,利用非线性编辑软件Premiere进行剪辑、字幕制作、配音等操作,并导出一个完整的操作演示视频和若干个声音片段;再次,在三维引擎Unity中分别进行主界面、视频演示和虚拟操作训练等场景的交互设计;最后,将工程发布到PC平台,生成应用程序。
3Unity中各场景交互设计
3.1主界面交互功能实现
3.1.1主场景中应实现的功能
主场景主要用于运行应用程序时进入的第一个界面,该界面应具有如下5个功能:①体现应用程序特点的背景图片;②海水淡化装置简介;③应用程序功能介绍;④切换到其它场景;⑤退出应用程序。
3.1.2主界面交互功能实现
主场景中的背景图片和标题无需交互。退出按钮只需在点击时调用Application.Quit方法即可实现,切换场景按钮只需在点击时调用SceneManager.LoadScene方法即可实现,介绍文本的显示与隐藏功能是通过GameObject.SetActive方法实现的。
3.2操作演示场景交互功能实现
3.2.1操作演示场景应实现的功能
该场景用于播放操作演示的视频。为了让受训对象更好地控制视频播放,需要定制一个播放器,在该播放器中应能实现播放/暂停、停止、播放速度控制、播放进度控制、播放时间显示、播放音量控制等功能。另外,该场景应该能实现场景切换和程序退出等功能。
3.2.2操作演示场景中主要交互功能实现
(1)视频总时间与当前播放时间显示。视频总时间为视频片断的长度myVideo.length,应在初始时显示并且在视频播放过程中保持不变,因此其在Start函数中实现。而当前播放时间取自播放器的播放时间myVideoPlayer.time,其在播放过程中是动态变化的,因此须在Update函数中实现。由于获取的时间为浮点类型数值,无法直接转化为时间格式的字符串值,因此在显示之前需作相应的转换。
(2)播放进度的控制。播放进度主要设置了播放/暂停、停止、快速播放、慢速播放、播放至上一节点、播放至下一节点6个Button控件,主要通过调用VedioPlayer中的play、pause、stop和playbackSpeed等函数实现。对于播放进度跳转到邻近节点的功能,则通过给VideoPlayer中的time字段赋值实现。
3.3虚拟操作场景交互功能实现
虚拟操作是海水淡化装置虚拟操作训练仿真软件设计的核心,它既要求虚拟装备中的阀门、按钮、手柄等操作部位具有良好的交互性,也要求操作过程中受控对象如指示灯、液晶屏、泵等具有和真实装备一样的反馈,同时要求训练场景、设备运行效果等具有逼真的效果。
3.3.1环境动态建模功能实现
本设计利用两层循环遍历在相应位置实例化生成指定的预设体对象,随即构成包含地板、吊顶、墙体、立柱、地脚线等对象的室内环境。其实现代码为:
for(int i=0;i<=10;i++){
for(int j=0;j<=10;j++){
Instantiate (floor,new Vector3(-9+2*i,
0,-17+2*j), Quaternion.identity);} }
该方法在Start函数中调用,因此当程序运行时就自动创建室内环境。
3.3.2虚拟操作交互设计
为了使虚拟操作时装备的响应方式与实际装备相一致,应先画出实际装备的控制流程图。主程序控制功能必须严格按照流程图设计。
(1)阀门操作交互功能的实现。阀门的交互操作实现方式较为简单,即当鼠标进入阀门上的碰撞体时,变换光标形状,当点击鼠标左键时,播放阀门开关的动画片断,并将表示阀门开关状态的布尔变量赋予相应的值。
(2)指示灯开关和泵运行控制。当控制箱上的旋钮开关处于相应位置时,控制箱面板上的指示灯亮,且对应的供水泵或高压泵运行。其实现思路是动态获取控制箱上两个旋钮的位置状态信息,以此控制灯的开关和泵的启停。其主要代码为:
if (powerController.GetComponent
if (RotaryKnob_Filter.GetComponent
light_feedPump.GetComponent
audio_feedPump.GetComponent
feedPumpRun = true; }
if (RotaryKnob_System. GetComponent
light_highPressurePump.GetComponent
audio_highpressurePump.GetComponent
enabled = false;
highPumpRun = false; }}
所有代码编写完成后,将脚本挂载到相应的场景对象上,并进行对应的设置,即可运行程序。
3.4调试优化与发布
3个场景交互设计全部完成后,需在编辑器中运行调试,查找程序Bug以及与实际装备操作、运行效果不相符的问题。这些问题逐一解决后,就可以将工程发布到PC平台上。发布完成后生成两个文件,一个为可执行文件,一个为数据文件,两个文件共计498MB。
4结语
反渗透海水淡化装置作为舰船的重要装备之一,需要管理人员严格按照规程操作使用。本文在三维实体建模、操作视频录制与剪辑等工作的基础上,对照实际装备的操作控制流程,基于Unity引擎开发了ZYRO-1.5型船用反渗透海水淡化装置虚拟操作训练仿真软件。通过在不同场合的应用发现,该软件运行稳定,具有操作方便、画面与声效逼真、沉浸感强等优点,对激发学习兴趣、增强感性认识、促进理性理解、提升实践能力等作用显著。
参考文献参考文献:
[1]苗超,谢春刚,冯厚军,等.船用海水淡化技术发展现状与研究建议[J].船舶工程,2011,33(6):69.
[2]反渗透海水淡化装置[EB/OL]. http://www.sp.com.cn.
[3]汪国祥,干秦湘,刘潜,等.反渗透海水淡化技术在舰船上的应用研究[J].舰船科学技术,2005,27(z1):710.
[4]张海春,陆阿定.反渗透海水淡化预处理技术研究现状[J].能源环境保护,2010,24(3):14.
[5]梅继红.VR系统中的虚拟操作技术研究[D].北京:北京航空航天大学,2002.
[6]贾晨星,朱元昌,邸彦强.装备虚拟操作训练的过程建模方法研究[J].计算机测量与控制,2011,19(12):31023104.
[7]陈怀友,张天驰,张菁.虚拟现实技术[M].北京:清华大学出版社,2012.
[8]武娟,刘晓军,庞涛,等.虚拟现实现状综述和关键技术研究[J].广东通信技术,2016(8):4046.
[9]张凤军,戴国忠,彭晓兰.虚拟现实的人机交互综述[J].中国科学,2016,46(12):17111736.
责任编辑(責任编辑:刘亭亭)