粒子系统(3.5 版之前的旧版)

粒子 本质上是在三维空间中渲染的二维图像。主要用于烟、火、水滴或树叶等效果。粒子系统 (Particle System) 由以下三个独立的组件 (Component) 构成:粒子发射器 (Particle Emitter)粒子动画器 (Particle Animator)粒子渲染器 (Particle Renderer) 。如果想要静态粒子,可使用粒子发射器 (Particle Emitter) 和粒子渲染器 (Particle Renderer)。粒子动画器 (Particle Animator) 会朝不同方向移动粒子,并且会改变粒子颜色。您也可以通过脚本处理使用粒子系统中的每个单个粒子。因此,如果愿意,您可以用这种方式创建自己独特的粒子行为。

请点击这里查看粒子脚本参考 (Particle Scripting Reference)。

椭圆体粒子发射器 (Ellipsoid Particle Emitter)(旧版)

椭圆体粒子发射器 (Ellipsoid Particle Emitter) 在球体中繁殖粒子。使用下方的椭圆体 (Ellipsoid) 属性来缩放和伸展球体。


椭圆体粒子发射器 (Ellipsoid Particle Emitter) 检视器 (Inspector)

属性

属性:功能:
发射 (Emit)启用后,发射器将发射粒子。
最小尺寸 (Min Size)每个粒子被繁殖出来时可能的最小尺寸。
最大尺寸 (Max Size)每个粒子被繁殖出来时可能的最大尺寸。
最小能量 (Min Energy)每个粒子的最短寿命,以秒计。
最大能量 (Max Energy)每个粒子的最长寿命,以秒计。
最小发射量 (Min Emission)每秒最少能繁殖的粒子数。
最大发射量 (Max Emission)每秒最多能繁殖的粒子数。
世界坐标速率 (World Velocity)世界坐标空间中粒子沿 X、Y 和 Z 轴的起始速度。
局部坐标速率 (Local Velocity)粒子沿 X、Y 和 Z 轴的起始速度,沿着对象的朝向进行测量。
随机速率 (Rnd Velocity)沿 X、Y 和 Z 轴添加到速率中的随机速度。
发射器速率比例 (Emitter Velocity Scale)粒子继承的发射器速度的量。
切线速率 (Tangent Velocity)粒子沿 X、Y 和 Z 轴跨越发射器 (Emitter) 表面的起始速度。
角速率 (Angular Velocity)新粒子的角速率,以度每秒计。
随机角速率 (Rnd Angular Velocity)用于新粒子的随机角速率修改器。
随机旋转 (Rnd Rotation)如果启用,粒子将伴随随机旋转而繁殖。
在世界坐标空间中模拟 (Simulate In World Space)如果启用,则发射器移动时粒子不动。如果未启用,发射器移动时,粒子跟随在其周围。
单次发射 (One Shot)如果启用,则会同时繁殖出最小发射量与最大发射量规定的粒子数量的粒子。如果禁用,粒子将以长粒子流的形式产生。
椭圆体 (Ellipsoid)粒子产生于其中的沿 X、Y 和 Z 轴的球体范围。
最小发射器范围 (MinEmitterRange)在球体的中心确定一个空白区域 - 以此使粒子出现在该球体的边缘。

详细信息

椭圆体粒子发射器 (EPE) 是基本的发射器。当您通过菜单组件 (Components) -> 粒子 (Particles) -> 粒子系统 (Particle System) 到场景时,椭圆体粒子发射器 (EPE) 也添加到了其中。您可以为待繁殖的粒子定义边界,并赋予这些粒子一个初始速度。在这里,您可以使用粒子动画器控制粒子随时间变化的方式以实现有趣的效果。

粒子发射器 (Particle Emitter) 与粒子动画器以及粒子渲染器结合使用来创建、控制和显示粒子系统 (Particle System)。粒子表现正确前,三个组件 (Component) 都必须呈现在对象上。发射粒子时,所有不同的速率相加成为最终速率。

繁殖属性

诸如尺寸 (Size)能量 (Energy)发射量 (Emission)速率 (Velocity) 的繁殖属性将在您试图达到不同的效果时赋予您的粒子系统鲜明的特性。具备小尺寸 (Size) 可以模拟夜空中的萤火虫或星星。大尺寸 (Size) 可以模拟燃香旧建筑中的尘埃云。

能量 (Energy)发射 (Emission)会控制粒子在屏幕上停留的时间以及任何一个时间出现的粒子数量。例如,火箭可能有较高的发射量 (Emission) 模拟烟雾的浓度,而较高的能量 (Energy) 模拟烟雾在空气中缓慢扩散。

速率 (Velocity) 会控制粒子的移动方式。如果您想通过脚本处理来改变速率 (Velocity) 以实现有趣的效果,或者想模拟像风一样的持续效果,那么请设定 X 轴和 Z 轴的速率 (Velocity) ,将您的粒子吹走。

在世界坐标空间中模拟 (Simulate In World Space)

如果禁用此项属性,每个单个粒子的位置都将始终随发射器的位置 (Position)而变化。当发射器移动时,粒子将跟随它移动。如果启用在世界坐标空间中模拟 (Simulate in World Space) 属性,粒子将不会受到发射器移位的影响。例如,如果您有一个正在喷射会上升的火焰的火球,那么产生的火焰会随着火球渐渐远去上浮到空中。如果禁用在世界坐标空间中模拟 (Simulate in World Space) 属性,相同的火焰则会随着火球在屏幕上移动。

发射器速率比例 (Emitter Velocity Scale)

此属性只有在已启用在世界坐标空间中模拟 (Simulate in World Space) 属性时才适用。

如果此属性设置为 1,粒子则将在被繁殖出来时继承发射器的精确移位。如果设置为 2,粒子则将在被繁殖出来时继承双倍的发射器移位。设置为 3 则是三倍发射器移位,等等。

单次发射 (One Shot)

单次发射 (One Shot) 发射器将在发射量 (Emission)属性中一次性创造出所有粒子,并随时间停止粒子发射。以下是单次发射 (One Shot) 属性 已启用 (Enabled)已禁用 (Disabled) 时一些不同粒子系统运用的示例:

已启用:

已禁用:

最小发射器范围 (Min Emitter Range)

最小发射器范围 (Min Emitter Range) 决定粒子在椭圆体内部的繁殖位置深度。此项设置为 0 将允许粒子在从椭圆体核心到最外层的范围内的任何地方繁殖。设置为 1 会将繁殖位置限制在椭圆体最外层。


最小发射器范围 (Min Emitter Range) 设置为 0

最小发射器范围 (Min Emitter Range) 设置为 0

提示

网格粒子发射器(旧版)

网格粒子发射器(旧版)在网格周围发射粒子。粒子从网格的表面繁殖出来,在您想使粒子与对象通过复杂的方式相互作用的时候,网格就是必要的。


网格粒子发射器 (Mesh Particle Emitter) 检视器 (Inspector)

属性

属性:功能:
发射 (Emit)启用后,发射器将发射粒子。
最小尺寸 (Min Size)每个粒子被繁殖出来时可能的最小尺寸。
最大尺寸 (Max Size)每个粒子被繁殖出来时可能的最大尺寸。
最小能量 (Min Energy)每个粒子的最短寿命,以秒计。
最大能量 (Max Energy)每个粒子的最长寿命,以秒计。
最小发射量 (Min Emission)每秒最少能繁殖的粒子数。
最大发射量 (Max Emission)每秒最多能繁殖的粒子数。
世界坐标速率 (World Velocity)世界坐标空间中粒子沿 X、Y 和 Z 轴的起始速度。
局部坐标速率 (Local Velocity)粒子沿 X、Y 和 Z 轴的起始速度,沿着对象的朝向进行测量。
随机速率 (Rnd Velocity)沿 X、Y 和 Z 轴添加到速率中的随机速度。
发射器速率比例 (Emitter Velocity Scale)粒子继承的发射器速度的量。
切线速率 (Tangent Velocity)粒子沿 X、Y 和 Z 轴跨越发射器 (Emitter) 表面的起始速度。
角速率 (Angular Velocity)新粒子的角速率,以度每秒计。
随机角速率 (Rnd Angular Velocity)用于新粒子的随机角速率修改器。
随机旋转 (Rnd Rotation)如果启用,粒子将伴随随机旋转而繁殖。
在世界坐标空间中模拟 (Simulate In World Space)如果启用,则发射器移动时粒子不动。如果未启用,发射器移动时,粒子跟随在其周围。
单次发射 (One Shot)如果启用,则会同时繁殖出最小发射量与最大发射量规定的粒子数量的粒子。如果禁用,粒子将以长粒子流的形式产生。
插值三角形 (Interpolate Triangles)如果启用,粒子将繁殖在网格的整个表面上。如果禁用,粒子仅从网格的顶点繁殖出。
系统化 (Systematic)如果启用,粒子将按网格中定义的顶点顺序进行繁殖。虽然您几乎不直接控制网格中顶点的顺序,但大多数三维建模应用程序在使用基元时都有非常系统的设置。为了使这个能够实现,网格不包含表面很重要。
最小法线速率 (Min Normal Velocity)从网格抛出的粒子的最小数量。
最大法线速率 (Max Normal Velocity)从网格抛出的粒子的最大数量

详细信息

当您需要的对繁殖位置和方向的精确控制大于简单的椭圆粒子发射器 (Ellipsoid Particle Emitter) 所提供 的控制时,请使用网格粒子发射器 (MPE)。这种发射器可用于制造高级的效果。

MPE 的运行原理是在附属网格的顶点发射粒子。因此,您的网格中多边形越密集的区域,粒子发射也就越密集。

粒子发射器 (Particle Emitter) 与粒子动画器以及粒子渲染器结合使用来创建、控制和显示粒子系统 (Particle System)。粒子表现正确前,三个组件 (Component) 都必须呈现在对象上。发射粒子时,所有不同的速率相加成为最终速率。

繁殖属性

诸如尺寸 (Size)能量 (Energy)发射量 (Emission)速率 (Velocity) 的繁殖属性将在您试图达到不同的效果时赋予您的粒子系统鲜明的特性。具备小尺寸 (Size) 可以模拟夜空中的萤火虫或星星。大尺寸 (Size) 可以模拟燃香旧建筑中的尘埃云。

能量 (Energy)发射 (Emission)会控制粒子在屏幕上停留的时间以及任何一个时间出现的粒子数量。例如,火箭可能有较高的发射量 (Emission) 模拟烟雾的浓度,而较高的能量 (Energy) 模拟烟雾在空气中缓慢扩散。

速率 (Velocity) 会控制粒子的移动方式。如果您想通过脚本处理来改变速率 (Velocity) 以实现有趣的效果,或者想模拟像风一样的持续效果,那么请设定 X 轴和 Z 轴的速率 (Velocity) ,将您的粒子吹走。

在世界坐标空间中模拟 (Simulate In World Space)

如果禁用此项属性,每个单个粒子的位置都将始终随发射器的位置 (Position)而变化。当发射器移动时,粒子将跟随它移动。如果启用在世界坐标空间中模拟 (Simulate in World Space) 属性,粒子将不会受到发射器移位的影响。例如,如果您有一个正在喷射会上升的火焰的火球,那么产生的火焰会随着火球渐渐远去上浮到空中。如果禁用在世界坐标空间中模拟 (Simulate in World Space) 属性,相同的火焰则会随着火球在屏幕上移动。

发射器速率比例 (Emitter Velocity Scale)

此属性只有在已启用在世界坐标空间中模拟 (Simulate in World Space) 属性时才适用。

如果此属性设置为 1,粒子则将在被繁殖出来时继承发射器的精确移位。如果设置为 2,粒子则将在被繁殖出来时继承双倍的发射器移位。设置为 3 则是三倍发射器移位,等等。

单次发射 (One Shot)

单次发射 (One Shot) 发射器将在发射量 (Emission)属性中一次性创造出所有粒子,并随时间停止粒子发射。以下是单次发射 (One Shot) 属性 已启用 (Enabled)已禁用 (Disabled) 时一些不同粒子系统运用的示例:

已启用:

已禁用:

插值三角形(Interpolate Triangles)

您的发射器启用插值三角形 (Interpolate Triangles)属性时,粒子可以在网格顶点之间繁殖。此选项默认为关闭状态。因此,粒子仅会在顶点繁殖。


插值三角形 (Interpolate Triangles) 关闭(默认情况)时的球体

启用此选项,粒子将繁殖在顶点上和顶点之间,基本上网格整个表面都有粒子(如下图所示)。


插值三角形 (Interpolate Triangles) 开启时的球体

值得重申的是,即使启用插值三角形 (Interpolate Triangles) 属性,网格中多边形更密集的区域的粒子密度仍然会更大。

系统化(Systematic)

启用系统化 (Systematic) 属性将使粒子按您的网格顶点顺序而繁殖。顶点顺序由您的三维建模应用程序设置。


附属于某个球体的 MPE,该 MPE 的系统化 (Systematic) 属性已启用

法线速率(Normal Velocity)

法线速率 (Normal Velocity) 控制粒子在它们的繁殖位置沿法线被发射出的速度。

例如,创建一个网格粒子系统 (Mesh Particle System),用一个立方体网格作为发射器,启用插值三角形 (Interpolate Triangles),并将法线速率的最小值 (Normal Velocity Min)最大值 (Max)都设置为 1。现在您将看到粒子从立方体表面沿一条直线发射出来。

另请参阅

提示

Part粒子动画器(旧版)

Parti粒子动画器 (Particle Animator) 随着时间移动粒子。您可以将其用于对粒子系统应用风、拖拽和颜色循环效果。


粒子动画器 (Particle Animator) 检视器 (Inspector)

属性

属性:功能:
使用动画颜色 (Does Animate Color)如果启用,粒子在其生命周期内将循环使用各种颜色。
颜色动画 (Color Animation)粒子会经历的 5 种颜色。所有粒子都会循环使用这些颜色 - 如果某些粒子的寿命比别的粒子短,那么它们的颜色变换会更快。
世界坐标旋转轴 (World Rotation Axis)可选的世界坐标 (World) 空间轴,粒子围绕其旋转。使用此选项可制造高级法术效果,或赋予腐蚀性泡沫一些生命力。
局部坐标旋转轴 (Local Rotation Axis)可选的局部坐标 (Local) 空间轴,粒子围绕其旋转。使用此选项可制造高级法术效果,或赋予腐蚀性泡沫一些生命力。
尺寸增长 (Size Grow)使用此选项可使粒子在其生命周期内增长尺寸。由于随机力会向外散播您的粒子,因此使它们增长尺寸往往是不错的选择,这样粒子就不会破碎。使用此选项可以使烟上升、模拟风等等。
随机力 (Rnd Force)每帧添加给粒子的随机力。使用此选项可使烟变得更活跃。
力 (Force)每帧添加给粒子的力,参照世界坐标 (World) 进行测量。
阻尼 (Damping)每帧粒子减速多少。1 表示没有阻尼,而小于 1 的值则会使粒子减速。
自动销毁 (Autodestruct)如果启用,附属于粒子动画器 (Particle Animator) 的游戏对象 (GameObject) 则会在所有粒子消失时被销毁。

详细信息

粒子动画器 (Particle Animator) 使您的粒子系统可以成为动态的系统。使用动画器,您可以改变粒子颜色、施加力和应用旋转效果,还可以在粒子系统完成发射时选择将其销毁。有关粒子系统 (Particle System) 的更多信息,请参考网格粒子发射器椭圆体粒子发射器粒子渲染器.

动画颜色 (Animating Color)

如果您想使粒子改变颜色或淡入/淡出,可以对粒子启用动画颜色 (Animate Color) 属性并指定粒子要循环使用的颜色。使用动画颜色的任何粒子系统都将循环使用您选择的 5 种颜色。发射器的能量 值决定颜色循环的速度。

如果您想使粒子逐渐淡入而不是立即显现,请为第一种或最后一种颜色设置一个低 Alpha 值。


动画颜色 (Animating Color) 粒子系统 (Particle System)

旋转轴

在局部坐标或世界坐标旋转轴 (Rotation Axes) 中设置值都将使所有繁殖的粒子围绕所指示的轴旋转(以变换 (Transform) 的位置作为中心)。轴上输入的值越大,旋转会越快。

设置局部坐标轴 (Local Axis) 的值将使正在旋转的粒子随着变换 (Transform) 的旋转的改变而调整自己的旋转,以配合局部坐标 (Local) 轴。

设置世界坐标轴 (World Axis) 的值将使粒子的旋转始终如一,而不管变换 (Transform) 的旋转如何。

力 (Force) 和阻尼 (Damping)

您可以使用力使粒子沿此力所指的方向加速。

阻尼 (Damping) 可用于使粒子减速或加速而不改变其方向:

销毁附属于粒子的游戏对象 (GameObject)

您可以通过启用自动销毁 (AutoDestruct) 属性来销毁粒子系统 (Particle System) 和任何附属的GameObject 。例如,如果您有一个油桶,可以为其附加一个禁用发射 (Emit) 属性并启用自动销毁 (AutoDestruct) 属性的粒子系统 (Particle System)。发生碰撞时,您可以启用粒子发射器 (Particle Emitter)。爆炸发生并结束后,粒子系统 (Particle System) 和油桶将被销毁并从场景中移除。

请注意,仅在已发射一些粒子后自动销毁才会生效。启用自动销毁 (AutoDestruct) 属性时,何时销毁对象的精准规则如下:

提示

世界坐标粒子碰撞组件(旧版)

世界坐标粒子碰撞器(旧版)用于使粒子与场景中的其他 碰撞器 (Colliders) 发生碰撞。


网格碰撞器 (Mesh Collider 发生碰撞的$$粒子系统 (Particle System)$

属性

属性:功能:
反弹系数 (Bounce Factor)粒子与其他对象发生碰撞后会加速或减速。该系数与 粒子动画 (Particle Animator) 阻尼 (Damping 属性类似。
碰撞能量损失 (Collision Energy Loss)粒子在碰撞时应损失的能量数量(以秒为单位)。如果能量值低于 0,则表明粒子被杀死了。
最小消灭速率 (Min Kill Velocity)如果粒子由于碰撞而速度 (Velocity) 降到最小消灭速度 (Min Kill Velocity) 以下,则该粒子将被剔除。
碰撞对象 (Collides with)哪些与粒子发生碰撞。
发送碰撞消息 (Send Collision Message)启用后,每个粒子会发出一条碰撞消息,您可以通过脚本捕获此消息。

详细信息

要创建一个带有粒子碰撞组件 (Particle Collider) 的粒子系统 (Particle System),请执行以下操作:

  1. 使用游戏对象 (GameObject) -> 创建其他 (Create Other) -> 粒子系统 (Particle System)创建“粒子系统”(Particle System)
  2. 使用组件 (Component) -> 粒子 (Particles) -> 世界坐标粒子碰撞器 (World Particle Collider)添加粒子碰撞器 (Particle Collider)

发送消息

如果启用了发送碰撞消息 (Send Collision Message) 功能,发生碰撞的所有粒子将发送消息 OnParticleCollision() 到粒子的游戏对象 (GameObject)以及与该粒子发生碰撞的游戏对象 (GameObject)。

提示

粒子渲染器(旧版)

粒子渲染器(旧版)渲染屏幕上的粒子系统 (Particle System)


粒子渲染器 (Particle Renderer) $检视器 (Inspector)$$

属性

属性:功能:
投射阴影 (Cast Shadows)启用该功能后,对象可以投射阴影。
接收阴影 (Receive Shadows)启用该功能后,对象可以接收阴影。
材质 (Materials)将显示在每个单个粒子位置的材质 (Materials) 列表的参考。
使用光探头 (Use Light Probes)如果启用该功能,并且烘光探头出现在场景中,则插入光探头。
光探头锚点 (Light Probe Anchor)设置后,渲染器 (Renderer) 将利用此变换组件 (Transform) 的位置找到插入的光探头。
相机速率比例 (Camera Velocity Scale)根据相机移动应用于粒子 (Particles) 的伸展量
伸展粒子 (Stretch Particles)确定如何渲染粒子。
布告板 (Billboard)粒子仿佛是面对相机渲染的。
伸展 (Stretched)粒子正面向其移动的方向。
排序布告板 (SortedBillboard)排序布告板 (SortedBillboard) 粒子按深度排序。使用混合材质时使用此选项。
垂直布告板 (VerticalBillboard)所有粒子沿 X/Z 轴水平对准。
水平布告板 (HorizontalBillboard)所有粒子沿 X/Y 轴水平对准。
长度比例 (Length Scale)如果伸展粒子 (Stretch Particles)设置为伸展 (Stretched),这个值决定粒子在其运动方向上的长度。
速率比例 (Velocity Scale)如果伸展粒子 (Stretch Particles)设置为伸展 (Stretched),这个值会根据粒子的移动速度确定粒子的伸展速率。
UV 动画 (UV Animation)如果设置了其中任何一项,则会生成粒子的 UV 坐标,从而与平铺动画纹理一同使用。请参阅以下关于 动画纹理部分。
X 轴平铺 (X Tile)分布于 X 轴的帧数。
Y 轴平铺 (Y Tile)分布于 Y 轴的帧数。
循环 (Cycles)动画序列的循环次数。

详细信息

任何粒子系统 (Particle System) 在屏幕上显示都需要粒子渲染器(Particle Renderer)。


粒子渲染器(Particle Renderer) 让武装直升机发动机排出的气体出现在屏幕上

选择材质

设置“粒子渲染器”(Particle Renderer) 时,使用合适的材质和渲染材质两面的着色器极其重要。大多数情况下会使用内置粒子着色器 (Particle Shader) 中的一种材质 (Material)。标准资源 (Standard Assets) -> 粒子 (Particles) -> 来源 (Sources) 文件夹中有一些预制材质供您使用。

创建新材质很容易:

  1. 在菜单栏中选择资源 (Assets) -> 创建其他 (Create Other) -> 材质 (Material)
  2. 材质有一个着色器弹出窗口,请在“粒子”(Particles) 组中选择一种着色器。例如:粒子 (Particles) -> 多层 (Multiply)
  3. 3. 现在分配纹理 (Texture)。不同的着色器对纹理 alpha 通道的使用略有不同,但大多数情况下黑色值使其不可见,而 alpha 通道中的白色会使其显示在屏幕上。

扭曲粒子

默认情况下,粒子被渲染成布告板式样。这是简单的方块。适用于烟、爆炸和大部分其他粒子效果。

粒子可被设置为以一定速率伸展。这对火花、闪电或激光束有用。长度比例 (Length Scale)速度比例 (Velocity Scale) 影响粒子的伸展长度。

排序布告板 (Sorted Billboard) 可将所有粒子按深度进行排序。有时候这是必要的,主要在使用 Alpha 混合 (Alpha Blended) 粒子着色器时。此项成本高昂,应只在渲染质量确实能得到改善时使用。

动画纹理

可以使用动画平铺纹理渲染粒子系统 (Particle Systems)。要使用此功能,请让纹理位于图像栅格之外。由于粒子会经历其生命周期,因此它们会通过图像进行循环。这适用于延长粒子的生命周期或制作小的旋转碎片会比较好。

提示

Page last updated: 2013-06-26