基于Unity 3D的高空心理行为模拟训练系统*

2022-05-11 09:34吴微露
舰船电子工程 2022年4期
关键词:碰撞检测模拟训练高空

黄 鹏 吴微露

(国防科技大学电子对抗学院 合肥 230037)

1 引言

由于现代战争形式多变,各种高科技武器装备的不断运用,对参战人员的生命构成极大威胁,对其造成极大的心理压力。战争的制胜方法也从过去的由参战兵力的数量规模转变为由科技实力以及心理对抗[1]。

传统的训练更加注重对军人身体素质进行强化,以及单一的技能培训,对于心理训练的重视程度不够。而在引入心理行为训练之后,对于官兵基础心理素质以及健康水平有了显著提高。作为军校学员的一门必修课程,心理行为训练也取得了良好的教学效果,而高空心理行为训练由于在真实的场景中进行演练受到许多外在因素的干扰,天气因素、设施因素以及人为的操作因素等,这些都使高空心理行为训练的开展存在一定的局限性,因此设计一种高空心理行为模拟训练系统具有很好的实用性。

虚拟现实技术能够克服传统训练存在的问题,实现事半功倍的效果。文献[2]对于维和装备保障的模拟训练系统进行了研究,设计了系统架构、系统组成、技术架构和信息关系等内容,对相关关键技术进行了初步探讨,初步构建了维和装备保障训练的理论框架。文献[3]将虚拟现实技术运用在坦克综合模拟训练系统中,立足于部队训练需求,通过分析对比,选用HMD,利用虚拟现实技术对系统进行开发,并给出了设计方案。文献[4]讲述了虚拟消防与安全教育系统的开发过程。该系统应用3ds Max建立三维模型,导入Unity 3D后搭建典型训练场景,用C#语言进行脚本编写,最终和HTC VIVE进行交互,实现虚拟现实沉浸式体验。文献[5]设计了一套虚拟现实防化模拟训练系统,主要针对城市街道出现的化学恐怖袭击事故,对现场未知气体侦查检测、中毒伤员急救处理、毒剂采样处理等环节实现了可视与交互仿真,系统具有教学训练功能和实战考核评价功能。

本文的高空心理行为模拟训练系统在充分考虑了各种外在因素影响的条件下,针对训练的主要特点并结合虚拟现实技术,为训练者提供接近真实的训练环境,具有较好的沉浸感和交互性,为高空心理行为训练提供了一种新理念、新方法。

2 综合模拟训练系统方案设计

2.1 系统需求分析

高空心理行为模拟训练系统是通过结合实际高空心理行为训练课程设置,对相应的内容进行虚拟化。并对相应的场景进行模拟,来获得接近真实训练场景的逼真环境。针对此系统预定的设计目标,构建综合模拟训练系统,需要解决下面几个问题。

1)系统设计必须与实际情况相符合,课程内容可视化,能够将训练课程虚拟化。虚拟课堂能够模拟出各种学习对象,学员通过沉浸式设备可获得沉浸式体验。

2)系统有着良好的用户交互以及灵活的配置,系统涉及到心理行为训练的实施操作,对人物模型的移动、跑以及跳跃等过程需要有很好的交互效果。并需要有相应的指示提醒,及时指导学员完成相应课程的训练[6]。

2.2 系统总体架构

本系统结合现实中开展高空心理行为训练课程内容,将相应的训练环境模拟化,构建出可用于模拟训练的系统。整个系统主要分为四层,分别是硬件层、接口层、支撑层以及运用层。系统的整体框架如图1所示。其中硬件层是整个系统的基础,支撑整套系统的运行,主要包括系统主机、HMD设备以及工作站;接口层是相互连接的桥梁与纽带,包括有引擎接口、HMD接口和人机交互接口;支撑层是整个系统的核心,包括有3D建模、渲染优化、场景设置、训练课程拆分、数据连接、人机交互、视频学习以及实时显示等功能。通过层次化的设计,可使其耦合度明显减低,便于软件维护以及更新[8]。

图1 虚拟系统整体框架设计

3 系统开发及关键技术

3.1 系统开发路线

高空心理行为模拟训练系统的开发主要有下面几个步骤:收集相关资料、3D建模、系统构建、系统运行测试,具体的开发内容如图2所示。收集资料主要是将课程相关资料、训练规范、操作细则以及注意事项等内容整理齐全,保证课程顺利展开;3D建模是对训练场景、人物模型等进行处理并优化;系统构建主要是通过Unity 3D引擎将场景搭建起来,并对底层脚本进行编写,实现相应的功能;系统试行是对系统进行测试与调试,修改存在问题并及时更新。

图2 虚拟系统开发路线

3.2 仿真环境建模

仿真环境的搭建是系统的关键,精细化的建模能够让整个训练环境更加真实地出现在虚拟场景中,实现虚拟现实沉浸式的体验[5]。搭建过程如图3所示。

图3 仿真环境搭建过程

3D建模就是通过专门的建模软件,构建具有三维数据的模型,这些三维数据模型能够在二维屏幕上显示。本文主要利用3ds Max建模软件进行系统模型的建模。三维建模软件其工作原理就是利用一些基本的集合元素,再经过一系列的几何操作来构建复杂的三维模型及场景[6]。利用软件中丰富的贴图效果以及渲染能力,使制作的模型更加接近实际。该系统通过3D建模所生成的逼真的视觉空间,并且能够在游戏开发引擎中进行处理以及可视化,能够接近真实的高空心理行为训练场地,使受训者能够在虚拟的训练环境中有很好的训练体验,达到良好的训练效果。

图4 建模过程

图5 建模过程

首先在3ds Max中创建好相应的模型,将设计好的场景以及模型导入到Unity 3D中,进行场景组件的交互设计以及触发控制,之后通过渲染加入光照与材质效果。在Unity 3D的操作环境下,只有保证好设计的纹理的质量,虚拟沉浸感才能达到更好的效果。因此在建模过程中应该先确定好各种模型材质纹理以及其物理属性,使其更容易导入到Unity 3D 中[10~11,13]。

Unity 3D是可让操作者创建实时三维动画、建筑可视化等类型互动内容的综合型开发工具,是一个全面整合的专业游戏引擎[6,14]。利用Unity 3D引擎可对相应训练场景进行建模,其中主要包括地形建模以及天气建模。通过使用引擎中的Terrain组件以及相应工具,可根据训练场实际情况绘制相应的地形,使用Skybox插件可对天气情况进行建模处理[7,17]。仿真环境的构建是实现模拟高空心理行为训练系统的基础,精细化的建模可以使训练场景很好地复现在虚拟场景中[8]。

图6 模型导入

图7 系统搭建

其次要设计好各种运动状态的人物建模,例如:向前、向后、站立、蹲下和跳跃等动作,建好模型后保存为可导入Unity 3D中的格式文档,之后导入到Unity 3D的项目文件夹[12,14~15]。通过利用控制移动轴来对人物移动进行设计,其主要用到的是input.GetAxis()方法,返回的“axis”就是控制轴的值。下面是利用C#语言进行脚本文件编程的例子。

这是利用C#语言进行脚本编程的简单实例,在系统对人物移动的设计及实现时,对于一些动画模型添加相应的控制器可以对虚拟人物进行任意移动[13]。

3.3 关键技术

3.3.1 层次细节技术

在实际的系统运行过程中,占用内存较大,容易出现卡顿现象。通过采用层次细节技术(levels of detail,LOD),可以有效减少渲染的三角面数。其基本原理是根据模型节点在环境中的位置以及重要程度,来确定渲染的资源分配,有效降低其面数与细节度。根据高空心理行为模拟训练系统的实际情况,通过使用Unity 3D中的LOD Group组件来控制LOD等级,确定好对应的比例,尽可能缩短渲染时间,使整套系统运行更加流畅,画面更加清晰[8]。

3.3.2 碰撞检测技术

刚体(Rigidbody)组件可使操作对象在物理系统的控制下运动,可接受外力与扭矩力来确保操作对象像在真实世界中那样进行运动。碰撞检测,就是判断空间两个几何体是不是相交的过程,这是在提高虚拟现实交互性过程中出现的问题。当进行场景切换时,要先选择碰撞,根据检测结果进行切换[14,16]。碰撞检测主要分为下面三种情况:

1)Discrete:离散碰撞检测。用于被选对象与场景中其他所有碰撞体进行碰撞检测。

2)Continuous:连续碰撞检测。用于检测被选对象与动态碰撞体的碰撞。

3)Continuous Dynamic:连续动态碰撞检测。用于连续碰撞或动态碰撞模式对象的检测。

通过碰撞检测,将系统中不合理的模型搭建调整,使训练系统能够完成正常的虚拟操作训练。

3.3.3 人机交互技术

人机交互是系统较为关键的技术,其沉浸效果的优劣直接决定了整个模拟系统训练的效果。目前的交互方式主要有三种:直接交互、物理交互和虚拟交互。直接交互是通过动作指令来控制虚拟系统,使其做出反应;物理交互是利用物理设备,比如方向盘、操纵杆等,来达到与虚拟环境交互的目的;虚拟交互是通过直接在虚拟环境中,利用虚拟按键等方式设置好相应的虚拟控制。本系统采用的是第三种方式,利用虚拟按键进行控制与操作,具有较好的交互效果。

4 虚拟交互和系统发布

通过虚拟交互技术可以让参训人员更好地融入到模拟训练系统当中,达到更好的交互性以及沉浸性的效果[18]。本文构建的高空心理行为模拟训练系统,其主要是通过HTC VIVE设备来实现这种交互以及沉浸效果[9]。系统采用的虚拟现实眼镜是HTC VIVE设备的较新版本,配套的设备还有VR头盔、可移动的操作手柄以及红外跟踪传感器。通过这些软件以及硬件设备的配合使用,可以实现模拟仿真系统的基本操作内容,其中主要涉及到的操作有对物体的抓取、发射操作射线和关键的人物的移动等。按照系统提示通过提示进行操作,选择相应的内容进行训练,通过PC与交互设备的配合使用,完成高空心理行为模拟训练。

图8 模拟操作训练

5 结语

本文设计了一套基于Unity 3D的高空心理行为模拟训练系统,结合虚拟现实技术设计了系统框架,搭建起相应环境,最后基于Unity 3D技术完成该系统的仿真及实现,验证了该系统的可行性。本系统可对学员在进行心理行为训练课程时提前进行模拟演练,熟悉相关训练环节,感受训练环境,为参加真实的高空心理行为训练做好准备,作为心理行为训练的辅助手段。这为心理行为训练教学课程提供了一种新理念、新方法。

猜你喜欢
碰撞检测模拟训练高空
基于动力学补偿的机器人电机力矩误差碰撞检测
高空走绳
高空缆车
不要高空抛物!
高空莫抛物
模拟训练(二)
基于Virtools的虚拟灭火系统碰撞检测设计与实现
模拟训练(十一)
模拟训练(十)
基于Unity 3D的虚拟楼盘漫游和碰撞检测研究