APP下载

基于Android的船舶辅机虚拟拆装研究

2019-06-24刘莹徽薛涵谢泽龙

科技创新与应用 2019年13期
关键词:移动端虚拟现实

刘莹徽 薛涵 谢泽龙

摘  要:針对传统的船舶辅机拆装技术培训,采用真实设备,周期长,设备老旧且易损耗等问题,老师一人讲课,学生多人听课等等不足,从而开发出基于虚拟现实的船舶辅机拆装移动端应用。该应用借助3dsMax进行船舶辅机设备模型制作,并通过Unity3D引擎实现单人单机自主完成船舶辅机拆装过程,在Android平台发布应用。该应用有效解决了现实拆装中场地限制,费时费力等问题。使船舶辅机拆装教学可随时在手机端进行,降低教学成本。经过调查研究,学生反应良好,该应用能平稳运行。

关键词:虚拟现实;船舶辅机设备;单人自主拆装;移动端

中图分类号:U676.2        文献标志码:A 文章编号:2095-2945(2019)13-0034-04

Abstract: In view of the traditional ship auxiliary equipment disassembly and assembly technology training, is the use of real equipment, long cycle, old equipment easy to wear and tear, and other problems, teachers give lectures, students attend classes and so on, and so on. Therefore, the application of ship auxiliary machine disassembly and assembly mobile terminal based on virtual reality is developed. With the help of 3dsMax, the model of ship auxiliary equipment is made, and the process of disassembly and assembly of ship auxiliary equipment is completed independently by single machine through Unity3D engine, which is published and applied in Android platform. The application effectively solves the problems of site limitation, time-consuming and laborious in real disassembly and assembly. The teaching of ship auxiliary equipment disassembly and assembly can be carried out at any time on the mobile phone, and the teaching cost can be reduced. After investigation and research, the students' response is good, and the application can run smoothly.

Keywords: virtual reality; ship auxiliary equipment; single autonomous disassembly and assembly; mobile terminal

前言

对于海船船员来说,“船舶辅机拆装课程”是非常重要的必修科目,还是海事局规定的船员适任证书的评估科目。在航海类院校的实际教学中,往往存在老师少,学生人数众多,设备少且陈旧,教学时间紧张,场地限制等问题。学生很难熟练掌握拆装方法,实践时间大大减少,动手能力不容易得到提升,解决这一现状十分必要。

随着科学技术的不断进步,虚拟现实技术慢慢出现在我们的生活中。我们目前常见的是VR眼镜,人们带上它,不仅可以带来视觉上的仿真,还可以听到特定情境下所发出的声音。这是目前虚拟现实技术的一种体现方式。高的浸入感,逼真的视听觉,让人身临其境一般。但是,虚拟现实技术的使用只是冰山一角。当前,我们必须借助复杂的虚拟现实设备才能体验。用户与虚拟现实设备的交互性比较差,还不够完善。其次,承载虚拟现实技术的设备类型不够多样,功能不够良好。这些不足也大大制约了虚拟现实技术发展。

针对上述存在的问题,本文开发出一款以虚拟现实为基础,进行船舶辅机拆装的移动端应用。它为学生提供随时随地,不限时长,高沉浸感的交互式虚拟训练场所,以及单人单机的高仿真操作环境。并有效解决了实际拆装中所遇到的问题,让学生沉浸在计算机创造的三维仿真环境之中。

1 系统概述

1.1 系统需求分析

现如今,网络与移动端飞速发展,手机应用成为人们必不可少的工具,对于大学生,更是出现了手机不离手的现状,而随着计算机视觉技术的进步,虚拟现实技术逐渐进入大众的视野,通过虚拟现实技术,人们可以进入计算机中的模拟世界,辅以专用的硬件系统,与模拟世界进行交互,达到身临其境的真实感。起初,虚拟现实技术主要用于娱乐领域,但随着计算机硬件,软件的不断发展,此项技术被广泛运用于教育,军事,航空航天等领域,而以目前来讲,虚拟现实技术已经到了快速发展阶段,将虚拟现实应用在船舶拆装中,不但可以还原真实拆装环境,还能减少人力物力的耗费,但是针对PC端难以随身携带的问题,我们利用Unity与Android sdk发布其移动端应用,还可以让学生随时随地对设备的部件进行探索与拆装。

本系统首先要保证虚拟拆装环境与实际拆装环境的高度相似,让学生有较好的沉浸感和交互性。其次,要保证系统操作时的连贯性,物理动作要顺畅自然,没有明显的卡顿。最重要的是,要兼容大多数移动端(安卓),要让其能够平稳的在移动端中运行。

1.2 系统功能

基于虚拟现实的船舶辅机拆装应用在使用过程中,占空间小,便捷实用,不受场地约束,摆脱复杂的数据线,仅仅需要用户将应用安装在移动端上,就能实现相关操作。学生安装好应用,进入系统中,可对操作设备进行选择,并选择相应的模式进行学习训练,系统功能框架如图1。

(1)自动演示模式:此模式主要用于模型的基本介绍和自动爆炸演示,让用户了解设备的基本信息和内部结构,并以拆装动画的形式展示拆装过程。

(2)手动拆装模式:此模式主要用于学生对相应设备的自主拆卸,以及拆卸后的复原。学生练习拆装过程主要依靠此模式完成。

1.3 开发框架

基于虚拟现实的船舶辅机拆装应用的核心在于可以建立人机交互拆装实验平台。系统将相关设备模型加载在数据库中,然后学生通过移动端进行交互操作。

随着计算机网络的不断发展,出现了许多模型制作软件,我们这里使用的是3dsMax和Unity3D,因为这两种软件是我们大学生或者其他领域运用较为普遍和熟练的。本文先利用3dsMax进行模型制作,将真实环境下的船舶辅机设备模型化。并通过Unity3D引擎,给予脚本编写,实现单人单机自主完成船舶辅机拆装过程,最终打包成apk文件,由Android平台发布应用。图2为开发流程图。

2 核心技术

2.1 模型搭建与优化

船舶辅机设备大多为机械设备,并具有明显的几何形状,我们利用3dsMax三维建模软件进行模型搭建,为了让学生能够得到更好的沉浸感,更清晰地对船舶辅机设备内部进行认知,良好的模型搭建是首要的要求。但是对于整个应用来讲,完全1:1的辅机模型,无疑增加了整个模型文件的大小,加大了计算机运算的负担。另一方面,我们还要实现拆装动作,以及演示动画等等交互功能。因此,我们必须既保证相对良好的模型外观,也要保证模型迅速的加载速度,来减少交互时的卡顿现象。

在模型构建实际操作过程中,我们发现模型的多边形数目和节点个数对计算机运算速度有极大的影响,如果使用增加面片的数量来使模型更加细致是很不值得的,我们查阅相关资料,采用了传统三维建模和表面纹理烘焙相结合的方法,在初始建模成型之后,把观察不到的内表面模糊化处理,并且使用3dsMax软件的Rendering to Texture模块对表面纹理进行渲染,这个烘焙功能模块不再是传统地使用面数换取细致结构,取而代之的是通过贴图来渲染模型的表面纹理,达到相同甚至更逼真的效果,这样做既保证了计算机运算的速度,也保证了船舶辅机模型的真实感。图3为油马达模型。

2.2 交互行为定义

在利用3dsMax软件将船舶辅机三维模型导入Unity中之后,如果没有交互行为的控制,拆装系统中的三维模型将会是静止的,不随学生的动作而变化,所以我们对学生于模型之间的交互行为进行定义,有了良好的交互操作,可以使学生在使用中对船舶辅机的内部结构有更深的了解,模型通过交互行为“动起来”,也可以激起学生对拆装过程的兴趣。本系统中的交互行为是用来描述学生在虚拟状态下对船舶辅机三维模型的拆装行为与操作,而合理的交互定义是一个虚拟拆装系统的基础,方便实现虚拟拆装系统中对模型的移动,旋转,拆卸的控制。

本文开发出的船舶辅机虚拟拆装系统属于安卓手机端系统,学生与系统的交互主要由手指来实现,虚拟拆装系统通过学生手指动作,个数等在手机屏幕上做出的动作得到信息,并通过驱动系统给出相应的反馈,通过手机屏幕输出相应结果,例如,手指触摸屏幕上下左右移动,则虚拟拆装系统中的船舶辅机虚拟模型会跟随手指的移动,手指点击螺钉不放,系统中螺钉便会自动旋出。具体交互定义可见图4。

2.3 碰撞检测

在Unity3D中,我们已经赋予设备部件特定的动作,但是,它并不存在真实世界所具有的物理碰撞。也就是说,在模拟虚拟世界中,当一个部件进行移动时,它会从部件内部穿出到运动轨迹延长线以外,并且还可能与设备其它部件产生重叠,违背了物理事实,产生完全不符合常理的场景,这就与虚拟现实良好的沉浸感要求背道而驰。在查阅相关资料以后,我们了解到,为了避免这种情况发生,我们可以采用多种碰撞检测的方法,如方向包围盒检测(OBB),轴向包围盒检测(AABB),球体包围盒检测等,目前,由于Unity3D软件的不断优化,该软件内部携带碰撞检测功能,在Unity3D中包含基本碰撞检测、触发器碰撞检测和角色控制碰撞器等,因为我们的模型运动方式基本为直线运动,所以我们这里使用触发器碰撞检测法或者基本碰撞检测里面的网格碰撞检测法,由于我们最终是输出于移动端使用,所以我们要调整相应的参数,来保证模型所占内存的大小较为合适。然后指定一个处于触发状态的触发器,将我们水位计模型的端盖包含至此触发器之中,这样螺钉与端盖的碰撞检测就转变成了螺钉与触发器之间的碰撞检测。当系统检测到螺钉已完全嵌入端盖后,学生再次点击螺钉则不会继续旋入端盖。

而网格碰撞检测的简要操作流程为,点击Unity3D中菜单栏的Component,找到选项卡Physics中的MeshCollider对于指定对象进行参数编写,然后对MeshCollider进行设置,实现简单的碰撞检测。简要流程如图5。

3 案例演示

按照開发流程,我们将本系统apk安装在安卓客户端上,当应用安装完成后,在开始界面中,我们可以进行设备的选择,本文以油马达为例,演示油马达在手动拆装模式下的操作过程。

当点击油马达模型后,弹出油马达菜单选项界面,可以选择自动演示和手动操作模式或者查看设备简介。自动演示点击后,会弹出动画页面,将对拆装的整个过程进行视频演示,其中包括全部拆卸完毕后的爆炸效果。用户可以通过这个功能了解拆装的顺序以及拆装所需要的工具类型。设备简介则是对于该船舶辅机设备的名称,用途等参数进行详细介绍。当用户点击手动操作模式时,学生可以选择油马达的拆卸或者拼装。并且,在拆装过程中,可以随时还原模型或者返回主界面进行其他模式的学习。

最后,我们让20名同学进行安装试验,进行体验。整个运行过程基本流畅,同学们反应良好。此应用有效的将虚拟现实技术与船舶辅机拆装进行了结合,解决了许多拆装实习中会遇到的问题。整个系统对场景的加载也非常流畅,未出现卡顿以及停滞现象。我们考虑到不同手机的系统差异,我们进行了软件的多次安装,在华为,小米,魅族等客户端下,运行平稳。并且,有效提升了学生学习的热情,为学习过程增加了不少的乐趣。

4 结束语

我们合理的结合了3dsmax的建模和Unity3D开发引擎,让船舶辅机拆装在手机客户端能够轻松实现,大大减少了实际拆装成本。并且该应用中船舶辅机设备的模型类别,我们将不断增加,让设备覆盖更加全面,虚拟现实沉浸感越来越强。该应用在轮机专业的培养及海事系统大证考试评估等方面有广阔发展前景。另外,基于虚拟现实的拆装,也很适用于大多其他机械行业的教学和维修工作,有较好的发展前景。

参考文献:

[1]潘瑜.虚拟现实技术与室内设计课程的融合与应用[J].艺术教育,2018(20):67-68.

[2]杨燕红,杨建军,彭忆强,等.现实与虚拟技术结合的汽车发动机构造实验课程设计[J].实验技术与管理,2017,34(12):210-213.

[3]谢佳宾.水轮机虚拟拆装的实现过程[J].企业技术开发,2010,29(15):171-172.

[4]高颖,钟啸,许志国,等.基于VR的航空发动机虚拟教学实验系统设计[J].系统仿真学报,2008,20(11):2925-2930.

[5]钟振龙,吴纬纬,赵悦.面向虚拟拆装的产品装配模型及其应用[J].制造业自动化,2010,32(7):176-178,232.

[6]陈锋,李雪,沈军.船艇装备虚拟拆装训练系统设计研究[J].中国高新技术企业,2013(22):94-95.

[7]谢佳宾.水轮机虚拟拆装的实现过程[J].企业技术开发,2010,29(15):171-172.

猜你喜欢

移动端虚拟现实
虚拟现实,让学习更“沉浸”
浅析移动端视频的发展
谈谈PC端流量转移至移动端趋势下广告投放的模式创新
移动端医疗维修系统的设计与实现
虚拟现实LG 360 VR眼镜
View Master虚拟现实显示器