徐庆尧,耿艳栋,唐立文,侯翔,杨超
(航天工程大学,北京 101416)
分队战术训练在军事训练体系中起着承上启下的作用,是连接专业技术训练和合同训练的中间环节,前承单兵终端训练,后接旅团级战术训练,是增强作战单元“内集外联”能力的关键一步,是逐级合成、逐级生成体系作战能力的重要阶段。航天领域是世界各国优先发展的战略高地,而开展航天分队战术训练正是培养人才队伍的重要手段。如何有效组织航天分队战术训练,提示训练质量效果,世界主要航天大国都处于摸索研究阶段,存在训练设施建设滞后、方法手段有限等问题。
虚拟现实(Virtual Reality)技术是以计算机技术为核心,模拟生成逼真的视、听、触、嗅、味觉等一体化的虚拟环境,用户借助相应的输入与输出设备,与虚拟世界中的对象进行交互,从而产生身临其境的感受和体验。美军早在1983年就制定了Simulator Networking计划,开发了满足不同地域步兵、坦克驾驶员同时开展训练的分布式虚拟战场环境[1]。此后,随着计算机技术和网络技术的发展,虚拟现实技术在多行业得到广泛应用[2-9],文献[10]将虚拟现实技术应用到新员工电力培训中,提升了25%的整体工作效率,并大大降低了作业风险[10]。文献[11]将虚拟现实技术应用到校园三维展示设计中,具有高度真实感、沉浸感。通过长期实践总结得出,虚拟现实技术具有沉浸感、交互性、想象性三大特征,能够有效解决分队战术训练中训练环境构设难、训练设施紧缺等难题。因此,本文利用Unity 3D开发航天分队战术训练平台,使不同地点的参训人员可以依托该平台同时开展逼真、高效的战术训练活动,极大提高了训练效率。
本文应用Unity软件创建航天分队战术训练平台,支持多位受训者佩戴虚拟现实设备协同开展战术训练活动。由于航天分队战术训练科目众多,本文以航天分队的“机动侦察情报保障行动”科目为例,分析该战术训练平台的主要需求。
1)平台界面需求分析
受训者点击平台登录界面进入,登录界面主要有登录验证和注册,受训者登录成功后,系统获取受训者的信息,并提示受训者选择分队岗位,然后根据岗位引导受训者开展训练活动。
2)训练环境需求分析
组训者作为平台管理员,可根据不同训练情景,选择不同的训练环境,如沙漠、丛林等,也可根据训练需要,设置雷雨、冰雪等极端天气,以此来考验受训者随机应变的能力。
3)参训装备需求分析
以“机动侦察情报保障行动”为例,该战术训练科目主要由组织准备、机动展开、占领机动侦察接收阵地、阵地防护、转移撤离等环节组成,每个环节的主要需求为:
①组织准备:系统向受训者发送机动侦察保障命令,受训者依托平台迅速开展任务筹划,检查车辆、携带运行物资是否完好、齐全。
②机动展开:能够实现受训者按照岗位操纵车辆移动、碰撞检测,车载物资的装(卸)载和搬运。
③占领机动侦察接收阵地:受训者能够根据地形选择正确、合理的地域接收阵地,完成各车辆间电缆连接,架设、撤收天线,数据接收系统状态调试等。
④转移撤离:受训者根据系统发布的上级命令和任务完成情况,有序组织撤离和转移,人员分工明确,装备物资清点有序。
4)多人在线需求分析
受训者通过网络可在不同训练场所登录平台,共同开展训练活动,时间同步,系统按照受训者岗位标准,对受训者训练活动进行评分。
本文的航天分队战术训练平台采用C/S架构模式,客户端应用Unity 2019软件开发,主要用于实现虚拟场景的搭建、模型显示及与服务器的数据交互。服务器应用MySQL+Apache构建,主要用于实现受训者管理、协调控制及同步控制等功能。两者之间通过在Unity 2019软件中的脚本调用MySQL.Data.dll文件实现数据交互,如图1所示。
图1 训练平台总体设计
将航天分队战术训练平台的开发流程进行总结归纳,可以依次分为:需求分析、平台设计、平台实现和平台测试四个步骤,如图2所示。其中需求分析主要是根据不同战术训练科目的内容分析训练全流程的需求;平台设计主要是在需求分析的基础上,收集素材,利用SolidWorks、Unity 2019等软件开展场景设计、模型设计、UI设计等工作;平台实现主要是开展模型效果渲染,利用C#编写动作脚本,利用不同光照类型优化场景显示效果,设置碰撞检测,设计VR输入设备与平台的交互;平台测试主要是开展平台的集成调试,处理和修复平台bug,并对平台代码、界面、模型做进一步优化。
图2 训练平台开发流程
本平台使用Unity 2019和SolidWorks创建三维模型,在Windows 7系统下使用Unity 2019游戏开发平台,连接主流交互设备Oculus Go实现分队战术训练平台。平台开发所需资源如表1所示。
表1 系统开发平台
开发航天分队战术训练平台,首先应用Unity 2019创建一个新的工程项目,然后将前期收集的素材分类存放到工程目录下的各文件夹内,为平台开发做好前期的准备工作。
2.2.1 登录界面开发
登录场景主要实现受训者输入账号、密码进入训练平台,新的受训者填写相关信息注册新的账号以及退出训练平台等功能。综合应用Unity 2019中的Text、Button、InputField等组件搭建登录界面,如图3所示。
图3 登录界面
对登录界面中的登录、注册和退出平台三个按钮分别新建对应的脚本,并一一绑定起来,以登录按钮为例,首先在Assets/Scripts目录下新建一个脚本LoginPanel.cs,将其绑定到登录按钮上。为实现登录功能,LoginPanel.cs脚本添加内容如下:
2.2.2 场景搭建
场景搭建主要是应用Unity 2019构建地形、植被等模型,同时也要根据训练科目的不同,构建边境作战、城市作战、海上作战等虚拟环境,使受训者在逼真的训练环境中进行摔打和磨练。以构建地形模型为例,在Unity 2019的训练平台工程项目,分别应用Direction Light和Terrain在工程项目下添加方向性光源和地形,然后应用地形设置工具绘制高山、树木和湖泊等自然环境,如图4所示。
图4 地形设置界面
2.2.3 模型搭建
模型搭建主要是应用SolidWorks构建车辆、装备等模型,其中一些简单的零件可直接应用SolidWorks中的“零件”文件类型进行设计,其他较为复杂的模型,如车辆、器械等,需要采用装配设计。本文采用自底向上的装配方式,即先设计好全部零件,然后将零件作为部件添加到装配体中。装配完成后,还需要对模型的外观进行处理、渲染和贴图,使模型更加逼真,如图5所示。最后是将模型导入到Unity 2019的训练平台工程项目中。
图5 车辆模型图
本文构建的航天分队战术训练平台,借助虚拟现实技术,实现了一种航天分队受训者异地同步开展战术训练的新方法。受训者通过该平台可以协同开展多项战术训练科目,提高分队整体行动能力,突破训练现实条件限制,显著降低训练开支。后续将进一步优化平台设计,丰富模型库,以满足更多航天分队战术训练的需求。