godotengine / godotengine/godot
Physics interpolation breaks GPUParticles2D and CPUParticles2D movement
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
Reproducible in 4.3 beta and latest on master.
### System information
Windows 10 - Vulkan Forward+
### Issue description
Moving and rotating particle emitters whose particles use global coordinates seems to break particle interpolation. The particles will rotate with the emitter's transform instead of moving freely in global coordinate space.
With physics interpolation enabled:
https://github.com/godotengine/godot/assets/20360622/7dc9a5c3-7380-4e40-8497-12eee3b82422
With physics interpolation disabled:
https://github.com/godotengine/godot/assets/20360622/f2c1df54-a23f-407b-ab99-d2960b5b9ce4
### Steps to reproduce
1. Open minimal reproduction project.
2. Press F5 to run the project.
3. Use `w` and `d` keys to rotate the character, and press `space` to thrust.
4. Notice how active particles will move when you change the direction of rotation.
5. Go to settings, enable advanced settings and turn off physics interpolation.
6. Notice that particles will move as normal while the character rotates.
### Minimal reproduction project (MRP)
[interpolation-issue-mrp.zip](https://github.com/godotengine/godot/files/15330713/interpolation-issue-repro.zip)
Contributor guide
Assessment
This issue has not been assessed yet.