SuperAPI AI 工具集

particles

设计与创作

查看项目

更新于 10-16 22:42

技能介绍

用途

本技能是一份 GPU 粒子系统专家蓝图,面向 Godot 引擎中爆炸、魔法特效、天气、拖尾等视觉效果(VFX)的实现。其核心主张是:GPU 加速渲染、基于材质的配置以及子发射器共同构成高性能 VFX。

主要能力

  • 提供 GPUParticles2D / GPUParticles3D 与 ParticleProcessMaterial 的配置指导。
  • 覆盖发射形状(如 EMISSION_SHAPE_SPHERE、EMISSION_SHAPE_BOX)、重力、初速度、缩放、颜色与角速度等材质参数。
  • 支持颜色渐变(Gradient + GradientTexture1D 的 color_ramp)以及子发射器(sub_emitter,含 SUB_EMITTER_AT_END 模式)。
  • 提供两个脚本:vfx_shader_manager.gd(高级粒子 VFX 的自定义着色器集成)、particle_burst_emitter.gd(带自动清理的一次性粒子爆发)。
  • 记录了一系列“绝不要做”的反模式,例如:性能敏感效果不要使用 CPUParticles2D(100+ 粒子用 CPU 会产生卡顿尖峰,除非目标平台无 GPU 支持);一次性粒子不要忘记设置 emitting = false;未在目标平台测试前不要使用过高的 amount;一次性粒子不要忘记 queue_free() 以免内存泄漏;爆炸不要使用 emission_shape = POINT;颜色渐变不要忘记 alpha。

使用方式

资料给出了完整可参考的代码示例:

基础设置:添加 GPUParticles2D 节点,设置 Amount: 32、Lifetime: 1.0、One Shot: true(用于爆炸)。

粒子材质:创建 ParticleProcessMaterial,设置 emission_shape、emission_sphere_radius、gravity、initial_velocity_min/max、color,并赋给 $GPUParticles2D.process_material。

常见效果示例包括:

  • 爆炸:one_shot = true、amount = 64、lifetime = 0.8、explosiveness = 0.9,使用球体发射形状与初速度、重力、缩放范围,最后 emitting = true。
  • 烟雾拖尾:direction、initial_velocity、scale 与半透明灰色。
  • 星光/闪烁:箱形发射范围、零重力、角速度范围,配合星形贴图。
  • 按需生成粒子:preload 爆炸场景,在 die() 中 instantiate、add_child、设置 global_position、emitting = true,然后 queue_free()。
  • 3D 粒子:GPUParticles3D,amount = 100、lifetime = 3.0,箱形发射、方向朝上、重力向下。
  • 颜色渐变:用 Gradient 添加多个颜色点(含 alpha 为 0 的透明点)并转为 GradientTexture1D 赋给 color_ramp。
  • 子发射器:设置 sub_emitter 路径与 sub_emitter_mode。

最佳实践:用贴图定义粒子形状;管理生命周期(一次性粒子通过 await 计时器后 queue_free);性能方面在 Android 等平台将 amount 减半。

适用场景

适用于 Godot 项目中需要高性能视觉特效的场景,例如游戏内的爆炸、魔法效果、天气与拖尾,以及需要在 2D/3D 中按需触发的粒子爆发。

限制

资料未提供该技能的收费、价格、平台支持范围或效果保证等信息。代码示例基于 Godot 引擎 API,具体可用性取决于目标 Godot 版本,资料中暂未提供版本要求。