Skip to content

Commit bf25484

Browse files
committed
Merge pull request #101012 from zachseiss/master
Preserve emission ring shape properties during conversion from GPUParticles3D to CPUParticles3D and vice versa
2 parents f18bb5b + 86ab88f commit bf25484

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

scene/3d/cpu_particles_3d.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -1417,6 +1417,11 @@ void CPUParticles3D::convert_from_particles(Node *p_particles) {
14171417
set_emission_shape(EmissionShape(material->get_emission_shape()));
14181418
set_emission_sphere_radius(material->get_emission_sphere_radius());
14191419
set_emission_box_extents(material->get_emission_box_extents());
1420+
set_emission_ring_height(material->get_emission_ring_height());
1421+
set_emission_ring_radius(material->get_emission_ring_radius());
1422+
set_emission_ring_inner_radius(material->get_emission_ring_inner_radius());
1423+
set_emission_ring_cone_angle(material->get_emission_ring_cone_angle());
1424+
14201425
Ref<CurveXYZTexture> scale3D = material->get_param_texture(ParticleProcessMaterial::PARAM_SCALE);
14211426
if (scale3D.is_valid()) {
14221427
split_scale = true;

scene/3d/gpu_particles_3d.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -640,6 +640,10 @@ void GPUParticles3D::convert_from_particles(Node *p_particles) {
640640
proc_mat->set_emission_shape(ParticleProcessMaterial::EmissionShape(cpu_particles->get_emission_shape()));
641641
proc_mat->set_emission_sphere_radius(cpu_particles->get_emission_sphere_radius());
642642
proc_mat->set_emission_box_extents(cpu_particles->get_emission_box_extents());
643+
proc_mat->set_emission_ring_height(cpu_particles->get_emission_ring_height());
644+
proc_mat->set_emission_ring_radius(cpu_particles->get_emission_ring_radius());
645+
proc_mat->set_emission_ring_inner_radius(cpu_particles->get_emission_ring_inner_radius());
646+
proc_mat->set_emission_ring_cone_angle(cpu_particles->get_emission_ring_cone_angle());
643647

644648
if (cpu_particles->get_split_scale()) {
645649
Ref<CurveXYZTexture> scale3D = memnew(CurveXYZTexture);

0 commit comments

Comments
 (0)