基于Unity3D的虚拟维修教学系统设计与实现

2019-12-19 02:07严雨灵陈闵叶刘同强
软件 2019年11期
关键词:系统设计虚拟现实教学

严雨灵 陈闵叶 刘同强

摘  要: 近年来,虚拟现实技术正因为其高沉浸性的特点受到各个行业的广泛关注。在教学领域中,其体现出教学效果佳、硬件设备制约小的优点。本文根据该技术的特点,采用Unity3D虚拟现实引擎配合3ds Max建模软件,以飞机起落架维修为例设计了一套虚拟维修教学系统,并使用C#语言对各功能模块进行了实现。该系统具有逼真度高,扩展性好等优势,具有一定的应用价值,并为相关领域的研究人员提供了参考。

关键词: 虚拟现实;Unity3D;系统设计;教学

【Abstract】: In recent years, virtual reality technology has been widely concerned by various industries because of its high immersion characteristics. In the field of teaching, it has the advantages of good teaching effect and small hardware equipment constraints. According to the characteristics of this technology, this paper uses Unity3D virtual reality engine and 3ds Max modeling software to design a virtual maintenance teaching system with aircraft landing gear maintenance as an example, and implements various functional modules using C# language. The system has the advantages of high fidelity and good expansibility, and has certain application value, and provides reference for researchers in related fields.

【Key words】: Virtual reality; Unity3D; System design; Teaching

0  引言

由于中國经济社会发展对于高层次应用型人才的需要,在高等教育教学体系中,应用实践性课程的增加对实践教学效果提出了更高的要求[1]。另一方面,维修型企业在对员工进行实操培训的课程中也增长出了类似需求。虚拟现实技术有着逼真度高且硬件方便移动等特点,利用该技术建立虚拟维修教学系统是教学培训领域新的研究发展方向[2]。

1  模型的建立及优化

系统首先需要构建一个逼近真实的训练环境和实物模型,使受训人员能够高度沉浸于虚拟环境中,从而达到与现场培训相同的效果。本文以飞机起落架虚拟维修为例,采用3ds Max软件进行现场环境的搭建和模型的建立。

3ds Max是Discreet公司的三维建模产品,可以建模、渲染和创作三维动画,在工业仿真、多媒体应用及教学演示等行业都有广泛应用[3]。其操作自由度高,具有的多边形建模功能。它的缺点在于细节、控制方面稍弱,但虚拟维修的需求重点是逼真的动作交互场景和受训人员对产品动作序列的掌握上,而对精准度及相关维修速度没有过多的要求[4]。此外,Unity3D引擎对于其输出文件的原生支持使其彼此转换不易失真和乱码。因此,通过3dsMax完成构建起落架三维模型是较为合适的方案,其能满足虚拟维修的需求且效果最佳。

本文根据空中客车公司A320机型的起落架结构,通过参考其提供的维护及零部件手册结合相关技术资料对各零件进行建模[5]。各零件根据一定的装配顺序形成零件序列,从而得到零件的装配数据库。根据该数据库分别组成用于虚拟维修的装配模型用于后续的教学模块中[6]。图1为通过3ds Max所建立的起落架机轮和刹车部分模型。

2  虚拟维修系统设计

本文基于Unity3D虚拟现实引擎所建立的虚拟维修系统输出端根据不同需求可以提供丰富的方式进行显示,包括PC桌面、环幕投影、虚拟现实头盔等。输入端由虚拟现实手柄提供交互信息。系统采取自上而下的设计模式,整体结构设计如图2所示[7]。顶层UI显示各个故障训练模块的名称以供受训人员选择,其下主要包括模型展示模块、结构展示模块、装配练习模块以及考核模块。完成所有部分后可以返回顶层UI界面重新选择训练目标。

3  功能模块的设计与系统实现

3.1  系统场景连接及结构展示模块

系统中所有的功能模块基于Unity3D中的SteamVR标准进行逻辑设计和开发且未使用第三方功能性插件以提高功能的可维护性和可操作性[8]。

首先,需要针对系统设计的各个模块分别建立场景,场景间的连接采用HTC VICE手柄插件中的激光部分功能,从而使场景连接较为可靠、直观。如图3所示以主界面为例,主要利用SteamVR的激光模块,依靠图中手柄端发出的白色激光可靠地完成场景间的连接交互。为手柄激光添加刚体选项RigidBody,同时为各选项文本框添加合适大小的刚体控件和触发器Is Trigger。在所挂载的脚本中,切换的触发条件为:手柄刚体与某文本框刚体发生碰撞且手柄按钮被按下。这项逻辑的代码被编辑于Unity3D下的update方法中,即每帧均会执行,以保证操作的实时性。所有场景的操作完成后均可利用该操作方法切换训练模式及场景[9]。

各模块中系统首先进入的是结构展示模块,向受训人员展示各零部件的名称,位置和顺序等信息,使其对各零件具有初步的认识。如图4所示通过材质色彩调整按拆卸步骤展示各个零部件,以文本框对当前零部件的名称进行提示[10]。

色彩可以通过Unity3D提供的MeshRenderer泛型中的Material方法下的Color属性进行设置,每按下一次手柄上的按钮则使上一个零件隐藏并按拆装顺序将下一个零件的色彩进行更改并使用文本框在相应位置对零部件名称等信息进行显示。当所有零件结构展示完毕后,采用上述激光碰撞的方式使用Loadscene方法进入下一个功能模块。

3.2  拆装模型练习及考核

学习如何拆装更换零件是整个系统中最重要的教学内容,完成结构认识之后即进入该部分的学习。该模块充分考虑训练过程中的人机交互的不同可能性,最大限度的模拟实际工作过程,是操作者学习、掌握实际起落架维修技能的关键环节。受训人员通过交互式手柄选择零件,用手柄拖动零件到安装或者拆卸位置,再根据维修提示控制零部件的路径,如把零部件移动到正确的安装位置,则完成该零件的装配。该部分同样编辑于Update方法下以提高用户的沉浸感。

当手柄上的按钮被按住时,下一个需要安装的零件会显示在手柄处。在练习模式下,会在零件正确的安装位置显示一个带色彩的零件用于提示。受训人员可以拖动手柄处的零件至提示位置并放开零件从未完成拆装。当手柄按钮被按下时,脚本会记录手柄当前的位置,当其未被松开时,其在三个轴上的移动将会被赋予对应的零件,移动过程实现代码具体如下:

在装配模式下,零件会如图5(a)所示散落于地面,而其正确的安装位置会在练习模式开始时记录在某磁盘的文件中。当手柄拖动零件至正确位置附近时,即完成零件的安装,其误差允许范围由实际调试时根据效果进行调整。

完成练习之后,切换至考核场景对学习效果进行测试。根据各个零件对于整个故障排除过程的重要性设定其分值,当安装位置发生错误时即扣除相应分数。此外,系统还设定了计时器,教师可以根据教学标准在脚本提供的接口中便捷地设定考核时间,超过时间即扣除一定的分数。计时功能由.Net类库中的TimeSpan方法实现。

图5展示了考核过程及考核结果,根据考核结果可以展示该部分虚拟维修过程的掌握程度。

4  结论

本文通过对于虚拟现实应用领域和开发过程的研究,以飞机起落架为例设计了一套基于Unity3D虚拟现实引擎的虚拟维修教学系统。该系统实现了零部件展示、拆装练习等功能模块以完成虚拟维修教学过程。通过三维建模软件3ds Max以及C#语言完成了模型建立和功能实现。该系统提供了一种新的教学培训模式并取得了良好效果,为工程技术型人才的培养提供了良好的教学方案。

参考文献

[1]蔡彬清, 吴仁华, 陈群. 面向产业变革的专业学位研究生培养需求与模式分析[J]. 教育评论, 2019(04): 87-91.

[2]张雅, 夏金星, 孙善学. “互联网+”背景下职业教育课程智慧教学研究[J]. 中国职业技术教育, 2017(23): 8-12.

[3]苏凯, 张亚斌, 咸丽楠. VR技术在数字媒体艺术专业教学中的应用: 现状、创新、趋势[J]. 江西广播电视大学学报, 2019, 21(02): 11-17.

[4]贾丽, 杜浩, 李梓等. 基于虚拟现实技术的装备维修训练系统设计[J]. 科技资讯, 2019, 17(08): 11-13.

[5]Airbus Industrie. A320 AMM (Aircraft Maintenance Manual)[S]. Toulouse, France: Airbus Industrie. 2016.

[6]周枫. A320飞机刹车系统的特点及常见故障分析[J]. 航空工程与维修, 2002, (04): 32-33.

[7]陈双, 徐望. 浅析数字化关联设计在飞机设计中的应用[J]. 舰船电子工程, 2018, 38(12): 191-194.

[8]张洪鑫. 基于VR的虚拟三维数字校园漫游系统设计与实现[D]. 天津师范大学, 2018.

[9]吴景. 基于Unity3D的虚拟实验系統的设计[D]. 广东工业大学, 2015.

[10]孙维洋, 韩杨, 胡霖霖, 刘光竹, 李彩娟, 韩雪山. 医学影像虚拟仿真教学平台实践教学中的应用研究[J]. 软件, 2019, 40(05): 98-101.

猜你喜欢
系统设计虚拟现实教学
“自我诊断表”在高中数学教学中的应用
REALITY BITES
对外汉语教学中“想”和“要”的比较
虚拟现实技术向科幻小说借灵感
跨越式跳高的教学绝招
浅谈虚拟现实