Subemitter emission at end now correctly emits at end

This commit is contained in:
QbieShay 2023-11-21 21:01:26 +01:00
parent 80de898d72
commit 4d390cd39d
1 changed files with 3 additions and 3 deletions

View File

@ -1125,9 +1125,9 @@ void ParticleProcessMaterial::_update_shader() {
code += " if (COLLIDED) emit_count = sub_emitter_amount_at_collision;\n"; code += " if (COLLIDED) emit_count = sub_emitter_amount_at_collision;\n";
} break; } break;
case SUB_EMITTER_AT_END: { case SUB_EMITTER_AT_END: {
code += " float unit_delta = DELTA/LIFETIME;\n"; code += " if ((CUSTOM.y / CUSTOM.w * LIFETIME) > (LIFETIME - DELTA)) {\n";
code += " float end_time = CUSTOM.w * 0.95;\n"; // if we do at the end we might miss it, as it can just get deactivated by emitter code += " emit_count = sub_emitter_amount_at_end;\n";
code += " if (CUSTOM.y < end_time && (CUSTOM.y + unit_delta) >= end_time) emit_count = sub_emitter_amount_at_end;\n"; code += " }\n";
} break; } break;
default: { default: {
} }