Skip to content
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

AnimationTree's own libraries are duplicated when borrowed from an inherited (or editable) scene's AnimationPlayer #85602

Closed
Mickeon opened this issue Dec 1, 2023 · 1 comment

Comments

@Mickeon
Copy link
Contributor

Mickeon commented Dec 1, 2023

Godot version

v4.2.stable.official [46dc277]

System information

Windows 10

Issue description

As previously mentioned on RocketChat.

Good, now AnimationMixer exists.

But, when combining the AnimationPlayer with an AnimationTree, the AnimationTree may store duplicates of the very same AnimationLibrarys for seemingly no reason. This happens specifically when the AnimationTree comes from an inherited or otherwise editable scene.

Note that editing the duplicate AnimationLibrarys works only temporarily and they WILL be overridden by the original source (the AnimationPlayer).

This is especially bad in any actual project because you may have many, many animations. It's beyond awful if your animations are imported from GLTF because-

It seems like #85575 (@TokageItLab) would solve this, but more testing may be required to prevent it from spectacularly back-firing in some yet another unforeseen circumstance.

Steps to reproduce

  • Create a scene with an AnimationPlayer and at least one animation;
  • Create an inherited scene from this one, and add an AnimationTree;
  • Associate the AnimationTree with this AnimationPlayer;
  • Look at the saved .tres files. You may notice that both the inherited scene also contains the animations for no reason.

image

Minimal reproduction project

AnimationTree Duplication.zip

@YuriSizov
Copy link
Contributor

Should be fixed by #85575. Please let me know if it's still reproduceable, and then we can reopen it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants