APP下载

基于Unity3D 的爆炸破片粒子系统的设计与实现

2017-12-14陈晓慧王广军陶健林苏本跃

数码设计 2017年6期
关键词:粒子系统飞弹破片

陈晓慧*,王广军,陶健林,苏本跃

(1.安庆职业技术学院 电子信息系,安徽安庆,246000;2.安庆师范大学 计算机与信息学院,安徽安庆,246000)

基于Unity3D 的爆炸破片粒子系统的设计与实现

陈晓慧1*,王广军2,陶健林1,苏本跃2

(1.安庆职业技术学院 电子信息系,安徽安庆,246000;2.安庆师范大学 计算机与信息学院,安徽安庆,246000)

飞弹弹丸在预制引爆后,弹壳在高能炸药的作用下炸裂形成大量高速破片飞向四周,构成具有强大破坏力的爆炸破片作用场。爆炸破片的质量、速度、数量等参数具有相应的飞散特征。本文在爆炸破片相关属性得出的经验公式基础之上,采用Unity3D引擎模拟飞弹弹丸的爆炸效果,利用粒子系统模拟爆炸破片的飞散,并通过参数交互控制粒子属性,模拟爆炸破片粒子飞散特性。

爆炸破片;经验公式;Unity3D;粒子系统

引言

计算机仿真动画是一门综合性技术,涉及计算机图形学、人机交互等多种学科技术,在工业、娱乐、军事等领域得到广泛应用。新式武器装备的设计论证、研制、生产和使用维护等过程可以适当通过仿真动画进行模拟和验证。其中,爆炸过程是武器系统的重要环节,逼真有效的爆炸过程模拟不仅可以有效的提高虚拟场景的逼真性,同时也有利于武器的测试和开发[1]。

近年来,国内外学者在爆炸过程仿真方面取得了很好的进展。陈长波[2]等通过物理运动方法对爆炸物理过程进行精确描述,取得非常逼真的效果,但由于计算过程较多,难以满足仿真动画的实时性需求;Jason Sewall[3]等通过对算法进行改进,但快速的方法渲染一帧仍需要几秒钟,难以满足虚拟现实应用对实时性的要求。华泽玺[4]等首先对爆炸运动规律进行分析,把随机扰动速度集合离子发射速度,构成爆炸破片粒子数学模型,视觉效果较好。

爆炸过程是一个复杂的过程,飞弹破裂具有不规则的几何外形,内在变化具有不确定性,同时外观也会随着时间发生不确定的变化。这种现象不同于一般的静态景物,整个过程包含产生、发展变化和消失等过程。因此,多边形或曲面等几何建模无法用来构造这种现象。根据这种现象所表现的特性,可以较好利用粒子系统来模拟。粒子系统由Reeves[5]首次提出,并实现了这类自然景观的有效模拟。粒子系统通过对基本粒子的形状、数量、速度等参数进行设置来描述动态景物的特征,本系统可以根据粒子的产生、变化和消灭来描述飞弹爆炸破片的不规则变化,模拟爆炸的过程。

针对爆炸破片杀伤型武器的计算机仿真动画,需要对爆炸破片有较高的精度要求,同时考虑实时性的需求。基于此,本文首先建立爆炸破片数学模型,采用粒子系统,设置粒子属性,使其符合爆炸破片飞散特性,使用Unity3D引擎为开发工具,重点对该工具中粒子系统属性进行设计,模拟参数可控的武器爆炸破片过程。

1 爆炸破片粒子的数学模型

1.1 爆炸破片的产生

爆炸破片的产生是个复杂的过程。本文定义飞弹来表示在飞行中引爆的各型榴弹、导弹等。飞弹的战斗部主要两部分构成,一是一定厚度的金属壳体,也即爆炸破片粒子的原形,二是高能炸药,提供爆炸破片的主要能量。高能炸药通过引爆装置引爆后,产生冲击波和多种爆轰产物。飞弹壳体在这些高压作用下剧烈变化,迅速膨胀变形、破裂直至破碎,形成大量的爆炸破片。爆轰产物和冲击波逸出,加速爆炸破片,直至速度低于爆炸破片速度。爆轰产物和冲击波会迅速衰减,但爆炸破片得到加速后快速飞出,且速度衰减较慢,构成强大的爆炸破片作用场。

简而言之,破片在爆炸后由于爆炸力产生较高的动能,从弹轴向外飞散。经过长期的实验分析,获得破片飞散特性[6][7]如下。

1.2 爆炸破片空间分布规律

爆炸破片群的飞散方向具有明显的飞散规律性,构成空间分布特性即为破片空间分布规律。常规的飞弹弹丸具有轴对称性,爆炸破片的密度一般在弹轴平面上即飞弹弹轴截面呈现出圆对称均匀分布。而爆炸破片在飞弹矢状面的分布一般是不均匀的。在弹丸的前后方近似看成飞散区边缘,飞散的爆炸破片较少,不到总数的10%,破片的分布的密度最小;大部分爆炸破片分布在弹丸的侧面,破片的密度最大,约占爆炸破片总数90%以上,构成了飞散锥。通常用函数 f(ϕ) 来表示爆炸破片的空间分布,弹轴与飞散方向的夹角由表示,即飞散方位角。f(ϕ)公式如下:

式中,方位角旋成的圆锥范围内爆炸破片数目为N 表示。

通过统计表明,爆炸破片群在飞散区的分布近似服从正态分布,因此也可以采用正态分布函数来表示,称破片飞散密度分布函数,来描述爆炸破片的飞散特性:

1.3 爆炸破片数量货量规律

爆炸破片质量分布规律即爆炸破片的不同质量区间的数量分布情况。飞弹爆炸后,弹丸战斗部壳体破裂成大小不均的破片群,使用统计规律可以求得其数目及质量分布通。这些统计规律可以通过各种不同的经验公式来进行计算,Mott公式是其中最常用的。根据Mott公式,破片粒子总数目为:

1.4 爆炸破片初速

根据前述的爆炸产生过程可知,爆炸破片在冲击波和爆轰产物的作用下在较短的距离下达到最大飞行速度,则爆炸破片的初速即为这最大飞行速度。

计算爆炸破片初速是非常复杂的问题,涉及多种因素,也会根据飞弹的几何形状有所不同。本文主要对圆柱形壳体飞弹进行模拟,因此计算破片的平均初速可以采用格尼(Gurney)公式作为主要依据,这是计算方法较为简单,具体公式如下:

其中,v0为破片初速;为格尼常数,决定于炸药性能的Gurney常数;C/ M为炸药和弹壳的质量比。

1.5 爆炸破片存速

飞弹炸药爆轰产物给予爆炸破片粒子初始速度。爆炸破片在空气之类的流体介质中飞行时,将受到多种阻力作用,主要为重力和空气阻力。重力使爆炸破片的飞行轨迹发生弯曲。而空气阻力造成破片会造成速度的衰减。设定某瞬时爆炸破片迎风面积平均为,则:

令vx为爆炸破片飞行距离x米时飞行存速,为空气气体密度。vx存速可表示为:

式中,爆炸破片阻力系数定义为CD,由爆炸破片形状和速度决定;为重力加速度;mp为爆炸破片质量;设和其中H决定于爆炸破片形状,通常称为符合系数,进而可以得到:

2 爆炸破片粒子系统

2.1 粒子系统的原理

粒子系统的基本原理是通过一系列粒子元素作为基本元素,模拟不规则现象的基本单元,并赋予这些粒子形状、大小、速度等特征属性,来模拟真实的运动状态,从而很好的模拟这些现象。自然界中这些模糊景物如火焰、风沙、雨雪等现象存在几何形状、分布状态复杂多变,难以用常规的几何建模进行模拟,因此主要采用粒子系统方法进行模拟[8-9]。

利用粒子系统可以较好描述爆炸破片粒子等现象。为了更好的通过粒子系统模拟这些现象,首先对所要模拟的这些现象的基本特性进行分析,包括这些元素的动态属性和静态属性;然后要绘制出这些粒子并展现相应的变化。具体步骤如下:

(1)在破片粒子的产生。爆炸过程中,为了简化爆炸过程,不进行飞弹形变的过程的模拟,直接定义爆炸破片粒子在爆炸后初始帧产生,在赋予相应的参数属性后,在随后的帧序列中展现破片粒子随帧即时间变化,不再产生新的破片粒子。

(2)赋予破片粒子属性。破片飞散过程中,涉及多种粒子属性,包括粒子群的数量、大小、全局速度、局部速度、生命周期等一系列属性,本文在分析真实爆炸破片的属性后对应对粒子系统的粒子属性进行相应赋值。

(3)通过设定条件使得粒子消亡。可以设定较长时间的粒子生存时间,也可以根据目标物进行不同的反应。

2.2 Unity3D粒子系统介绍

Unity3D是一款目前较为流行的专业游戏引擎[10],广泛应有于游戏开发、虚拟现实等交互系统,并可以发布到Windows、安卓、IOS、Web等多种主流平台。Unity3D内嵌Shuriken粒子系统和旧版粒子系统(Legacy Particles),旧版粒子系统是Unity 3.5以前的版本提供的粒子系统,包括粒子发射器(椭球粒子发射器(Ellipsoid Particle Emitter)、网格粒子发射器(Mesh Particle Emitter)、粒子动画器(Particle Animator和World Particle Collider)和粒子渲染器(Particle Renderer)三个独立的部分组成。如图1所示,可以方便的调整参数模拟各种粒子现象。

图1 Unity3D粒子系统参数面板

Unity3D粒子系统对粒子现象进行模拟通过对上述面板进行参数设置之外,也可以通过脚本对这些参数进行设置。为了准确模拟爆炸破片现象,需要通过编辑脚本结合破片粒子特性的数学模型,进行控制模拟[11][12]。旧版粒子系统可以较为方便的对粒子参数进行控制,因此,本系统采用旧版粒子系统进行爆炸破片粒子系统的设计。

2.3 爆炸效果的仿真算法及绘制

2.3.1 破片粒子初始位置

破片粒子在飞弹爆炸时产生并向外飞射,系统不考虑飞弹的具体破裂过程,忽略飞弹战斗部的形状变化,因此定义破片粒子瞬间产生,破片粒子的初始位置即为以飞弹爆炸中心轴点椭球范围中。可以设置椭圆粒子发射器的大小范围模拟飞弹大小。

2.3.2 破片粒子分布及速度

飞弹战斗部爆炸的空间分布首先有飞弹弹轴决定的,在弹轴截面形成均匀分布,在飞弹矢状面形成正态分布。为了实现破片粒子这些分布特性,需要设定爆炸破片粒子系统发射器产生粒子的初始方向和大小。

2.3.3 破片粒子的绘制及消亡

爆炸破片的形状不规则,具有随机性,因此,系统粒子大小可以设定最大最小值,具体的破片大小在最大最小值之间随即产生。粒子系统中的每个粒子都是有二维贴图结合公告牌技术,因此可以设置粒子贴图材质,满足爆炸破片粒子的显示需求。

粒子系统的粒子生命周期也是重要参数,当粒子产生后达到生命周期时即消亡。破片是主体为固态实物,忽略破裂之后的损烧,定义粒子生命周期较长,可根据系统需要设定,并可以判断粒子发生碰撞的目标物的,并根据不同目标物做出相应的反应。

2.3.4 破片粒子仿真约定和参数设定

爆炸破片粒子系统需要根据参数设定实现交互实验,因此,需要设定常用参数,并根据上述的破片粒子飞散特性进行计算。具体如下:

3)飞弹的飞行方向和速度将继承到破片粒子系统,因此设定飞弹的飞行速度将继承到破片粒子的全局速度World Velocity。

3 系统实现

爆炸效应包含多种粒子现象,本系统初步设计火焰、破片与烟雾三种爆炸现象。本文主要对破片粒子进行研究,本系统采用Unity3D v4.6结合旧版粒子系统进行爆炸破片粒子系统的设计和实现。

系统设计必要的仿真环节和虚拟环境。设计飞弹模型并设置多视角。爆炸效果采用火焰、烟雾和爆炸破片三套粒子系统进行模拟,建立预制体分别存储,当按下键盘F键,销毁飞弹并在销毁位置产生爆炸效果,即实例化三套粒子系统预制体。程序控制由 ShellControl.cs脚本完成,绑定在主摄像机上,爆炸破片粒子系统的参数进行定义和计算,并通过组件面板进行设置,如图2所示。

图2 爆炸破片参数设置

通过参数设定,发布并运行程序。图3显示飞弹飞行效果,图4显示按下键盘F键后产生的爆炸效果,图5显示只有破片粒子时爆炸效果。

图3 飞弹飞行效果

图4 常规爆炸效果

图5 爆炸破片效果

4 结束语

本文对预制引爆飞弹爆炸产生的破片飞散特性进行分析,采用粒子系统,对粒子属性进行设置,使其满足爆炸破片飞散特性,结合Unity3D引擎技术,实现了飞弹爆炸的破片粒子过程的模拟。

由于本文旨在研究弹丸破片的仿真,所以其它部分如飞弹的飞行过程、毁伤目标过程和声音特效等不在此做详细说明,文中也只把关键参数作了说明。另外,本文是在理想状态下进行,没有考虑到风速等作用,采用的数据也做了相应的简化。

未来将进一步完善本系统,一方面完善爆炸粒子系统的表现效果和增加参数控制,另一方面可以分析爆炸破片粒子分布特性统计验证和目标物毁伤效果评价。

[1]鲍宁. 一种基于粒子系统的交互式导弹尾焰模拟方法[D]. 东北师范大学,2016.

[2]陈长波,熊岳山. 基于流场的爆炸分裂效果模拟[J]. 计算机工程,2010,36(11): 271-273.

[3]Jason S,Nico G,Georgi T,et al. Visual Simulation of Shockwaves[J].Graphical Models,2009,71(4): 126-138.

[4]华泽玺,王迎春,孙建顺. 基于粒子系统的爆炸效果仿真研究[J].计算机科学,2012,39(4): 278-281.

[5]Reeves W T. Particle systems-a technique for modeling a class of fuzzy objects[J]. Seminal graphics. ACM,1998: 91-108.

[6]魏惠之,朱鹤松. 弹丸设计理论[M]. 北京: 国防工业出版社,2000.[7]随树元,王树山. 终点效应学[M]. 北京: 国防工业出版社,2007.

[8]沈社会,马俊枫. 基于 OpenGL及粒子系统的导弹爆炸仿真算法研究[J]. 计算机与信息技术,2009,(2): 8.

[9]李增林,徐晓刚,方旭晖,等. 小型炸弹的地面爆炸景象实时模拟[J]. 电子设计工程,2013,21(3): 7-9.

[10]Xie T. Particle System Based Unity3D Game Effects[J]. Modern Computer,2015,(24): 32-34.

[11]Xu Y,Kim E,Lee K,et al. Using PhysX Simulation Fire Model of Backdraft in Unity 3D Game Engine[J]. International Journal of Multimedia & Ubiquitous Engineering,2014,9(6): 243-252.

[12]Zhang B,Hu W. Game special effect simulation based on particle system of Unity3D[C]. International Conference on Computer and Information Science. IEEE,2017: 595-598.

The Design and Implementation of The Exploded Particle System Based on Unity3D

CHEN Xiaohui1*,WANG Guangjun2,TAO Jianlin1,SU Benyue2
(1.Department of Electronic Information,Anqing Vocational & Technical College,Anhui Anqing,246000,China 2.School of Computer and Information,Anqing Normal University,Anhui Anqing,246000,China)

After the bomb explosion,the missile broke into a large number of high speed fragments. The number,the quality,the speed and the other attributes of the fragment have the corresponding scattering characteristics. Through the analysis of the scattering characteristics of explosion fragments,the relevant empirical formulas have been summed up. Through these formulas,firstly,The Unity3D have been used to simulate the effects of missile projectiles; Secondly,the particle system is used to show the scattered fragments; Finally,the characteristics of the explosive fragments by controlling the particle properties of the fragments have been simulated.

Explosion Fragments; Empirical formulas; Unity3D; Particle system

TP391.9

A

1672-9129(2017)06-0001-04

10.19551/j.cnki.issn1672-9129.2017.06.001

陈晓慧,王广军,陶健林,等. 基于Unity3D的爆炸破片粒子系统的设计与实现[J]. 数码设计,2017,6(6): 1-3.

Cite:CHEN Xiaohui,WANG Guangjun,TAO Jianlin,et al. The Design and Implementation of The Exploded Particle System Based on Unity3D[J]. Peak Data Science,2017,6(6): 1-3.

2017-01-23;

2017-03-05。

国家科技支撑课题(2014BAH13F02),安庆师范学院校青年基金(KJ201401)。

陈晓慧,硕士,助教,安庆职业技术学院电子信息系。

Email:910800546@qq.com

猜你喜欢

粒子系统飞弹破片
破片群作用下复合材料层合板近场动力学损伤模拟*
利用GPU加速的粒子系统全球流场可视化系统设计与实现
弹药动态加载下破片测试方法
徒手抓飞弹 一点不奇怪
半预制破片战斗部破片威力分析
UE 4粒子系统与外部数据通信研究
不同动力型式的巡飞弹总体参数对比分析
前向战斗部破片散布均匀性研究*
基于粒子系统的建模与仿真综述
GPU支持下基于粒子系统编辑器的特效技术研究