基于Vega的虚拟战场对抗仿真应用研究
1 引言
数字化战场[1]是继"信息战"概念出现之后, 作为信息战建设的初期阶段而提出的一种新的战场形态,其本质是将数字化技术引入部队和战场,将所有相关功能系统通过网络联结成一个有机整体,以达到整个作战范围内的信息资源共享,最终实现部队和战场的指挥、控制、通信和情报(即C3I)高度一体化
虚拟战场环境[3]是战场可视化仿真的运行基础,虚拟战场环境的生成主要包括场景建模和场景驱动两个步骤。虚拟战场环境主要由战场地形模型、战场地物模型、武器模型、士兵模型等三维模型组成,可以使用以MultiGen Creator[4]为代表的仿真建模软件包来完成,虚拟场景驱动则可以通过特定的渲染引擎来实现,常用的渲染引擎有Vega、Performer、 OpenGVS等。
本文将要主要讨论的Vega是一套完整地用于开发交互式、可视化仿真应用的软件平台和工具集,它最基本的功能就是驱动、控制、管理虚拟场景并能够方便的实现大量特殊视觉和声音效果。
需要指出的是,本文实现的虚拟战场仿真离严格意义上的可视化战场还有一定的距离,下一步的工作一方面是对虚拟战场环境继续丰富和完善,添加虚拟士兵等更复杂的仿真实体,加入逼真的三维声场,提高参与者的沉浸感,另一方面还要进一步研究虚拟战场环境仿真的分布式网络化应用和对各种底层信息数据库的集成等,最终形成一个完整的数字化战场环境系统。
2 仿真目标和解决方案
确定仿真目标是仿真应用的首要环节,也是进行仿真应用程序开发的基础。本文中我们通过模拟发生在一个虚拟小镇上假想的军事武装对抗过程,详细讨论基于Vega的军事仿真应用方法、实现及其关键技术。假想的虚拟作战对抗仿真过程大致如下:一架E2C预警机在小镇高空中盘旋,执行日常的侦察预警任务。一辆不明身份的M1主战坦克悄悄的从边境潜入小镇,不久便被E2C预警机发现并锁定目标,通知驻守在小镇中的阿帕齐武装直升机前往堵截,并发射激光制导导弹将其摧毁。预警机左翼发动机突然出现机械故障,起火燃烧,最终落地坠毁并引发了剧烈的爆炸,随后直升机赶往坠毁地点进行救援。
通过对预定仿真目标的分析可知,要实现设想的仿真效果需要分别代表E2C预警侦察机、M1主战坦克、阿帕齐武装直升机、制导导弹等虚拟战场环境中的动态元素模型,同时还需要用于模拟旋转的机翼、发动机和导弹等产生的尾迹、坦克和直升机发生的爆炸、燃烧、烟雾等的特殊效果。虚拟战场环境的三维模型数据库我们使用了预先创建好的OpenFlight模型,E2C预警机的运动完全由仿真应用程序控制,坦克入侵路线可以使用Vega的路径工具事先定义导航路径来控制,而武装直升机的起降、导弹的发射和预警机的失事则通过仿真应用程序与用户通过鼠标和键盘来交互控制。由于导弹发射和预警机坠落时间的不确定性,导弹的运动轨迹和直升机的救援路线则需要在仿真过程中实时的生成。为了更好的反映当前的仿真应用运行情况和虚拟战场态势,仿真应用过程中相关的战场信息需要实时的显示在屏幕上。
运行基于Vega的仿真应用程序需要在初始化阶段设置大量参数的初始值,包括虚拟场景内各种模型对象和角色对象的起始状态和位置、虚拟场景内的灯光和环境的设置、硬件平台的属性配置等,在运行阶段也要保持或更新大量的参数值。Vega将这些数据信息储存为ADF格式的应用程序定义文件,可以使用Vega提供的LynX[5]图形界面ADF配置和预览工具,初始化虚拟场景中的元素属性及其相互关系。
3 系统实现关键技术
3.1 自然环境模拟
自然环境对战场态势发展和对战双方的作战指挥等有着重要的影响,虚拟战场场景中的自然环境表达直接关系到仿真应用的真实性和可信度。为了能够逼真的模拟出自然界中的大气层环境,Vega 使用了如图1所示的七层结构的大气层模拟模型,同时还提供了多种可由参数控制的自然环境效果,我们可以直接在相应的LynX面板中对包括天空颜色、雾模型、云彩模型、环境光等在内的多种元素进行预设,在应用程序执行的过程中还可以通过调用相应的API函数[6]对自然环境的各种参数进行交互式设置,实时改变虚拟战场的自然环境效果,从而达到检验不同自然条件下作战效能之目的。
3.2 动态视点控制
视点是仿真系统用户观察虚拟场景的唯一接口,包含了对视点进行抽象的观察者(Vega Observer)是用户在虚拟场景中的替身,观察者的位置和姿态决定了整个虚拟战场环境可以提供给用户的信息。一方面要纵观作战战场全局给用户特别是指战员提供一个视野宽广的虚拟环境,另一方面又要考虑能够以与动态仿真实体相一致的视角来观察虚拟作战环境,从而
- 基于Vega的虚拟战场对抗仿真的应用研究(09-26)