本教程课程旨在供希望尝试各种视觉效果的人士使用。
在开始本课程之前,我们建议先完成以下教程:
本课程将继续使用初始教程中的同一项目。如果您已将其删除,请在继续之前从该教程的开头重新创建教程项目。
步骤 1:创建粒子对象
- 点击场景选项卡中的 + 按钮创建新场景,然后创建 游戏对象。
- 在对象创建窗口中,设置以下内容:
- 名称:任意名称(此处我们将使用
test_particle)
- 模板:
particles
- 类型:
Empty
- 创建完成后,通过右键点击选项卡并选择 保存,或按下快捷键 Ctrl+S 来保存场景。
- 创建的
ParticleObject 节点是用于在视觉脚本中处理粒子的专用节点。在场景窗口中选择 ParticleObject 节点。
- 在右侧的检视窗口中,设置 粒子模板 ID。有多种预设粒子效果可供选择。
- 尝试切换不同的模板以预览效果。但是,更改模板将覆盖所有当前的子节点,因此在添加自定义粒子后请避免切换模板。测试完成后,将其设置回
NONE 以返回空状态。
- 点击场景窗口左上角的 + 按钮。
- 添加一个
GPUParticles2D 节点。
- 设置已完成。在下一步中,我们将介绍创建自定义粒子效果的基础知识。
注意事项
CPUParticles 与 GPUParticles
您可能会注意到有两个相似的节点——它们有什么区别?
简单来说,区别在于粒子计算是在 CPU 上还是在 GPU 上进行的。
通常情况下,对于渲染往往是性能瓶颈的 2D 游戏,推荐使用 GPU 粒子(GPUParticles2D)。
请根据您的游戏性能配置文件进行选择。
步骤 2:设置 GPU 粒子
- 选择您在步骤 1 中创建的
GPUParticles2D 节点,并查看检查器窗口。
- 点击 Process Material 旁边的空字段,然后选择 New ParticleProcessMaterial。
- 查看中间的预览窗口。如果放大,您会看到微小的点向下掉落。这是重力的作用。为了让效果更清晰,让我们暂时禁用重力。
- 点击 ParticleProcessMaterial 以展开其设置。进入 Accelerations > GravityRate,将 y 从
98 更改为 0。粒子将停止下落。
- Godot 的粒子系统高度可定制,拥有许多设置。目前,让我们专注于 Spawn 部分的基础设置,忽略其他部分。
- 首先,进入 Spawn > Position。此部分控制发射区域。尝试以下设置:
- Emission Shape Scale(发射形状缩放):x: 30, y: 30
- Emission Shape(发射形状):Sphere(球体)
这将从半径为 30 像素的圆形区域内随机发射粒子。
- 我们暂时跳过 Angle(角度)设置,因为它稍微复杂一些。
- 接下来,检查 Spawn > Velocity 以调整粒子的方向和速度。尝试设置 Initial Velocity(初始速度):min: 10, max: 100。粒子现在应以 45 度角射出。
- 尝试将 Direction(方向)设置为 y: 1,将 Spread(扩散)设置为 30。这将使粒子以 30 度角向下发射。
- Spawn 部分之外的设置用于更高级的行为。关闭过程材质,让我们在检查器中测试其他基本选项。
- 将检查器顶部的 Max Amount(最大数量)从
8 更改为 16。这将使显示的粒子数量翻倍。
- 在 Time(时间)部分,将 Lifetime(生命周期)从
1 更改为 0.3。这将缩短每个粒子的寿命,使效果更加强烈。
- 启用 One Shot(单次发射)。粒子效果将看起来停止,因此请确保 Emitting(发射)也已启用。
- One Shot 意味着粒子仅发射一次然后停止。
- Emitting 切换粒子当前是否正在发射。
当 One Shot 开启时,Emitting 将在生命周期结束后自动禁用。
- 返回 Time > Explosiveness(爆炸性),将其从
0 设置为 1。这将使所有粒子以爆发形式发射,而不是随时间稳定发射。
- 最后,让我们添加一个纹理。在文件系统标签页中,将
templates > objects > items > I_others 中的图像拖放到粒子的 Texture(纹理)属性中。
- 粒子现在将使用所选图像作为其外观。
下一个教程:
高级调整技巧
想要每个粒子具有随机角度?
在 ProcessMaterial 中更改 Spawn > Angle 以随机化初始角度。
想要加速度效果?
在 ProcessMaterial 中使用 Accelerations(加速度)部分添加:
- Linear(线性)加速度
- Radial(径向,从中心向外)
- Tangential(切向,圆周运动)等。
想要动画移动?
在 ProcessMaterial 中使用 AnimatedVelocity(动画速度)来动态改变方向、角度和圆周运动。
想要视觉变化?
使用 Display(显示)部分调整大小、颜色,甚至精灵动画。
本教程仅涵盖 Godot 2D 粒子系统的基础知识。如需更多信息,请查看官方文档: