粒子系统(2d)

简介

提供了一种简单(但对大多数应用来说足够灵活)的粒子系统。粒子系统用来模拟复杂的物理效应,如火花、火、魔法粒子、烟、雾等。

其原理是“粒子”以固定的间隔和固定的寿命发射。在它的生命周期中,每个粒子都有相同的基本行为。使每个粒子与其他粒子不同并提供更有机的外观的是与每个参数相关联的“随机性”。本质上,创建粒子系统意味着设置基本物理参数,然后添加随机性。

颗粒2d

粒子系统通过 Particles2D 节点。但是,创建该节点后,您将注意到只创建了一个白点,并且在检查器中的particles2d节点旁边有一个警告图标。这是因为节点需要一个particlesMaterial来运行。

ParticlesMaterial

要将流程材质添加到粒子节点,请转到 Process Material 在你的检查小组。单击旁边的框 Material ,然后从下拉菜单中选择 New ParticlesMaterial .

../../_images/particles_material.png

现在,您的particles2d节点应该向下发出白点。

../../_images/particles1.png

纹理

粒子系统使用单个纹理(将来可能会通过spriteSheet扩展到动画纹理)。通过相关纹理属性设置纹理:

../../_images/particles2.png

时间参数

寿命

每一个粒子存活的时间(以秒计)。当寿命结束时,将创建一个新粒子来替换它。

寿命:0.5

../../_images/paranim14.gif

寿命:4.0

../../_images/paranim15.gif

一枪

启用后,particles2d节点将发射其所有粒子一次,然后再也不会发射。

预处理

粒子系统从零粒子发射开始,然后开始发射。当加载场景和系统(如手电筒、薄雾等)时,这可能会造成不便。当您进入时,系统就会开始发出光。预处理用于让系统在第一次实际绘制之前处理给定的秒数。

速度刻度

速度刻度的默认值为 1 用于调节粒子系统的速度。降低该值将使粒子变慢,而增加该值将使粒子变快。

爆炸性

如果寿命是 1 有10个粒子,这意味着每0.1秒会发射一个粒子。爆炸性参数会改变这一点,并强制粒子一起发射。范围为:

  • 0:定期发射粒子(默认值)。

  • 1:同时发射所有粒子。

中间的值也是允许的。此功能可用于创建爆炸或粒子突然爆发:

../../_images/paranim18.gif

随机性

所有物理参数都可以随机化。随机值范围从 01 . 参数随机化的公式是:

initial_value = param_value + param_value * randomness

固定fps

此设置可用于将粒子系统设置为以固定fps渲染。例如,将值更改为 2 将使粒子以每秒2帧的速度渲染。注意,这不会减慢粒子系统本身的速度。

压裂三角洲

这可用于打开或关闭压裂增量。

图纸参数

可视性矩形

可见性矩形控制屏幕上粒子的可见性。如果此矩形在视区之外,引擎将不会在屏幕上渲染粒子。

矩形的 WH 属性分别控制其宽度和高度。这个 XY 属性控制矩形左上角相对于粒子发射器的位置。

您可以让godot使用二维视图上方的工具栏自动生成可见性rect。要执行此操作,请选择particles2d节点并单击 Particles > Generate Visibility Rect . Godot将模拟粒子2d节点发射粒子数秒,并将矩形设置为适合粒子的表面。

您可以使用 Generation Time (sec) 选项。最大值为25秒。如果需要更多的时间让粒子四处移动,可以临时更改 preprocess 在particles2d节点上的持续时间。

本地坐标

默认情况下,此选项处于启用状态,这意味着粒子发射到的空间相对于节点。如果移动节点,则所有粒子都将随之移动:

../../_images/paranim20.gif

如果禁用,粒子将发射到全局空间,这意味着如果移动节点,已发射的粒子不会受到影响:

../../_images/paranim21.gif

绘图顺序

这将控制单个粒子的绘制顺序。 Index 表示根据粒子的发射顺序绘制粒子(默认)。 Lifetime 意味着它们是按照剩余寿命的顺序绘制的。

颗粒材料设置

传播

此参数是以度为单位的角度,将在任意方向随机添加到底部。 Direction . 传播 180 将向所有方向发射(+/-180)。

../../_images/paranim3.gif

重力

重力作用于每一个粒子。

../../_images/paranim7.gif

初速度

线性速度是粒子发射的速度(以像素/秒为单位)。随后,速度可能会因重力或其他加速度而改变(如下所述)。

../../_images/paranim4.gif

角速度

角速度是应用于粒子的初始角速度。

旋转速度

自旋速度是粒子围绕其中心旋转的速度(度/秒)。

../../_images/paranim5.gif

轨道速度

轨道速度用来使粒子绕着中心旋转。

../../_images/paranim6.gif

线加速度

施加在每个粒子上的线加速度。

径向加速度

如果这个加速度是正的,粒子就会加速离开中心。如果是负的,它们就会被吸收。

../../_images/paranim8.gif

切向加速度

这个加速度将使用到中心的切向量。结合径向加速度可以产生很好的效果。

../../_images/paranim9.gif

阻尼

阻尼作用于粒子的摩擦力,迫使它们停止运动。它特别适用于火花或爆炸,通常从高线速度开始,然后随着火花或爆炸的消退而停止。

../../_images/paranim10.gif

角度

确定粒子的初始角度(以度为单位)。这个参数主要是随机化的。

../../_images/paranim11.gif

规模

确定粒子的初始比例。

../../_images/paranim12.gif

颜色

用于更改正在发射的粒子的颜色。

色调变化

这个 Variation 值设置应用于每个粒子的初始色调变化。这个 Variation Random 值控制色调变化随机性比率。

发射形状

粒子材质允许您设置发射遮罩,该遮罩指示粒子发射的区域和方向。这些可以从项目中的纹理生成。

确保已设置“particlesMaterial”,并选择了“particles2d”节点。工具栏中应显示“粒子”菜单:

../../_images/emission_shapes1.png

打开并选择“加载发射遮罩”:

../../_images/emission_shapes2.png

然后选择要用作遮罩的纹理:

../../_images/emission_shapes3.png

将出现一个具有多个设置的对话框。

发射掩模

纹理可以生成三种类型的发射遮罩:

  • 实体像素:粒子将从纹理的任何区域(不包括透明区域)生成。

../../_images/emission_mask_solid.gif
  • 边界像素:粒子将从纹理的外边缘生成。

../../_images/emission_mask_border.gif
  • 定向边界像素:类似于边界像素,但向遮罩添加额外信息,使粒子能够从边界发射。注意,一个 Initial Velocity 需要设置才能使用。

../../_images/emission_mask_directed_border.gif

发射颜色

Capture from Pixel 将导致粒子在其繁殖点继承遮罩的颜色。

单击“确定”后,将生成遮罩并将其设置为粒子材质,位于 Emission Shape 章节:

../../_images/emission_shapes4.png

此部分中的所有值都是由“加载发射遮罩”菜单自动生成的,因此它们通常应单独保存。

注解

不应将图像添加到 Point TextureColor Texture 直接。应始终使用“加载发射遮罩”菜单。