微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 基于Vega的虚拟战场对抗仿真应用研究

基于Vega的虚拟战场对抗仿真应用研究

时间:07-09 来源:互联网 点击:

获得更好的沉浸感。一般而言,虚拟战场环境范围较大、仿真实体数量多且运动状态复杂多变,所以视点应该能够尽可能的进行多角度、多模式观察,可以采用多观察者方案,即一个主要观察者和若干个辅助观察者。我们在应用程序中使用了Vega基本模块提供的形式多样的观察者定位方式,包括跟随、绑定、旋转、固定路径、观望等多种模式及其混合模式,使用者可以通过弹出菜单或快捷键在多个观察者之间进行实时切换和组合,以满足使用者的不同需求。表1中给出了不同状态下主要观察者的定位方式:

  3.3 实时路径导航

  路径导航在战场对抗仿真中有着大量的应用,对战前期的战斗部队、坦克编队等的行进通常是沿着固定或者相对固定的路线进行进的,对战过程中的以制导导弹为代表的火炮武器炮弹在发射后也都会按照一定的路径进行导航的。导航路径的生成有两种方式,一种是非实时的,即使用路径工具(PathTool)预先定义,另一种则是实时的生成导航路径。以导弹飞行路径生成为例,由于直升机运动的不确定性,在发射导弹的位置和时间是随机的,不可能事先预知导弹的运动轨迹,所以必须在仿真应用程序中实时的生成导航路径,图2 是生成导航飞行路径的程序流程图:


3.4 战场特殊效果

  在虚拟战场模拟仿真应用中,经常需要模拟出一些特殊的三维视觉效果来增强整个虚拟战场环境的感染力和真实性,比如各种火炮武器的开火效果、各种炸弹的爆炸效果、直升机螺旋桨的旋转效果、导弹发射后飞行时产生的尾气痕迹等。通常这些效果很难用传统的多边形建模技术来实现,一般的解决方案是应用高级的纹理技术或者使用复杂的粒子系统[7]。粒子系统的基本思想是,采用大量的、具有一定生命和各种属性的微小粒子图元作为基本元素来描述不规则对象。粒子系统中的每一个粒子都具有形状、大小、颜色、透明度、运动速度、运动方向、生命周期等相关的属性。一般而言,创建特定的粒子系统是一个比较复杂的过程,一方面要考虑真实的物理模型和相应的动力学规律,另一方面需要对粒子的大量属性分别进行设置。Vega特殊效果模拟模块[8]预制了包括爆炸、烟雾、导弹尾迹在内的多种实时三维特殊效果,提供了扩展的粒子系统参数设置面板,可自定义的粒子参数包括粒子生命周期、粒子个数、粒子源及其发射模式、粒子速度分布和各种速度矢量等。

  战场特效的管理和控制应该符合虚拟战斗态势的发展,所以一般只在特效设置面板中进行初始参数设置但并不启用它们,而是在仿真应用运行的过程中根据实际情况,通过相应的API函数进行特效控制和参数调整。下面是预警机发动机失效时,应用程序控制特殊效果的部分代码:

  vgProp(fx_trail, VGFX_DURATION, vgGetTime()-vgGetFxTime(fx_trail1,VGFX_STARTTIME) +1.0 ); // 设置预警机引擎尾气特效的持续时间

  vgProp( fx_airhit, VGFX_STATE, VG_ON ); // 启用预警机引擎闪光特效

  vgProp( fx_engburn, VGFX_STATE, VG_ON ); // 启用预警机引擎燃烧特效

  vgProp( fx_engsmoke, VGFX_STATE, VG_ON ); // 启用预警机引擎冒烟特效

  vgProp( fx_engburn, VGFX_DURATION, VGFX_ALWAYS ); // 设置燃烧特效持续时间

  vgProp( fx_engsmoke, VGFX_DURATION, VGFX_ALWAYS ); // 设置冒烟特效持续时间

  vgFxTime( fx_airhit, VGFX_STARTTIME, VGFX_NOW ); // 立即执行闪光特效

  vgFxTime( fx_engburn, VGFX_STARTTIME, VGFX_NOW ); // 立即执行燃烧特效

  vgFxTime( fx_engsmoke, VGFX_STARTTIME, VGFX_NOW ); // 立即执行冒烟特效

   4 仿真结果

  本文实现的虚拟战场对抗仿真应用基于NT平台开发,使用Visual C++6编译环境,在P4 2.4G处理器、512M内存、GeForceFX 5700图形卡的硬件配置条件下可以流畅的运行,图3-5为仿真应用程序运行过程中的屏幕截图。

  图3 多观察者模式下的仿真效果

  在多观察者模式下,用户可以同时以多种视角来观察虚拟战场,如图3所示:位于屏幕左下角的通道以俯视观察者的视角显示,可以纵观战场全局态势,对战双方在虚拟战场中所处的位置,也会在该通道中分别用红色和蓝色实时的标识出来。屏幕的右侧则是一系列辅助观察者分别用于观察特定的仿真实体,本文实现的系统可支持最多同时使用五个辅助观察者,当然也可以是它们的任意数量的组合。

  图4 侦察机引擎发生故障

  5 结语

在未来战争的数字化战场,无论是军事训练、战术演练,还是作战指挥或者战术论证评估,都需要虚拟战场可视化仿真来做支撑和保障。本文探讨了基于Vege的虚拟战场可视化仿真应用的方法,重点讨论了自然环境模拟、动态视点控制、

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top