extends CanvasLayer # See https://travismaynard.com/writing/caching-particle-materials-in-godot # Predicted to not be needed in Godot 4.0 with Vulkan var materials = [ preload("res://effects_shared/bullet/effect/BlastMaterial.tres"), preload("res://effects_shared/bullet/effect/BlastSparksParticles.tres"), preload("res://effects_shared/bullet/effect/InnerBlastLightParticle.tres"), preload("res://effects_shared/bullet/effect/LightParticle.tres"), preload("res://effects_shared/bullet/effect/light_rays_material.tres"), preload("res://effects_shared/bullet/effect/MainBodyParticle.tres"), preload("res://effects_shared/bullet/effect/SmokeOverrideMaterial.tres"), preload("res://effects_shared/bullet/effect/SmokeParticles.tres"), preload("res://effects_shared/bullet/effect/TrailParticle.tres"), #preload(), ] func _ready(): for material in materials: var particles_instance = Particles.new() particles_instance.set_process_material(material) particles_instance.set_one_shot(true) particles_instance.set_emitting(true) self.add_child(particles_instance)