毕业论文外文资料翻译

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

外文资料翻译资料来源文章名:SimulationofSmoketoImproveUnity3DGameEngineParticleSystembasedonFDS书刊名:《SoftTech2013》作者:XuYongzhe,KyunjooLee,EunjuKimJaesugKi,ByungsooLee出版社:SERSC2013章节:Vol.19页码:P183~P186文章译名:基于FDS的改进Unity3D游戏引擎粒子系统的烟雾模拟姓名:王晶学号:1105110126指导教师(职称):陈艳(讲师)专业:计算机科学与技术班级:2011信息技术01所在学院:计算机科学和与工程学院外文原文:基于FDS的改进Unity3D游戏引擎粒子系统的烟雾模拟译文:摘要:在本文中,我们基于FDS(火灾动态模拟)输出的Excel数据提出了一个方法,它能使游戏引擎进行有效的烟雾和火灾模型处理。这个Excel文件能够准确定位Unity3D游戏引擎的粒子系统和原有的粒子系统的坐标。在计算完Unity3D简单的粒子移动边界后,让他们像现实世界中的烟雾流体一样流动。当前的游戏引擎开发人员在计算机图形方面通常会集中控制可视化烟雾和火焰模型资源。但在火灾模拟中,烟雾模拟或消防员模拟的部分需要不同的方法。在本文中,我们专注于起火场所的边界,该方法能够比其他实时流体力学图形的方法更准确地改变粒子特性。关键词:计算机图形学;火灾动态模拟(FDS);烟雾;粒子系统;流体动力学;Unity3D;火灾模拟1引言第一个在计算机图形学中使用的粒子系统是用来模拟行星爆炸时产生的特殊效果。2001年,斯坦福大学的研究人员RonaldFedkiw,JoseStam,HenrikWannJesen用30万颗粒子来模拟烟雾,这是用粒子系统模拟烟雾在流体动力学方面的第一次应用,而现在,研究人员通常使用2〜300万粒子来模拟烟雾。从这个仿真模拟或游戏引擎中可以看出,FDS需要很长的时间来模拟现实世界的火焰和烟雾,实时仿真和调试3D流体运算器是非常艰巨的任务。在本文中,提出了烟雾的坐标计算工作是通过FDS输出的Excel文件中的烟雾边界值来实现的,是基于FDS产生的烟雾数据的。当计算完烟雾边界坐标后,显卡不需要计算坐标。因此,计算机的性能得到了改善。在模拟阶段,根据生成速度以及更新间隔计算新粒子的数目,每个粒子根据发射器的位置及给定的生成区域在特定的三维空间位置生成,并且根据发射器的参数初始化每个粒子的速度、颜色、生命周期等等参数。然后检查每个粒子是否已经超出了生命周期,一旦超出就将这些粒子剔出模拟过程,否则就根据物理模拟更改粒子的位置与特性,这些物理模拟可能像将速度加到当前位置或者调整速度抵消摩擦这样简单,也可能像将外力考虑进去计算正确的物理抛射轨迹那样复杂。另外,经常需要检查与特殊三维物体的碰撞以使粒子从障碍物弹回。由于粒子之间的碰撞计算量很大并且对于大多数模拟来说没有必要,所以很少使用粒子之间的碰撞。每个粒子系统都有用于其中每个粒子的特定规则,通常这些规则涉及到粒子生命周期的插值过程。例如,许多系统在粒子生命周期中对离子的阿尔法值即透明性进行插值直到粒子湮灭。2相关工作从透明度映射演示中我们可以看出,粒子系统在三维空间的点是由坐标x,y,z的值和和方向决定的,NVIDIA的烟雾遵循流体物理机制。由Harris(2004)的方法实现二维流体仿真和实现三维流体模拟是非常具有挑战性的,并且难以实现实时仿真,公式(1)是一个偏微分方程函数。公式(2)中x通过函数f改变,f依赖于x和t的变化�哈里斯2D流体仿真不具有唯一的坐标Z。烟雾演示的改进NIVIDIA盒被添加到函数Z中,如公式(3)所示。在设置世界坐标时,使用函数会在运行中占用更多的显卡资源,如图1所示。粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的游戏物理引擎。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。在更新完成之后,通常每个例子用经过纹理映射的四边形sprite进行渲染,也就是说四边形总是面向观察者。但是,这个过程不是必须的,在一些低分辨率或者处理能力有限的场合,粒子可能仅仅渲染成一个像素,在离线渲染中甚至渲染成一个元球,从粒子元球计算出的等值面可以得到相当好的液体表面。另外,也可以用三维网格渲染粒子。3DStudioMAX3通过专门的空间变形来控制一个粒子系统和场景之间的交互作用,还可以控制粒子本身的可繁殖特性,这些特性允许粒子在碰撞时发生变异、繁殖或者死亡。简单地说,粒子系统是一些粒子的集合,通过指定发射源在发射粒子流的同时创建各种动画效果。在3DStudioMAX中,粒子系统是一个对象,而发射的粒子是子对象。将粒子系统作为一个整体来设置动画,并且随时调整粒子系统的属性,以控制每一个粒子的行为。在3DStudioMAX1.0版本中,粒子系统只有Spray(喷射)和Snow(雪)两种,虽然它们是最简单的粒子系统但是效果很好,在制作流水、喷泉、灰尘时依然适用。并且高级粒子系统的创建思想也基于Spray和Snow的创建原则,只是加强了动画设计师控制粒子行为的功能。3FDS坐标和统一的3D粒子系统在本节中,我们讨论一下Unity3D粒子系统中FDS设计的程序代码。首先,我们建议在游戏中的环境边界构造方法,其次,FDS仿真环境中包含火焰与风,第三,我们使用FDS输出的Excel文件来定位烟和火焰流体的边界坐标,最后在Unity3D游戏引擎的粒子系统中加载这些粒子的坐标。在图2中,模拟X,Y,Z=27米的网格,小空间里的X,Y,Z=9米,左图为仿真的开始图像,右图展示火焰的燃烧。从右图中可以看出,白点是用来探测烟雾浓度的探测器装置。用户可以在一个模拟场景中设定坐标来感应烟雾探测器装置(白点)。每秒钟(用户可改变的时间)烟雾探测装置的坐标都会被写入烟雾密度数据中。Unity3D游戏引擎的粒子系统是一个专门处理3D对象的系统。从FDS的输出文件中,我们可以知道烟雾密度,也知道烟雾边界坐标。从程序设计的角度来看,封装在程序代码中是必不可少的,程序代码的粒子特性的设置请参考文献引用。粒子的生存周期(粒子移动的时间)由它的位置和边界所决定。我们使用的源代码都需要在不断变化的C#中,在Unity3D游戏引擎界面运行。Unity3D程序代码使用粒子系统接口方法position.x来改变粒子的位置。如果我们知道粒子移动的时间,那么粒子系的统生存周期就可通过它的位置和边界来实现。通过了解生存周期和当前时间,是有可能得到粒子坐标的,如图2所示。4仿真结果图3展示了我们在Unity3D中采用的方法。粒子依赖于程序代码中的坐标和边界,粒子坐标生存周期依赖于程序代码中的坐标。图3的左侧显示出烟雾在三维空间中的网格,中间图为产生的粒子的边界,右图为颗粒材质在生存周期内的变化。图4显示出移动粒子和计算坐标下一次。图4显示了在粒子生存周期中粒子从“开始”转向“结束”的过程直到粒子到达边界位置并消失,每个空间发送粒子到下一个随机函数空间坐标。5结论和未来的工作这个Excel文件是基于FDS烟雾探测器设备上的坐标来计算烟雾边界坐标的。我们的研究结果使得我们的烟雾粒子系统比其他可视化的烟雾粒子系统的性能更好,因为显卡可以跳过计算粒子坐标的过程。这种方法可能被用在流功能中,不仅是烟雾粒子系统,也可以在火灾模型系统使用。这种方法与普通的简单粒子系统可视化不同,我们计划未来的工作是在CFD(计算流体力学)中更细致地改变粒子边界。在许多三维建模及渲染包内部就可以创建、修改粒子系统,如3DStudioMax、Maya以及Blender等。这些编辑程序使艺术家能够立即看到他们设定的特性或者规则下粒子系统的表现,另外还有一些插件能够提供增强的粒子系统效果,例如AfterBurn以及用于流体的RealFlow。而2D的粒子特效软件中particleIllusion最为出色,因为他的渲染比一般的3D软件快较为平面化。Combustion这样的多用途软件或者只能用于粒子系统的ParticleStudio等都可以用来生成电影或者视频中的粒子系统。认可本文已被下一代防火韩国国家紧急事务管理署(NEMA)与安全核心技术开发计划研究(2012年)。

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功