Skip to content

[3.x] FTI - Fix MultiMesh stable behaviour #108116

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 1, 2025

Conversation

lawnjelly
Copy link
Member

Fixes the 3.x relevant part of #108058
Backport of #108109

Update backend with the current buffer on removing from the tick lists

We actually had the same bug in the SceneTreeFTI which was fixed a while ago but MultiMesh uses an independent system so needed fixing. When the node / individual instances are detected to no longer be moving on the MultMesh, it gets removed from the tick and interpolation lists (as it no longer needs to be processed), however, it is essential to make sure the backend has the final (stable) data (which is the situation where curr and prev values are the same).

This didn't show up for CPUParticles because they are continuously updated.

Notes

  • The bug as described in the MRP I don't think can occur in 3.x, as physics_interpolation property is loaded before the user has the opportunity to set the instances, whereas in 4.x they can be stored to disk.
  • It isn't as straightforward to fix the other bug in 3.x, as we don't have a function to retrieve the buffer from the backend (except via the constituent parts, e.g. transform, color, custom etc). But I'm not sure it actually constitutes a valid problem in 3.x.

@lawnjelly lawnjelly added this to the 3.7 milestone Jun 29, 2025
@lawnjelly lawnjelly requested a review from a team as a code owner June 29, 2025 17:16
@lawnjelly lawnjelly requested review from Calinou and rburing July 1, 2025 16:48
Copy link
Member

@rburing rburing left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense.

@lawnjelly lawnjelly merged commit 0715aa8 into godotengine:3.x Jul 1, 2025
14 checks passed
@lawnjelly
Copy link
Member Author

Thanks!

@lawnjelly lawnjelly deleted the fti_multimesh_stable_buffer branch July 1, 2025 17:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants