Add emission shape ring for CPUParticles2D

Particles will be emitted in the area of a ring parameterized by its
outer and inner radius. The distribution is uniform across the area.
This commit is contained in:
Benny Smit 2024-07-30 09:27:32 +02:00 committed by Benedict Christian Smit
parent 17fb6e3bd0
commit eaf9e7ce22
4 changed files with 64 additions and 3 deletions

View file

@ -557,6 +557,9 @@ void GPUParticles2D::convert_from_particles(Node *p_particles) {
proc_mat->set_emission_shape(ParticleProcessMaterial::EmissionShape(cpu_particles->get_emission_shape()));
proc_mat->set_emission_sphere_radius(cpu_particles->get_emission_sphere_radius());
proc_mat->set_emission_ring_radius(cpu_particles->get_emission_ring_radius());
proc_mat->set_emission_ring_inner_radius(cpu_particles->get_emission_ring_inner_radius());
Vector2 rect_extents = cpu_particles->get_emission_rect_extents();
proc_mat->set_emission_box_extents(Vector3(rect_extents.x, rect_extents.y, 0));