The animation system updates texture_atlas.index. The sprite3d systems operate on texture_atlas.index. So I think that the sprite3d systems should run after animation.
This manifests in my project as me needing this system ordering:
In Update, I am changing the animation of my entity.
In PostUpdate, I am setting the Sprite3Danchor and custom_size but these values must be obtained from the current animation frame, and that requires using texture_atlas.index. This means this system needs to run after AnimationSystem. But it also needs to run before Sprite3dSystem because I am setting anchor and custom_size which Sprite3dSystem of course is looking at.
The animation system updates
texture_atlas.index
. The sprite3d systems operate ontexture_atlas.index
. So I think that the sprite3d systems should run after animation.This manifests in my project as me needing this system ordering:
Update
, I am changing the animation of my entity.PostUpdate
, I am setting theSprite3D
anchor
andcustom_size
but these values must be obtained from the current animation frame, and that requires usingtexture_atlas.index
. This means this system needs to run afterAnimationSystem
. But it also needs to run beforeSprite3dSystem
because I am settinganchor
andcustom_size
whichSprite3dSystem
of course is looking at.In project the use looks something like this: