Version: 2018.4
What is a Particle System?
Particle System How-Tos

在 Unity 中使用粒子系统

Unity 使用组件实现粒子系统,因此将粒子系统放置在场景中涉及到添加预制的游戏对象(菜单:__GameObject__ > Effects > Particle System__)或将组件添加到现有游戏对象(菜单:__Component > Effects > Particle System__)。由于组件非常复杂,因此 Inspector 分为多个可折叠子部分或__模块__,每个子部分或模块都包含一组相关属性。此外,可使用单独的 Editor 窗口(通过 Inspector 中的 Open Window__ 按钮访问)同时编辑一个或多个系统。请参阅有关粒子系统组件和各个粒子系统模块的文档,了解更多信息。

选择带有粒子系统的游戏对象时,Scene 视图包含一个小的 Particle Effect 面板,其中有一些简单控件,用于显示对系统设置的更改。

Playback Speed 用于加快或减慢粒子模拟速度,可以直观查看在高级状态下的效果。Playback Time 表示自系统启动以来经过的时间;这可能比实时更快或更慢,具体取决于播放速度。Particle Count 表示系统中当前有多少粒子。通过单击 Playback Time 标签并向左和向右拖动鼠标,即可前后移动播放时间。面板顶部的按钮可用于暂停和恢复模拟,或停止模拟并重置为初始状态。

随时间推移而变化的属性

粒子甚至整个粒子系统的许多数字属性都可能随时间而变化。Unity 提供了几种不同的方法来指定这种变化的发生方式:

  • __Constant:__属性的值在其整个生命周期内是固定的。
  • __Curve:__该值由曲线/图形指定。
  • __Random Between Two Constants:__两个常量值定义了值的上限和下限;实际值随着时间的推移在这些边界之间随机变化。
  • __Random Between Two Curves:__两条曲线定义了值在生命周期内给定点的上限和下限;当前值在这些边界之间随机变化。

将属性设置为 CurveRandom Between Two Curves 时,粒子系统曲线编辑器 (Particle System Curves Editor) 将显示在 Inspector 的底部:

要编辑曲线,请单击并拖动结束点或关键点以调整曲线形状:

粒子系统曲线与动画曲线类似。如需了解关于使用曲线的更多信息,请参阅有关编辑曲线的文档。

粒子系统曲线编辑器具有以下按钮:

  • __Optimize__:使曲线适应四个或更少的关键点以构建称为多项式 (Polynomial) 的快速计算器,这比读取未优化的曲线更有效。
  • __Remove__:删除选定的曲线。

要编辑粒子系统播放曲线的方式,请单击所选关键点旁边的齿轮图标,然后选择以下选项之一:

  • __Loop__:在粒子的生命周期内以指定的次数播放曲线。例如,如果制作一条缩放粒子大小的曲线,可以指定其多次循环,这会使“大小缩放”动画在粒子消亡之前多次播放,而不是仅播放一次。
  • Ping Pong__:与 Loop__ 相似,但以连续振荡的方式依次向前和向后播放曲线。
  • __Clamp__:将超出曲线时间范围的粒子查询限制为曲线的第一个或最后一个值。

同样,主模块中的 Start Color 属性具有以下选项:

  • __Color:__粒子初始颜色在整个系统的生命周期内是固定的。
  • __Gradient:__使用渐变指定的初始颜色发射粒子,渐变表示粒子系统的生命周期。
  • __Random Between Two Colors:__选择两种给定颜色之间的随机线性插值作为初始粒子颜色。
  • __Random Between Two Gradients:__在对应于粒子系统当前时期的点处从给定渐变中挑选两种颜色;选择这两种颜色之间的随机线性插值作为初始粒子颜色。
  • __Random Color__:对于每个新生成的粒子,从渐变中随机挑选任意点。

为粒子设置 Gradient 颜色时,将显示渐变编辑器 (Gradient Editor):

  • __Mode:__确定是否混合粒子颜色设置。
  • __Color:__显示渐变中当前所选关键点的颜色。使用此项可以编辑渐变中该位置的颜色。
  • __Location:__显示当前所选关键点在渐变上的距离。
  • __Presets:__保存渐变设置。单击 New 可将当前值集设置为渐变预设。

各种模块中的颜色属性按照每个通道相乘,从而计算出最终的粒子颜色结果。

动画绑定

动画系统可以访问所有粒子属性,这意味着可以将它们设置到关键帧中并从动画中控制它们。

要访问粒子系统的属性,必须有一个 Animator 组件连接到粒子系统的游戏对象。此外还需要动画控制器 (Animation Controller) 和动画。

要动画化粒子系统,请添加 Animator 组件,并为动画控制器 (Animator Controller) 分配动画。
要动画化粒子系统,请添加 Animator 组件,并为动画控制器 (Animator Controller) 分配动画。

要动画化粒子系统属性,请打开 Animation 窗口__,并选择包含 Animator 和粒子系统的游戏对象。单击 Add Property__ 以添加属性。

在 Animation 窗口中为动画添加属性。
在 Animation 窗口中为动画添加属性。

向右滚动以显示__添加控件__。

请注意,对于曲线,只能对整体__曲线乘数__进行关键帧设置(可在 Inspector 中的曲线编辑器旁边找到该曲线乘数)。


  • 2018–11–27 页面已修订并只进行了有限的编辑审查

  • 在 Unity 4.6 中更改了 GameObject 菜单

  • 2018.3 版中添加了粒子系统 Loop/Ping-Pong 曲线播放 NewIn20183X

What is a Particle System?
Particle System How-Tos