利用Unity3D引擎实现某飞行器攻防对抗仿真

2016-11-10 08:14郑向平滕云万里周志惠
指挥控制与仿真 2016年5期
关键词:引擎飞行器可视化

郑向平,滕云万里,高 亮,周志惠

(酒泉卫星发射中心,甘肃 酒泉 732750)



利用Unity3D引擎实现某飞行器攻防对抗仿真

郑向平,滕云万里,高亮,周志惠

(酒泉卫星发射中心,甘肃 酒泉732750)

为了实现某飞行器攻防对抗的可视化仿真,利用可视化模型数据库构建技术,构建了全尺寸、高沉浸感、多视角的可视化仿真环境。利用Unity3D引擎的脚本技术,实现了导弹尾焰、大气云层、爆炸冲击波、视点跟随等特效与功能。该平台使用C#和Unity3D引擎进行开发,实现了攻防双方参数设置、计算数据和图表输出、仿真画面输出等功能,并能在多次仿真后,对不同的参数进行统计分析。该平台具有较好的扩展性,能够逼真再现飞行器的攻防对抗过程。结果表明,对于需要不断修正数学模型以逼近真实的攻防对抗过程,每次修正都能立即通过可视化平台查看、验证模型修改对攻防对抗过程带来的影响,对飞行器的设计、作战使用具有一定的参考价值。

Unity3D;飞行器;攻防对抗;可视化仿真

武器系统的攻防对抗是个非常复杂的动态过程,是指我方导弹从发射、巡航飞行到击中目标的全过程以及敌方反导防御系统从发现目标、拦截决策到拦截毁伤来袭导弹的全过程。研究该飞行器的攻防对抗过程对于科学合理地确定其作战方式、最大程度的发挥其作战效能、验证设计方案的合理性和正确性具有不可替代的作用。

可视化仿真技术是虚拟现实技术的重要组成部分,是社会各领域发展中不可缺少的高科技手段。在武器系统先期概念演示、虚拟试验验证、攻防对抗仿真和作战效能评估中被广泛应用[1]。

由于游戏引擎具有底层封装好、代码效率高、效果逼真、开发应用相对简单等特点,所以武器系统的可视化仿真,目前趋向与采用一些主流的游戏引擎来实现,包括Cryengine、Unreal、Unity3D等。

1 Unity3D

Unity3D是由丹麦Unity Technology公司开发的多平台游戏开发工具,是一个全面整合的专业游戏引擎。其中包括了图形、音频、物理、网络等多方面的引擎支持,并且有一个非常强大的编辑器来整合这一切,如图1所示。Unity 使用Mono作为脚本引擎的虚拟机,支持使用C#、JavaScript、Boo等作为脚本开发语言[2]。

图1 Unity编辑器界面

1.1Unity3D可视化流程

利用Unity3D引擎进行可视化仿真开发应用,通常经过素材拍摄或收集、贴图制作、模型制作、三维场景搭建、光照烘焙、碰撞检测设置、交互界面制作、交互脚本编写、成品发布等步骤。如图2所示,在Unity中实现攻防对抗可视化仿真,主要有三个步骤:1)在建模软件(Maya、3DMax、CAD等)中构建三维模型;2)将模型导入在Unity编辑器中,并进行场景搭建、视点设计、脚本设计等;3)在Unity引擎中实现交互、特效和碰撞检测等,最终实现可视化仿真。

图2 Unity中可视化实现的步骤

1.2Unity3D可视化的关键技术

1.2.1模型构建技术

Unity3D中模型构建主要有两种方法:一种是在3DMax、Maya等三维软件中构建好模型,将其直接导入Unity3D中使用[3];另一种是利用Unity3D自身的建模功能,搭建简单的模型。在实际开发使用中,通常采用第一种方法,模型导入后,附带了模型的空间位置、轴心点、材质、贴图、发线及UV设置、动画等信息,因此,外部建模时,模型应该放置在世界坐标系的原点,同时贴图与模型的命名尽量保持一致,方便项目管理与维护,避免采用中文,以防在Unity3D中显示为乱码[4]。

1.2.2脚本技术

Unity3D中的脚本技术较好地为可视化仿真应用,解决了程序逻辑、交互设计、视点控制、数据通信、数据驱动、碰撞响应等问题。当下面的脚本附加到带有碰撞器的刚体上时,将销毁它自己并实例化一个爆炸物。

var expl: Transform;

function OnCollisionEnter()

{Destroy (gameObject);

var ClonedEx: Transform;

ClonedEx=Instantiate(expl,transform.position,

transform.rotation);}

1.2.3碰撞检测技术

在可视化仿真应用中,高实时交互条件下复杂模型的碰撞检测,至关重要。碰撞检测的任务是检测碰撞的发生,并计算出碰撞点位置。在Unity3D中,该部分内容交由内置的物理引擎PhysX来完成。PhysX能够快速、准确、高性能地完成碰撞检测需求,通过合理的脚本技术,实现逼真的碰撞响应。

2 攻防对抗双方的数学模型

攻防对抗双方的数学模型主要是进攻方和防御方的相关模型。进攻方的模型主要有某飞行器的理想弹道模型、突防概率计算模型和杀伤概率计算模型等;防御方的模型主要有预警卫星系统的探测概率和雷达系统的发现概率计算模型、拦截武器系统的拦截概率计算模型和拦截决策模型等。下面介绍两种主要的数学模型。

2.1进攻方突防概率计算模型

导弹的突防能力,一般由突防概率指标来衡量,在计算过程中,主要考虑该飞行器突防预警卫星系统、地面预警雷达系统、地空导弹拦截、动能拦截弹和机载激光武器(ABL)拦截的情况。所以该飞行器的突防概率计算公式为[5]

Ptf=1-PDSP·PSBIRS·Pyjld·Pdkdd·Pdnlj·PABL

(1)

其中,PDSP为DSP预警卫星的探测概率,PSBIRS为天基红外预警卫星的探测概率,Pyjld为地面预警雷达的发现概率,Pdkdd为地空导弹的拦截概率,Pdnlj为动能拦截器的拦截概率,PABL为机载激光拦截武器的拦截概率。实际应用中,如果PDSP、PSBIRS、Pyjld、Pdkdd、Pdnlj、PABL中有等于零的项,其意义在于防御方无法发现或者拦截进攻方导弹,因此进攻方的突防只取决于防御方的其他设备,所以该项在计算时不予考虑,应在公式(1)中取消该项。

2.2防御方动能拦截概率计算模型

动能拦截弹简称kkv。动能拦截弹的拦截概率由下式计算[3]:

(2)

其中,D表示拦截弹发射点与来袭弹之间的距离,tyj表示预警时间,vlj为拦截弹速度,vlx为来袭弹速度,Pmz为拦截弹命中概率,Ppz为拦截弹与来袭弹的碰撞概率。

3 攻防对抗可视化仿真实现

3.1可视化仿真平台的模块组成

实现攻防对抗过程的可视化,可以将进攻方发射某飞行器进行攻击、防御方探测系统的探测过程、防御方拦截弹的发射及拦截命中过程等形象直观地呈现在用户面前。现实中很难进行次数众多的攻防对抗试验,建立可视化仿真平台后,可以实现无限次的重复仿真试验,而且可以不断修正数学模型以逼近真实的攻防对抗过程,对于每次修改都能立即通过可视化平台查看、验证模型修改对攻防对抗过程带来的影响。攻防对抗可视化仿真平台包括作战想定模块、交战模块、参数输入模块、可视化模型数据库模块、特效模块、分析评估模块等,模块框图如图3所示。

图3 攻防对抗仿真可视化平台模块组成

3.2可视化仿真模型的建立

对于可视化仿真应用而言,关键是所创建的三维模型对实时系统的有效程度。因为模型数据最终要通过实时系统进行调用和检验,实时仿真系统可能会以每秒几十次的频率对模型数据进行各种遍历、计算和渲染,在对虚拟场景中所有的物体进行准确重绘的同时还要实时响应各种外部输入信息,要提高三维模型在特定实时仿真系统中的运行速度和流畅性,获得更高的仿真运行效率,就必须对所构建的三维模型进行调整和优化。在攻防对抗可视化仿真中涉及了大地形、动能拦截器、PAC-II系统、某飞行器等模型,模型多边形数量庞大,如何进行优化以及优化的程度对仿真系统的运行效率至关重要。

3.2.1模型优化原则

实时可视化仿真应用中模型多边形数量和用户视觉要求是一对矛盾。对模型而言,多边形数量越多,模型的精细度也越好,用户的视觉体验越佳,但是实时仿真系统的运行压力越大;反之,模型越简陋,用户体验越差,但是实时仿真系统的运行压力越小。在攻防对抗可视化仿真系统建模过程中,以满足可视化仿真系统实时绘制的需要、模型多边形数量尽可能少同时满足视觉要求、最快的系统响应、与客观规律尽可能一致为优化原则[6]。

3.2.2模型优化方法

本文采用纹理取代模型、实例化模型、删除冗余多边形、LOD技术、布告板、灯光烘焙等方法对仿真中使用的三维模型进行了建模与优化[7]。图4、图5是利用上述原则和方法建立的可视化仿真模型。

图4 动能拦截器KKV

图5 爱国者Ⅱ导弹拦截系统

3.2.3地形构建技术

在攻防对抗可视化仿真中,三维地形地貌是攻防对抗环境不可或缺的部分,随着对抗仿真要求的提高,对对抗地域、精度、真实性等要求也越来越高。在普通可视化应用中,利用免费的低精度DEM数据能够满足使用要求。在该飞行器可视化仿真时,利用Google Earth获取DEM数据,生成包含高度信息的asc文件,导入MicroDem软件中生成黑白GEDTIFF格式文件,导入WorldMachine中,通过形态修饰节点、蒙板节点、融合节点对地形进一步修饰美化,最后输出带高度信息的格式为“RAW16”的文件和地表纹理图,在Unity3D中直接导入使用,然后进行细部地形的构建,比如进攻方和防御方阵地模型。采用场景分割、多分辨率地形模型、多分辨率纹理贴图等技术,对生成的2000km×2000km大地形进行了优化。

3.3脚本实现

本文利用C#和Unity3D进行可视化仿真开发,可以充分把C#简单易用和Unity3D强大的可视化功能有机的结合起来,相互之间的通讯接口采用txt格式。下面的代码片段为读取外部txt文件并移动模型的脚本,实现试验数据驱动模型运动的功能。

void Update (){//读取外部txt文件

if ((line=smRead.ReadLine())!=null){

string[] arrStr=line.Split('|');

X=arrStr[0].ToString();

Y=arrStr[1].ToString();

Z=arrStr[2].ToString();}}

function Update (){//移动模型

transform.Translate(X,0,0);

transform.Translate(0,Y,0);

transform.Translate(0,0,Z);

}

3.4特效实现

本文利用Maya进行建模以及材质贴图的设置,以C#为开发平台,以txt格式作为数据通讯接口,通过数据驱动模型运动的方式,实现了攻防对抗仿真的可视化。其中,图6为红蓝对抗双方的导弹参数、红外探测器参数、雷达参数、保护目标参数等参数设置界面。图7为防御方爱国者拦截弹发射以及拦截命中来袭导弹后起爆瞬间。

图6 部分参数设置界面

图7 爱国者拦截弹发射与拦截命中瞬间

4 应用实例

假定红方在1200km外发射某飞行器对蓝方进行攻击,由B-52H轰炸机运送至10km高空后发射,到达30km后以6Ma速度巡航飞行,距目标20km后开始俯冲攻击,其RCS等于0.1m,CEP等于5m,红外辐射强度等于1250W/sr,战斗部TNT当量120kg,壳体厚度29mm。

攻击目标为地面坚固目标,介质为钢筋混凝土,相对TNT的破碎系数为0.5,目标等效圆半径5m。

蓝方采用PAC-II导弹进行一对一拦截,其拦截导弹的有效破片数为700,破片质量为45g,破片初速1000m/s,战斗部毁伤半径为20m;蓝方探测雷达为“铺路爪”远程预警雷达,其平均频率1300MHz,扫描角速率10r/min,最大探测距离4800km,虚警率10-6,目标落入概率1,识别概率0.9,接触频率0.1,噪声系数3,损耗因子7,平均水平通视距离8km;红外探测器面积2.5×10-5cm2,光学系统透过率0.8,大气平均透过系数0.98,平均波段探测率4×1010cmHz1/2W-1,虚警率10-6。

多次模拟仿真结果表明,该飞行器的突防概率为0.778,突防后对蓝方目标的杀伤概率为0.9958。图8是不同巡航速度、不同巡航高度和不同雷达反射面积时,该飞行器对雷达突防概率的变化曲线图。

由图8(a)可以看出,随着RCS值的减小,突防概率增加。因为RCS的减小使得雷达的最大探测距离显著降低,蓝方防御半径缩小,所以红方某飞行器的突防概率增加。

由图8(b)可以看出,随着巡航高度的减小,突防概率有所增加,这是因为巡航高度降低使得雷达的通视概率降低,从而使得累积发现概率降低,所以蓝方的探测概率降低,而红方的突防概率增加,不过效果不明显。

由图8(c)可以看出,随着巡航速度的增加,突防概率有明显增大。这是因为巡航速度增加,使得防御方的防御近界扩大,有效防御厚度变薄,防御时间缩短,所以突防更容易。

从巡航速度、巡航高度和雷达反射面积对某飞行器突防概率的影响曲线可以看出,在设计该飞行器时,必须提高巡航速度,减小雷达反射面积,这样才能有效提高飞行器的突防能力。

5 结束语

本文通过建立攻防对抗双方的数学模型以及可视化模型数据库,利用先进的Unity3D引擎可视化仿真技术,建立某飞行器攻防对抗的可视化仿真平台,可以实现一对一的攻防对抗仿真。该仿真平台扩展性较好,通过不断完善所建立的数学模型,可以更逼近真实的对抗过程,而且仿真画面美观,模型逼真。利用该平台能够仿真不同RCS值、巡航速度、巡航高度对突防概率的影响,能够仿真拦截弹不同速度、不同战斗部威力对拦截概率的影响。对该飞行器的设计、使用和作战决策具有一定的参考价值。后续将考虑更多的防御和拦截突防手段,比如增加隐真示假等对抗手段,逐步完善该平台的功能,进一步逼近真实的攻防对抗过程。

图8 不同条件下某飞行器对雷达的突防概率

[1]王文广,雷永林,赵雯.NMD系统对抗过程三维可视化关键技术研究[J].系统仿真学报,2005,17(10):2406-2409.

[2]Unity Inc.Unity参考手册[Z].Danmark:Unity Inc.2010.

[3]朱慧娟.基于Unity3D的虚拟漫游系统[J].计算机系统应用,2012,21(10):36-39.

[4]欧阳攀.高射速武器弹道解算与视景仿真研究[D].太原:中北大学,2013.

[5]罗小明.弹道导弹攻防对抗的建模与仿真[M].北京:国防工业出版社,2009.

[6]郑向平,顾文彬,唐勇.基于Creator和Vega的某防护系统可视化仿真研究[J].系统仿真学报,2008,20(15)4082-4084.

[7]张建.Creator三维模型数据库优化技术[J].系统仿真技术,2010,6(2):164-168.

Simulating the Aircraft Attack-defence Confrontation Based on Unity3D

ZHENG Xiang-ping,TENG Yun-wan-li,GAO Liang,ZHOU Zhi-hui

(Jiuquan Satellite Launch Center,Jiuquan 732750,China)

In order to visually simulate the attack-defence confrontation of some aircraft,the visual model database construction technology has be used to build a full-size,high immersive,multi-angle visual simulation environment.In this environment the script technology of Unity3D has used to realize the effects and functions of missile tail fire,atmospheric clouds,explosion wave,viewpoints tracking.The platform developed by C# and Unity3D has realized the functions of parameter setting of attack-defence,calculation data and chart outputting,simulation graphics outputting.And the platform can repeated the simulations of different parameters for statistical analysis.It has better scalability to clearly reproduce the aircraft attack-defence confrontation processes.Conclusively,the mathematic model amendments of the attack-defence confrontation processes can be verified by the visual platform,which is of value to the aircraft design and combat.

Unity3D; aircraft; attack-defense confrontation; visual simulation

1673-3819(2016)05-0102-05

2016-05-23

2016-06-14

郑向平(1975-),男,浙江义乌人,博士,高级工程师,研究方向为武器系统可视化仿真。

滕云万里(1990-),男,工程师。

高亮(1972-),男,工程师。

周志惠(1979-),男,工程师。

V221;TP391.9

ADOI:10.3969/j.issn.1673-3819.2016.05.022

猜你喜欢
引擎飞行器可视化
基于CiteSpace的足三里穴研究可视化分析
自然资源可视化决策系统
高超声速飞行器
思维可视化
自然资源可视化决策系统
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
复杂飞行器的容错控制
蓝谷: “涉蓝”新引擎
神秘的飞行器