郭巍++王洪强++王旭东
【摘要】同传统机务训练方式相比,机务虚拟训练具有演示形象生动、操作灵活等优点,能有效的缩短培训周期、减少培训资源浪费。针对某型飞机机务维护虚拟训练系统的功能需求,给出了一种基于UDK的虚拟训练系统开发流程,并详细介绍了系统开发中主要技术问题的解决方法,最后通过系统实现说明了本文提出方法的可行性和有效性。
【关键词】机务维护 UDK 虚拟训练 虚拟现实
【中图分类号】G77 【文献标识码】A 【文章编号】2095-3089(2016)11-0233-04
Designing and Realization of a Type Aircraft Maintence Virtual Reality Training System
GUO Wei,WANG Hong-qiang,WANG Xu-dong
(1. China PLA 95997 Unit, Beijing Fengtai 100076)
【Abstract】Compared with the traditional aircraft maintence training mode, virtual reality training has the presentation of vivid, flexible operation, etc., and it can effectively shorten the training cycle and reduce the waste of training resources. According to the functional requirements of the aircraft maintence virtual reality training system of a certain type of aircraft, this paper presents a virtual training system development process that based on the UDK, and introduces the methods to solve the key technical problems during system development in detail. Finally, through an system example to illustrate the feasibility and effectiveness of the proposed method.
【Keywords】 Aircraft Maintence; UDK; Virtual Reality Training; Virtual Reality
一、引 言
航空机务工作是对飞机及其装备在使用过程中进行维护和修理的保障工作,是航空兵部队战斗、训练保障工作的一个重要组成部分。飞机上的各种装备比飞机有更快的发展,不仅更为高级、精密和复杂,而且在数量和种类上成倍增长,其维护难度大,对作业人员的操作技术和专业素质要求较高。
传统的机务培训模式主要采用理论学习和实装训练相结合,存在许多缺陷。如理论学习不够形象、生动,造成培训效果差;实装训练影响装备寿命,训练过程中稍有不慎,容易造成装备损坏,存在巨大的安全隐患;同时实装训练受到装备数量和训练场地空间的限制,一次性培训人员较少,培训周期过长,造成大量人力、物力、财力的浪费。
虚拟现实(Virtual Reality,简称VR)技术是一种先进的数字化人机接口技术,利用计算机技术生成一个逼真的,具有视、听、触等多种感知的虚拟环境,用户通过使用各种交互设备,同虚拟环境中的实体相互作用,使其产生身临其境的交互式视景仿真和信息交流。
目前虚拟现实技术已经在人工智能、CAD、军用和民用图形仿真、模拟训练、遥感、游戏娱乐等方面得到了广泛应用[1-3],同时采用虚拟现实系统进行虚拟拟训练已成为一种重要的军事训练手段[4-6],并开始应用于航空机务维护人员培训,取得了良好的培训效果。
二、机务虚拟训练系统的需求分析
针对该系统而言,实现机务虚拟训练就是研制模拟训练的虚拟仿真系统,完成该型飞机机械、特设和电子等专业的维护操作科目的学习、练习和考核等功能,并提供相应的人员信息管理功能。
虚拟训练软件在计算机上创设三维虚拟训练场景,操作人员通过鼠标点击场景中的物品、设备、部附件等进行操作,以完成各项科目的学习和训练。运行环境为运行训练软件所必需的硬件设备,包括计算机、网络设备等。
根据训练系统功能要求,系统主要划分为人机交互、模式选择、数据库、模型库、知识库和核心工作引擎等部分,其中模式选择部分根据使用情况选择不同的模式,可以完成教学模式、练习模式和考核模式等不同模式的设定。其基本组成如图1所示。
图1 训练系统的基本组成
人机交互部分将操作人员的操作指令变换为虚拟训练的动作指令,并在训练系统中显现出来。根据训练层次不同,操作人员可以选择教学模式、练习模式、考核系统模式满足不同操作人员的使用要求。核心工作引擎是虚拟维修训练系统的基础平台,包含模型控制、通信、数据生成和动作跟踪等核心功能,通过对接口的封装,屏蔽了对模型的读取、控制等具体操作,上层应用系统不需要和三维仿真平台直接交互,简化了应用系统的设计,实现了系统设计的通用性和可扩展性。模型库中存储了仿真系统运行需要的设备、人员、工具及其他物品的三维模型。数据库中包含了训练系统维护科目的操作内容、检查标准、操作代码、分数、人员信息等内容。知识库中包含了操作考核所需的操作过程及评价标准。
三、系统开发流程
UDK(Unreal Development Kit)是Epic公司对外发布的虚拟环境引擎,它提供了完全集成的编辑环境,所有主要工具都可以通过UnrealEd访问,使得管理网格物体、材质、声效及动画等资源比以前更加容易,并能使虚拟环境呈现出前所未有的生动真实的效果[7]。UDK在视景仿真、训练模拟、教育培训等方面都有较好的应用[8,9],具有很大的灵活性。
基于UDK开发的机务虚拟训练系统的技术开发流程为:3ds Max等软件完成三维模型建模;Photoshop等图片处理软件完成贴图的处理和制作;Flash/Scaleform技术完成软件界面资源的制作;VS2010等软件完成底层代码的编写;UDK编译代码;三维模型和软件界面资源导入UDK后,在UDK中制作关卡文件;最后由UDK进行软件的打包发布。
依据开发虚拟训练系统的特点,具体制定的实现仿真系统的技术路线如图2所示。
图2 仿真系统的技术路线
四、主要技术问题及解决方法
1.三维物体建模及导入
三维建模是整个虚拟维修训练系统的前提和基础,实体模型在虚拟维修训练环境下的有效表达是构建整个虚拟维修训练环境的重要因素,并且对实体模型的维修操作仿真和工作过程仿真也是构建整个系统的关键。
在本系统软件中,三维虚拟场景中的实体模型均为三维模型,都需要应用三维建模软件进行建模。本系统采用3ds Max三维建模软件对各物体进行三维建模,并根据真实场景中的材质、尺寸、重要标识等进行贴图坐标设定。本系统三维建模对象包括机体及部附件、保障器材及车辆、人物角色、机场建筑及附属设施、树木等。下图为部分模型的建模结果。
图3 模型建模结果
三维模型的导出/导入可以分为静态网格物体和骨骼物体两类。相比静态网格物体,骨骼物体就是带有动作或动画的物体,比如人物角色、有动作显示的设备、移动车辆等等。由于UDK不接受骨骼的缩放,因此任何骨骼动画都只能看作骨骼的旋转,设定UDK中的骨骼为动画物体之间的层级关系,比如制作打开舱门的动画,就可以舱门轴为根物体,其他部件都链接其上,形成层级关系,然后制作各部件动作,大大简化了动态模型的制作。
2.材质制作及其动态显示
材质是UDK三维环境形成的基本单元,它能够使物体看起来凹凸不平、闪闪发光、反射光源与折射光源,甚至可以让人产生错觉,以为材质所提供的皱纹、疤痕和毛孔等细节都是物体在建模过程中做出来的。在UDK中制作材质,可以看作对贴图进行一系列变换。按照材质的光照模型,常用的贴图有漫反射贴图、高光贴图和法线贴图,这些贴图的制作是制作材质的关键点,也往往是难点所在,往往需要对照片、图片进行多次变换和修改,如不同尺寸、拍摄角度的照片进行拼合,改变图片的色调、对比度,添加特殊效果,去除杂斑等等。
下图为飞机上的大气温度传感器实物照片,以及分别使用了材质文件和一般贴图的模型的对比,从图中可以看到,相比于只是应用了一般贴图的物体模型,采用了材质文件的模型在真实度上效果非常明显。
图4 设备实物图片
图5 使用了材质和贴图的几何体对比
在UDK三维引擎的材质设计中,系统允许用户重写在材质上定义的参数,来创建给定材质的自定义实例。这样通过在环境的材质中使用一些材质表达式,设计者能够以每个实例为基础来提供参数。对参数的编辑使用是通过UDK中的一个可视化脚本设计系统Kismet实现的,它允许用户快速简便地创设复杂的脚本序列,而无需具有改动底层的编程代码。
在Kismat中添加一个关于颜色控制的Matinee组件,添加新的材质参数控制轨迹,并在特定时刻设置想要设置的参数值,如下图所示。这样在虚拟场景中,操作人员的相应操作可以影响到材质实例参数得数值,材质实例参数的变化可以影响材质显示出的结果,在场景中就变现为操作人员通过相应的操作得到了设备的显示现象。
图6 颜色控制组件的设置
3.运动建模
维护工作中的运动建模包括车辆运动建模、设备的运动建模和操作仿真中飞机附件的运动过程以及工具使用过程中的运动建模。这些运动建模可以增加仿真的真实程度,达到更好的仿真效果。
在UDK中一种完成运动建模的方法是使用Matinee,它是一种为场景中Actor的属性随着时间变化设置关键帧的工具。运动建模的实现可以有多种方式,训练系统采用了制作AnimeSet动画文件进行运动物体设置。对三维物体建模后,分析其运动的方式,在位移运动及旋转运动的部位分别设置骨骼及定点,通过建模软件的动画功能,设置关键帧完成动画设置,如下图所示。
图7 三维建模软件中设置关键帧
动画设置好以后,将其数据输出,导入到UDK中,形成动画文件。Matinee与Kismet紧密集成,它显示为Kismet中的一种Action(操作)类型,将它的一个输入端连接到关卡中的某个事件,便可开始播放动作了。如下图为使用动画文件及动画显示效果。
图8 Matinee模块中使用动画文件
图9 实现的登机门动画
4.虚拟操作实现
虚拟操作是整个维修作业的重要过程,虚拟操作技术是利用虚拟现实技术,建立的虚拟环境,通过分析、可视化数据表示等技术帮助维护人员进行操作工作。在虚拟维护仿真系统中,对虚拟装备进行操作,其操作顺序主要凭借用户的感观与经验来进行判定,具有一定的盲目性和不确定性;另外当设备零件数目过多时,交互操作易使用户产生疲劳,难以保证操作序列的正确性和最优性,为此还需借助操作序列生成方法,来设置具有一定操作规则的设备操作序列。
在操作过程中,并不是任务开始时所有设定的操作物体都可以触发相应的操作事件的,也就是操作任务中要设定一定的操作序列。使用UDK的Kismat设定操作任务时要使用一定的控制变量完成操作任务的操作序列。同时在设定复杂序列会遇到的一个问题,就是可能需要从很多地方、在序列层次的任何点上引用一个变量,这里可以使用“命名变量”简化设计流程。
UDK场景中不同的物体将会支持产生不同的事件。比如,Trigger(触发器)支持Touch(触摸)和 Untouch(未触摸)事件。这样,通过设置操作任务中的物体的事件,就可以为操作任务设定一定的触发事件。一个典型的操作序列通过Kismat实现,可以得到如图的操作序列。图中包含了Kismat中的创建事件、创建变量、命名变量、层次划分、对象注释等内容。一个典型的操作序列如下图所示。
图10 利用Kismat设计的操作序列
五、系统实现
系统根据训练要完成的功能,结合操作任务模式选择等,设计训练系统的界面。系统界面分为菜单界面和操作界面两部分。菜单界面的设计选择了动态型较好的Scale from技术,可以完成任务种类、操作模式、操作人员登录、服务器选择、系统退出等功能,限于篇幅,这里就不详细介绍了。操作界面作为虚拟训练中的人机交互界面,主要显示操作过程中的一些数据,包括操作名称、评价文字、操作错误数、操作得分、选择的工具名称及图标显示。根据选择的模式的不同,操作界面显示的内容会有一定的差别。
在操作训练进行的过程中,操作人员还可以根据操作的情况选择打开一些临时窗口,比如操作标准信息、操作过程信息、操作科目的得分信息等,通过查看这些信息,操作人员可以尽快的熟悉练习科目的要求和步骤,更好的掌握操作训练过程和操作维护标准。
六、结论
本训练系统应用UDK引擎、3D建模等技术,解决了三维物体建模、物体材质控制、物体运动建模、训练交互控制等技术问题,较为真实的模拟了某型飞机的机务任务场景,实现了机务常作科目的操作训练,满足了研制要求。在使用的过程中训练效果好,能使学习人员掌握机务维护技能,了解操作规范,熟悉机务工作任务内容,掌握操作的质量标准。因此应用本训练系统能很大程度上改善训练飞机培训器材短缺、无法进行实装训练的现状,成为机务训练中改善训练条件、提高训练效果的有效手段。
参考文献:
[1]傅涛,杜建卫,赵志峰,张志谦.通信设备仿真中3D仿真技术的研究与实现[J].甘肃科技,2014,30(3):8-10
[2]杨宇航.基于虚拟现实技术的中医针灸教学系统[J].系统仿真学报,2007,26(1),31-34.
[3]马麟,吕川.虚拟维修技术的探讨[J].计算机辅助设计与图形学学报,2005,17(12):2729-2733.
[4]袁华.训练模拟系统发展现状及启示[J].国防科技,2009,30(1):62-65.
[5]杨宇航.基于虚拟现实的导弹维修训练系统[J].兵工学报,2006,27(2):11-17.
[6]龙玉国,赵红武.门式起重机虚拟仿真培训系统研究[J].计算机仿真,2003,20(5):120-122,
[7] Jason Busby,Zak Parrish,Joel Van Eenwyk.精通Unreal引擎技术—关卡设计艺术[M].沙鹰,李羽中,童寅山等译.北京:人民邮电出版社,2007.
[8]宋柏峰.UDK虚拟仿蒸系统在矿山的应用初探[J].文艺生活, 2012(6):276-277.
[9]高义栋,李曼曼,雍炎炎等.基于UDK 引擎的图书馆虚拟漫游系统的设计与实现[J].现代教育技术,2012,23(10):121-126.