Skip to content

Scheduling dependency for animation systems relative to inherit_weights is probably backwards #16554

@mweatherley

Description

@mweatherley

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-AnimationMake things move and change over timeC-BugAn unexpected or incorrect behaviorD-TrivialNice and easy! A great choice to get started with BevyS-Ready-For-ImplementationThis issue is ready for an implementation PR. Go for it!

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions