粒子系统 :粒子系统

更新时间:2024-09-20 12:40

粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。

简介

3ds max非常吸引人的一项功能就是它的粒子系统(particle system),在模仿自然现象、物理现象及空间扭曲上具备得天独厚的优势。在3DSmax1.2的版本中,粒子系统能够模拟雨、雪、流水和灰尘等。随着功能的逐步完善,粒子系统几乎可以模拟任何富于联想的三维效果:烟云、火花、爆炸、暴风雪或者瀑布。为了增加物理现象的真实性,粒子系统通过空间扭曲控制粒子的行为,结合空间扭曲能对粒子流造成引力、阻挡、风力等仿真影响。

通常粒子系统在三维空间中的位置与运动是由发射器控制的。发射器主要由一组粒子行为参数以及在三维空间中的位置所表示。粒子行为参数可以包括粒子生成速度(即单位时间粒子生成的数目)、粒子初始速度向量(例如什么时候向什么方向运动)、粒子寿命(经过多长时间粒子湮灭)、粒子颜色、在粒子生命周期中的变化以及其它参数等等。使用大概值而不是绝对值的模糊参数占据全部或者绝大部分是很正常的,一些参数定义了中心值以及允许的变化。

典型的粒子系统更新循环可以划分为两个不同的阶段:参数更新/模拟阶段以及渲染阶段。每个循环执行每一帧动画。

模拟阶段

在模拟阶段,根据生成速度以及更新间隔计算新粒子的数目,每个粒子根据发射器的位置及给定的生成区域在特定的三维空间位置生成,并且根据发射器的参数初始化每个粒子的速度、颜色、生命周期等等参数。然后检查每个粒子是否已经超出了生命周期,一旦超出就将这些粒子剔出模拟过程,否则就根据物理模拟更改粒子的位置与特性,这些物理模拟可能像将速度加到当前位置或者调整速度抵消摩擦这样简单,也可能像将外力考虑进去计算正确的物理抛射轨迹那样复杂。另外,经常需要检查与特殊三维物体的碰撞以使粒子从障碍物弹回。由于粒子之间的碰撞计算量很大并且对于大多数模拟来说没有必要,所以很少使用粒子之间的碰撞。

每个粒子系统都有用于其中每个粒子的特定规则,通常这些规则涉及到粒子生命周期的插值过程。例如,许多系统在粒子生命周期中对离子的阿尔法值即透明性进行插值直到粒子湮灭

渲染阶段

在更新完成之后,通常每个例子用经过纹理映射的四边形sprite进行渲染,也就是说四边形总是面向观察者。但是,这个过程不是必须的,在一些低分辨率或者处理能力有限的场合,粒子可能仅仅渲染成一个像素,在离线渲染中甚至渲染成一个元球,从粒子元球计算出的等值面可以得到相当好的液体表面。另外,也可以用三维网格渲染粒子。

3DStudioMAX3通过专门的空间变形来控制一个粒子系统和场景之间的交互作用,还可以控制粒子本身的可繁殖特性,这些特性允许粒子在碰撞时发生变异、繁殖或者死亡。简单地说,粒子系统是一些粒子的集合,通过指定发射源在发射粒子流的同时创建各种动画效果。在3DStudioMAX中,粒子系统是一个对象,而发射的粒子是子对象。将粒子系统作为一个整体来设置动画,并且随时调整粒子系统的属性,以控制每一个粒子的行为。在3DStudioMAX1.0版本中,粒子系统只有Spray(喷射)和Snow(雪)两种,虽然它们是最简单的粒子系统但是效果很好,在制作流水、喷泉、灰尘时依然适用。并且高级粒子系统的创建思想也基于Spray和Snow的创建原则,只是加强了动画设计师控制粒子行为的功能。

系统运用

在许多三维建模及渲染包内部就可以创建、修改粒子系统,如 3D Studio Max、maya 以及 Blender 等。这些编辑程序使艺术家能够立即看到他们设定的特性或者规则下粒子系统的表现,另外还有一些插件能够提供增强的粒子系统效果,例如AfterBurn以及用于流体的 RealFlow。而2D的粒子特效软件中particleIllusion最为出色,因为他的渲染比一般的3D软件快较为平面化。Combustion 这样的多用途软件或者只能用于粒子系统的 Particle Studio 等都可以用来生成电影或者视频中的粒子系统。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: