安 璐,王建中,施家栋
(北京理工大学 机电学院,北京 100081)
基于Creator/Vega Prime的区域封锁作战系统
安 璐,王建中,施家栋
(北京理工大学 机电学院,北京 100081)
基于Multigen Creator/Vega Prime软件开发了子弹药封锁区域协同作战仿真系统;针对在作战区域实行封锁并打击封锁区域的敌方装备和有生力量进行了研究,实现延误敌方战机,减缓其兵力集结和部署,掌握战时主动的目的;主要通过围绕实体建模、模型驱动、碰撞检测、粒子特效等关键技术;综上所述,为实现对敌方飞机进行封锁区域协同打击的可视化仿真,重点研究了Creator和基于VC++的Vega Prime的视景仿真控制的过程和方法;研究结果表明,对子弹药区域封锁作战的实时仿真具有一定的参考价值。
区域封锁;实体建模;模型驱动;碰撞检测
在未来战争中,对作战区域实行封锁,并按预定功能打击进入封锁区域的敌飞机、坦克、装甲车、舰船等装备和有生力量,能达到延误敌方的战机,减缓其兵力集结和部署,使其丧失参战能力,从而为己方赢得时间,掌握战时主动的目的[1]。但由于该系统作战环境复杂、实战损耗较大,因此极大地影响了封锁区域的作战效果。虚拟现实视景仿真技术以其良好的沉浸感、逼真度和人机交互特性已成功应用于军事、航空航天、娱乐和医疗等很多领域[2]。鉴于此,采用虚拟现实和视景仿真技术,开发了子弹药封锁区域协同作战仿真系统。通过作战仿真系统能够方便地研究子弹药的各种功能状态,生动再现区域封锁作战的场景和流程。
仿真系统采用Multigen Creator建模工具对三维视景模型进行几何建模和行为建模,三维视景模型包括战场环境、武器装备、气候和特殊效果等。再通过Vega Prime的Lynx Prime图形界面设置,switch节点驱动以及自身提供的API函数对场景实时渲染和驱动,解决仿真实时效果差、沉浸感不强、系统交互性与运行速度差的问题,碰撞检测和粒子特效则可以逼真地演示子弹药成功打击敌方目标的过程。
子弹药区域封锁协同作战是通过母弹在作战区域上方抛撒,多个落地激活后的子弹药通过组网通信构成整体作战群;各个子弹药落地激活后自动预警和探测;当探测到目标信号时,依据目标识别算法对目标进行分类和识别;当确定为有效目标时,通过各子弹共享探测到的目标数据,确认弹药和目标方位;根据任务分配对群体子弹药协同控制,选择一个最适合攻击的子弹药;选定的攻击弹药自主跟踪,适时起爆战斗部毁伤目标。如图1所示。
图1 子弹药区域封锁协同作战流程图
2.1 视景仿真系统开发环境
本系统采用Multigen Creator建模工具对模型进行几何建模和行为建模。MultiGen Cre-ator是由MultiGen-Paradigm公司开发的一个用于视景仿真建模的软件,在视景仿真领域内被广泛应用。Creator采用OpenFlight数据格式,该格式已成为事实上的虚拟现实及仿真界的三维模型数据格式的工业标准[3],可以被Vega、Virtual、Quest3D等大部分视景仿真软件接受。
Creator与一般的三维建模软件(例如3DMax和Maya等)的最大区别在于:Creator构建的模型是用于实时渲染仿真的。即Creator建立的模型需要在人机交互的情况下实时地显示渲染效果。这与3DMax和Maya这类先建模、再渲染、最后播放的工作流程有很大不同。
Vega Prime是MultiGen-Paradigm公司推出的最新实时视景仿真软件,视景仿真软件的作用是读取视景模型,接受用户输入,并按照用户要求进行模型驱动和实时渲染。Creator的许多功能必须通过Vega Prime这样的视景仿真软件才能体现出来。比较当前使用较多的视景仿真软件Vega Prime、Vega,如表1所示。
表1 Vega、Vega Prime性能比较
Vega Prime作为Vega的改进版本,在开发平台、编程语言、程序设计等方面都拥有了Vega无法比拟的优势[4],具有面向对象、功能强大、界面友好、平台兼容性好等特点。Vega Prime采用了先进的生成仿真场景加速技术,如细节层次技术、可见性判定技术等,这为视景仿真系统底层开发节省了时间。
在作战仿真系统设计中通过Vega Prime可以让设计者对导弹、飞机、子弹药参数进行快速配置,通过底层场景图形API函数可以完成导弹和飞机的运动路径规划等等,在提高研发效率的同时又不影响系统的仿真性[5]。
2.2 视景仿真系统开发模式
根据子弹药区域封锁协同作战仿真系统的要求,确定仿真系统的开发流程如图2所示。首先,利用Multigen Creator进行三维建模。根据模型要求,建模主要包括两个部分即静态三维模型库和CTS(Creator Terrain Studio)生成的大场景地形;将模型保存为.flt格式文件,导入到Lynx Prime图形界面进行基本设置。图形界面设置主要包括基本作战环境设置、模型初始位置设置、常用的特效设置和大场景应用设置等内容,并保存为.acf文件;最后通过编写视景驱动程序对整个场景进行驱动。仿真驱动是视景仿真的关键阶段,通过调用在Lynx Prime中配置好的.acf 文件, 再接收后台数据库发送的实时仿真数据, 利用此数据驱动场景中模型的运动, 并对场景中特效进行处理和控制, 实现实时驱动算法、碰撞检测与响应、场景调度与管理和视点控制等内容。从而完成整个仿真过程,为用户提供实时流畅的视景仿真结果。
图2 仿真系统开发流程图
3.1 实体建模
3.1.1 建立三维模型
基于子弹药区域封锁协同作战的作战流程,建模工作主要包括2大部分:一是实体的几何建模,包括导弹(母弹)、带有通信、探测和攻击功能的子弹药、降落伞、飞机(敌机)。二是作战地形建模,根据作战背景的实际要求建立模型。
在实体建模时,主要根据模型外观的几何参数,在Creator中先建立基本的轮廓,然后将重点部位用Creator的命令将它独立出来进行重点处理,在保证模型逼真度的前提下,系统采用纹理映射技术[6]降低实体建模的复杂度,减少了模型面的数量,达到了简化模型构建过程的效果。系统以实体模型的尺寸和结构为依据,根据物体几何结构及运动特点建立模型。基于以上技术对子弹药与飞机模型建模如图3和图4所示。
图3 子弹药Creator模型图 图4 飞机Creator模型图
3.1.2 建立switch节点模型
当子弹药从上空被抛撒落至一定高度时适时开启降落伞,用以减缓下降速度,落地后降落伞收回。这一动态过程可以通过放大缩小、DOF节点控制、switch节点控制等多种方法。本系统采用switch节点控制,因为其设置简单,代码简短,而且可以方便控制其子节点显示状态。switch节点包含一系列的节点掩码,每个掩码都可以对应一种子节点的显示状态组合[7]。如图5所示,在降落伞的模型结构层中添加一个switch节点sw1,通过sw1来控制g2、g3、g4的隐藏和显示状态。Mask Count为4表示节点掩码从0到3,即4种节点状态:全部隐藏、仅显示子弹药、显示子弹药和降落伞、仅显示子弹药,Index表示当前掩码,Index为0表示此时状态为全部隐藏。
图5 降落伞结构图
3.2 Vega Prime的界面设置
Vega Prime的界面设置主要包括模型的加载、模型的位置、姿态初始化设置,环境设置以及基本的特效(火焰、浓烟、声音等)。带有switch节点的降落伞模型除了基本设置外,还需在Geometry Configuration界面下勾选Preserve Generic Names和Preserve Generic Nodes两项,如图6所示。
图6 Geometry Configuration图
3.3 Vega Prime的模型驱动
子导弹区域封锁协同作战仿真系统的驱动程序主要包括2个部分:第一个部分是进行系统配置,包括内存分配、参数设置、Vega Prime类的定义。第二个部分是导弹和飞机的运动路径规划、降落伞的打开与收回、飞机被攻击后的爆炸特效等驱动仿真过程。下面主要列出驱动程序主函数和驱动降落伞开启收回的部分控制程序:
驱动程序主函数:
void main(int argc,char * argv[1])
{
vp::initialize( argc,argv); //初始化vp
vp App * app = new vp App;
if ( argv[1] )
app->define(argv[1]);
else
app->define( "D:san.acf" ); //载入D盘上 的ACF文件
if ( app->configure()== vsgu::SUCCESS)
// 配置
app->run(); //仿真循环
app->unref();
vp::shutdown; //退出vp
}
驱动降落伞开启收回的部分控制程序:
…
int configure()
{
vpApp::configure(); //配置vp
myObject = vpObject::find("san");//寻找和验证一个指向伞对象的指针
if (myObject == NULL)
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL,"san not found");
return vsgu::FAILURE; //返回失败
}
tempNode = myObject->find_named("sw1"); //寻找一个指向伞的switch 指针并验证指针
if (tempNode == NULL)
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL, "sw1 not found");
return vsgu::FAILURE;
}
if( tempNode->isExactClassType(vsSwitch::getStaticClassType( )) ) //验证节点类型
mySwitch = static_cast
else
{
vuNotify::print(vuNotify::LEVEL_WARN, NULL, "node is not a vsSwitch");
return vsgu::FAILURE; //返回失败
}
return vsgu::SUCCESS;
}
…
3.4 碰撞检测和粒子特效
当同一空间内的两物体相对运动时可能会发生“交互”,控制两物体发生交互作用称为碰撞检测(Isector)。如果不添加碰撞检测那么两物体相会时就会产生“穿越”现象,如车子穿越房屋,飞机穿越山峰等。碰撞检测有七种类型,本仿真系统采用vpIsectorLOS碰撞检测法,该方法是单根视线线段,沿Y轴辐射,可快速检测子弹药与飞机的距离,从而控制攻击时间。当飞机进入子弹药的攻击范围内,子弹药开始攻击。
粒子特效用以模拟导弹飞行时的尾焰、爆炸飞屑、燃烧、烟雾等效果。包括vpFxMissileTrail(飞行尾迹效果),vpFxFlame(爆炸燃烧火焰)、vpFxSmoke(燃烧烟雾)、vpFxDebris(地面爆炸特效)、vpFxSplash(水中爆炸特效)[8]七种类型。本仿真系统的粒子特效采用vpFxDebris来模拟飞机被攻击后碎片飞扬的效果。
基于Multigen Creator和Vega Prime视景仿真软件,根据作战流程建立三维模型和带有switch节点的降落伞模型,编写API函数对整个系统和模型进行驱动,通过检测弹药与目标距离来控制攻击时间,利用粒子特效来模拟爆炸效果。实际运行结果表明:该作战仿真系统实现了子弹药从抛撒到成功打击目标的全过程,具有良好的交互性和真实感,对于开发Vega Prime复杂作战视景仿真系统有一定参考意义。
[1] 殷希梅,王占操,张运兵,等.地面区域封锁弹药综述[J].兵工自动化,2014,33(7):79-82.
[2] 薛雪东, 徐 兵,洪 光,等. 基于Creator/Vega Prime的某导弹发射设备模拟训练系统[J].弹箭与制导学报,2008,28(6):307-310.
[3] 李京伟, 张利萍. 基于虚拟现实技术的飞行视景仿真[J].计算机工程与设计,2005,26(7):1936-1937.
[4] 孙崇波, 唐永刚, 宁建国.基于Creator/Vega Prime的虚拟航母漫游设计[J].计算机仿真,2007,24(1):222-224.
[5] 孔中武, 石林锁,王 涛.基于Creator和Vega Prime的导弹飞行视景仿真系统设计与实现[J].四川兵工学报,2014(10):111-113.
[6] 卢卫平.基于Vega Prime/Multigen Creator的飞行复现视景仿真系统设计[D].南京:南京航空航天大学,2011.
[7] 王 乘, 周均清, 李利军.Creator可视化仿真建模技术[D].武汉:华中科技大学出版社,2005.
[8] 李亚臣, 罗永峰, 黎远忠,等.基于Vega Prime的弹箭视景仿真[J].导弹与制导学报,2007,27(4):222-225.
Area Blocking Combat System Based on Creator/Vega Prime
An Lu,Wang Jianzhong,Shi Jiadong
(College of Mechatronics, Beijing Institute of Technology,Beijing 100008,China)
Based on the Multigen Creator/Vega Prime software, a simulation system for the coordinated combat of the ammunition blocking area was developed. In the operational area implementation of blockade and combat blockade region of enemy equipment and effectives to delay enemy aircraft, slowed the build-up of troops and deployment, and grasp the initiative in wartime. Mainly by focusing on the key technologies of entity modeling, model driven, collision detection, particle effects and other technologies. In conclusion,in order to realize the visual simulation of the coordinated attack against the enemy aircraft, research is mainly focused on the Creator and Vega Prime based on VC++ visual simulation of the control process and methods. Research results show that the combat simulation system for ammunition regional blockade of real-time simulation has a certain reference value.
regional blockade; entity modeling; model driven; collision detection
2016-04-19;
2016-05-10。
安 璐(1993-),女,天津人,硕士研究生,主要从事子弹药封锁作战视景仿真技术方向的研究。
王建中(1963-),男,湖北人,教授,博士研究生导师,主要从事移动子弹药封锁作战平台方向的研究。
1671-4598(2016)09-0155-03
10.16526/j.cnki.11-4762/tp.2016.09.043
TP391.9
A