教程:表达式增强课程 #1 — 使用粒子

本教程课程旨在供希望尝试各种视觉效果的人士使用。

在开始本课程之前,我们建议先完成以下教程:

本课程将继续使用初始教程中的同一项目。如果您已将其删除,请在继续之前从该教程的开头重新创建教程项目。

步骤 1:创建粒子对象

  1. 点击场景选项卡中的 + 按钮创建新场景,然后创建 游戏对象
  2. 在对象创建窗口中,设置以下内容:
  3. 名称:任意名称(此处我们将使用 test_particle
  4. 模板particles
  5. 类型Empty
  6. 创建完成后,通过右键点击选项卡并选择 保存,或按下快捷键 Ctrl+S 来保存场景。
  7. 创建的 ParticleObject 节点是用于在视觉脚本中处理粒子的专用节点。在场景窗口中选择 ParticleObject 节点。
  8. 在右侧的检视窗口中,设置 粒子模板 ID。有多种预设粒子效果可供选择。
  9. 尝试切换不同的模板以预览效果。但是,更改模板将覆盖所有当前的子节点,因此在添加自定义粒子后请避免切换模板。测试完成后,将其设置回 NONE 以返回空状态。
  10. 点击场景窗口左上角的 + 按钮。
  11. 添加一个 GPUParticles2D 节点。
  12. 设置已完成。在下一步中,我们将介绍创建自定义粒子效果的基础知识。

注意事项

CPUParticles 与 GPUParticles
您可能会注意到有两个相似的节点——它们有什么区别?
简单来说,区别在于粒子计算是在 CPU 上还是在 GPU 上进行的。
通常情况下,对于渲染往往是性能瓶颈的 2D 游戏,推荐使用 GPU 粒子(GPUParticles2D)。
请根据您的游戏性能配置文件进行选择。

步骤 2:设置 GPU 粒子

  1. 选择您在步骤 1 中创建的 GPUParticles2D 节点,并查看检查器窗口。
  2. 点击 Process Material 旁边的空字段,然后选择 New ParticleProcessMaterial
  3. 查看中间的预览窗口。如果放大,您会看到微小的点向下掉落。这是重力的作用。为了让效果更清晰,让我们暂时禁用重力。
  4. 点击 ParticleProcessMaterial 以展开其设置。进入 Accelerations > GravityRate,将 y98 更改为 0。粒子将停止下落。
  5. Godot 的粒子系统高度可定制,拥有许多设置。目前,让我们专注于 Spawn 部分的基础设置,忽略其他部分。
  6. 首先,进入 Spawn > Position。此部分控制发射区域。尝试以下设置:
  • Emission Shape Scale(发射形状缩放):x: 30, y: 30
  • Emission Shape(发射形状):Sphere(球体)
    这将从半径为 30 像素的圆形区域内随机发射粒子。
  1. 我们暂时跳过 Angle(角度)设置,因为它稍微复杂一些。
  2. 接下来,检查 Spawn > Velocity 以调整粒子的方向和速度。尝试设置 Initial Velocity(初始速度):min: 10, max: 100。粒子现在应以 45 度角射出。
  3. 尝试将 Direction(方向)设置为 y: 1,将 Spread(扩散)设置为 30。这将使粒子以 30 度角向下发射。
  4. Spawn 部分之外的设置用于更高级的行为。关闭过程材质,让我们在检查器中测试其他基本选项。
  5. 将检查器顶部的 Max Amount(最大数量)从 8 更改为 16。这将使显示的粒子数量翻倍。
  6. Time(时间)部分,将 Lifetime(生命周期)从 1 更改为 0.3。这将缩短每个粒子的寿命,使效果更加强烈。
  7. 启用 One Shot(单次发射)。粒子效果将看起来停止,因此请确保 Emitting(发射)也已启用。
  • One Shot 意味着粒子仅发射一次然后停止。
  • Emitting 切换粒子当前是否正在发射。
    当 One Shot 开启时,Emitting 将在生命周期结束后自动禁用。
  1. 返回 Time > Explosiveness(爆炸性),将其从 0 设置为 1。这将使所有粒子以爆发形式发射,而不是随时间稳定发射。
  2. 最后,让我们添加一个纹理。在文件系统标签页中,将 templates > objects > items > I_others 中的图像拖放到粒子的 Texture(纹理)属性中。
  3. 粒子现在将使用所选图像作为其外观。

下一个教程:


高级调整技巧

想要每个粒子具有随机角度?
在 ProcessMaterial 中更改 Spawn > Angle 以随机化初始角度。

想要加速度效果?
在 ProcessMaterial 中使用 Accelerations(加速度)部分添加:

  • Linear(线性)加速度
  • Radial(径向,从中心向外)
  • Tangential(切向,圆周运动)等。

想要动画移动?
在 ProcessMaterial 中使用 AnimatedVelocity(动画速度)来动态改变方向、角度和圆周运动。

想要视觉变化?
使用 Display(显示)部分调整大小、颜色,甚至精灵动画。

本教程仅涵盖 Godot 2D 粒子系统的基础知识。如需更多信息,请查看官方文档: