[3.x] FTI
- Fix MultiMesh
stable behaviour
#108116
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 butMultiMesh
uses an independent system so needed fixing. When the node / individual instances are detected to no longer be moving on theMultMesh
, 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
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.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.