基于Unity3D和粒子系统的冶金仿真特效模拟

2013-04-29 23:13:48朱婉莹陈姚节张琦丁一帆
教育教学论坛 2013年52期
关键词:粒子系统

朱婉莹 陈姚节 张琦 丁一帆

摘要:粒子系统可模拟冶金过程中因难以直接在生产线上进行各种实验,如烟雾、喷水等特效,在仿真冶金过中可利用Unity3D引擎并借助粒子系统的原理基础实现钢坯冷却时的喷水效果和动态烟雾场景。

关键词:Unity3D;粒子系统;动态烟雾

中图分类号:G642 文献标志码:A 文章编号:1674-9324(2013)52-0260-02

由于冶金工业过程的复杂特性,以及设备,工艺,加工材料和成本等因素的影响,科研人员或操作员难以直接在实际的生产线上进行各种实验,影响了人们对复杂对象的深入了解。系统仿真技术具有安全性,经济性、交互性及前瞻性等特点,利用仿真系统不仅可以深入理解并掌握各种复杂对象的动态特性,而且可以进行故障诊断和各种先进控制技术的实验,其中为了增加系统仿真过程中最大程度的逼真性,可以在冶金过程中对钢坯冷却时喷水和烟雾的特效。Unity3D是一款支持Windows、Mas OS桌面操作系統平台和Android、iOS等移动操作系统平台的三维游戏引擎,并已成功的应用到很多不同领域的三维虚拟现实开发中了。它包含图形、音频、物理、网络、粒子等功能组件,支持大多数三维模型文件格式,提供柔和阴影与烘焙等光影渲染系统和强大的可视化编辑器。在Unity3D的三维引擎的基础上结合粒子系统,可完美的实现冶金过程中喷水和烟雾的特效。

一、粒子系统原理

粒子系统是Reeves在1983年首次提出的一种模拟不规则模糊物体建模及其图像生成的一种方法。粒子系统的基本思想是采用大量的、有一定生命周期和属性的微小粒子来描述不规则的模糊物体,这些不规则的模糊物体具有不同程度的动态性和随机性,能够很好地模拟烟雾、水流、火焰、云雾、爆炸等自然场景。粒子系统中的每个粒子都随着时间的推移不断变化,在时间和空间上具有动态分布特性,从而能够很好的模拟冶金现场的喷水特效,并随着喷水而产生的动态烟雾特效。粒子系统模拟的场景变化多端,根据粒子形态的不同,可将粒子系统分为流体粒子、烟雾粒子、破碎粒子等。这里流体粒子可用来模拟喷水特效,烟雾粒子主要用来模拟随时间发展不断繁殖生长、消亡的动态粒子特效,如冶金过程中热处理的钢坯经过冷却机喷水后产生大量的烟雾等,破碎粒子主要用来模拟喷水与钢坯发生碰撞时产生水花四溅的特效。在利用粒子系统模拟某一个自然场景或特效之前,首先要对模拟对象的运动规律进

行分析,将场景或特效对象分解成由众多相互关联的粒子构成的一个运动系统,从而构建一个关于被模拟对象的动态变化模型。

1.分析物体的静态特性,初始化粒子的基本属性,如粒子的数量、形状、纹理图片、大小、颜色、初始的位置,碰撞检测等属性。

2.分析物体的运动规律,定义粒子属性变化的动态特性,如粒子的速度,生命周期等属性参数。

3.在粒子系统中生成一些具有初始属性的新粒子

4.根据粒子的动态变化特性来更新粒子的属性,粒子的初始化和运动规律完成后,粒子集合将按照所设定的规律和路径来进行活动,并且通过帧来控制每个粒子的动态变化。

5.删除系统中已经死亡的粒子

6.绘制剩余的所有粒子,每个粒子在经过一个生命周期的所有活动后就进入“死亡”阶段,这时需要粒子发射器按照粒子的生成和运动规律来绘制新的粒子。重复3-6的循环操作,就形成了物体的运动过程。

二、基于Unity3D粒子系统的冶金过程特效开发

1.Unity3D的粒子系统。Unity3D中一个典型的粒子系统包括粒子发射器(Particle Emitter)、粒子播放器(Particle Animator)和粒子渲染器(Particle Renderer)三个组件。

一个简单的静态粒子系统采用一个粒子发射器和一个粒子渲染即可实现。如果粒子系统与其他虚拟物体对象有交互时,可在物体上添加一个粒子碰撞器。粒子发射器用来产生大量粒子,Unity3D的粒子发射器有椭球粒子发生器(Ellipsoid Particle Emitter)和网格粒子发射器(Mesh Particle Emitter)两种。其中,椭球粒子发射器在一个球形范围内产生大量粒子,使用Ellipsoid属性来缩放和拉伸范围,网格粒子发射器在一个网格周围发射粒子,粒子从网格的表面产生,适用于粒子与物体通过复杂的交互方式相互作用的情况。粒子动画器将在不同的方向移动粒子和改变粒子的颜色,也可通过脚本编程的方式控制粒子系统中每个粒子的行为,从而实现更复杂的粒子特效。粒子渲染器是将粒子系统所绘制的效果渲染在显示设备屏幕上,让用户可以直观地观察到相应的视觉效果,粒子碰撞器用来实现和虚拟场景中其他碰撞体之间的相互作用,如冷却机喷水系统碰到目标对象时发生水花效果。

2.冷却机喷水特效模拟。这里以喷水为例,分析在Unity3D平台上模拟三维喷水特效的开发过程,具体实现过程如下:①制作具有碰撞检测功能的喷水预设。首先,将制作完成的水柱模型导入Unity3D虚拟场景中,并添加刚体属性组件(Rigidbody)、碰撞检测器(Box Collider)和销毁控制脚本,同时将其制作成预设,以便能在虚拟场景中多次重复使用该模型。当数据库中起总开关作用的PowerOn与控制冷却机开关的state同时打开(即同时等于1)时,冷却机开始喷水。而刚体属性检测组件是为了让水柱有向下的重力属性。碰撞检测器是用来判断水柱是否与钢坯或其他虚拟对象发生物理碰撞,即是否满足产生水花四溅的特效条件。销毁脚本是为了实现当用户关闭冷却机(state==0)或者关闭总开关(PowerOn==0)时,水柱实例对象能停止喷水自动销毁。②添加水花粒子系统。新建一个原来模拟水花特效的粒子系统,并在这个粒子系统上添加脚本模拟喷水与钢坯碰撞时溅起的水花特效,然后在音频源组件中添加一个模拟喷水效果的音频。因为水花特效也是伴随喷水特效产生的,同样需要添加一个实现水花粒子系统适时自动销毁的脚本。③冷却机向钢坯喷水并伴有水花特效。为了实现喷水特效场景,首先要新建一个实现冷却机向钢坯喷水功能的脚本文件,当总开关PowerOn打开并且冷却机开关state打开时,实例化步骤①所创建的喷水模型;当水柱与钢坯发生碰撞时,实例化步骤②所创建的水花粒子系统,当关闭冷却机或者关闭总开关时,喷水和水花实例自动销毁。

3.三维动态雾化特效模拟。向场景中添加一个包含椭球粒子发射器、粒子播放器、粒子渲染器等组件的烟雾粒子系统,并设置每个粒子系统的尺寸大小和时间寿命,每秒时间内可以产生的粒子数量、粒子的发射速度,烟雾粒子的纹理贴图等属性。首先应将烟雾粒子系统与钢坯实例对象绑定在一起,并将烟雾属性初始化为不可见,经过高温灼烧的钢坯由冷却机喷水冷却时,烟雾粒子系统属性更改为可见,产生大量的烟雾,关闭冷却机停止喷水,烟雾不会立即消失,而是逐渐消散,因此应该向烟雾粒子系统添加脚本控制其是否可见性,便可以很方便地模拟出冶金过程中将钢皮冷却时产生动态烟雾的特效。

针对冶金工业过程复杂,难以直接在实际的生产线上进行各种实验,本文基于Unity3D粒子系统模拟了冶金流程中的冷却机喷水和动态烟雾特效,对冶金仿真的特效模拟与制作有一定的参考价值。

参考文献:

[1]李旭.水工结构工程与三维可视化技术[J].山西建筑,2009,(1).

[2]柯鹏.杨春信.货台空投系统的三维动画仿真[J].系统仿真学报,2006,(5).

[3]许镇.任爱珠.张劲泉.吕建鸣.宋建永.基于有限元分析和虚拟现实技术的桥梁垮塌场景模拟[J].公路交通科技,2012,(5).

基金项目:湖北省高等学校优秀中青年科技创新团队计划(No.T201202)

猜你喜欢
粒子系统
利用GPU加速的粒子系统全球流场可视化系统设计与实现
基于OpenGL 的视频特效粒子系统在MAYA 中的实现
基于OpenGL的粒子系统的喷泉模拟
UE 4粒子系统与外部数据通信研究
基于Unity3D的水波涟漪仿真模拟
基于Unity3D粒子系统的消防水枪流体喷射仿真研究
基于OpenGL喷泉粒子系统设计与实现
科技视界(2016年11期)2016-05-23 10:00:55
基于粒子系统的交互式叶脉生成
软件工程(2014年4期)2014-09-24 20:03:13
粒子系统在航海应用上的展望*
基于粒子系统的建模与仿真综述