godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.58k stars 20.47k forks source link

Vulkan: GPUParticles trail leave a trail towards world origin when dying #55842

Closed unfa closed 1 year ago

unfa commented 2 years ago

Godot version

4.0

System information

Arch Linux, KDE Plasma, Radeon RX580, amdgpu driver

Issue description

Here's what happens when the lifetime randomness is disabled (set to 0) - the problem doesn't occur: https://youtu.be/O39GyzSdZfc

Here's what happens when lifetime randomness is at maximum (set to 1) - this produces unwanted erronous streaks: https://youtu.be/WCQGEkOHSxM

Steps to reproduce

  1. Create a particle system with a ribbon mesh using particle trails and explosiveness at 1.0
  2. Now enable life time randomness.

Observer as particles that die before the full cycle resets go back to the world origin, creating unwanted trails.

Minimal reproduction project

SSIL Test.zip (the project was made to play with the SSIL feature preview). Built from commit 0eff109a21fb5c0bd031a91c540983e77e75343b (clayjohn/Vulkan-ASSGI)

Calinou commented 2 years ago

Reopening, as https://github.com/godotengine/godot/pull/58549 was reverted by https://github.com/godotengine/godot/pull/58660.

unfa commented 2 years ago

Yeah, the particle didn't jump back to the scene origin, but froze in place after they should've disappeared.

Ongnissim commented 2 years ago

I know this issue still exists, but for anyone coming across this, my duct-tape solution has been to set the color gradient to transparent at the very end of the particle's life. I've only tried this on 2d particles, but this fix has worked well enough for now. Hoping I remember to change it once this is fixed for real.

Jamsers commented 1 year ago

I know this issue still exists, but for anyone coming across this, my duct-tape solution has been to set the color gradient to transparent at the very end of the particle's life. I've only tried this on 2d particles, but this fix has worked well enough for now. Hoping I remember to change it once this is fixed for real.

Sadly this workaround also doesn't work because of #53851, although I'm not sure if that bug only applies to 3D.

Calinou commented 1 year ago

Sadly this workaround also doesn't work because of https://github.com/godotengine/godot/issues/53851, although I'm not sure if that bug only applies to 3D.

Did you try saving and reloading the scene after modifying the color ramp texture as outlined in https://github.com/godotengine/godot/issues/53851#issuecomment-1346178644?

Jamsers commented 1 year ago

Did you try saving and reloading the scene after modifying the color ramp texture as outlined in https://github.com/godotengine/godot/issues/53851#issuecomment-1346178644?

Yes, unfortunately it doesn't work.