bevy icon indicating copy to clipboard operation
bevy copied to clipboard

Scheduling dependency for animation systems relative to `inherit_weights` is probably backwards

Open mweatherley opened this issue 2 months ago • 0 comments

Explanation

bevy_animation::animate_targets currently runs after bevy_render::mesh::inherit_weights (which sets the MeshMorphWeights of child entities based on MorphWeights of the parent. MorphWeights is what animate_targets actually animates (i.e. overwrites), which means that currently there is a one-frame delay between the setting of MorphWeights by the animation system and its propagation to child entities.

Desired fix

Invert this ordering. Ideally (long-term), maybe we could lump inherit_weights in with transform propagation in the same bin in PostUpdate to have other things order relative to. Basically, from my perspective, "animation stuff" should generally run prior to "propagation stuff" which should generally run prior to rendering.

mweatherley avatar Nov 29 '24 23:11 mweatherley