Skip to content

Adding AnimationTree to a scene inheriting glb causes the AnimationLibrary to be saved in the scene #110237

@aobrem

Description

@aobrem

Tested versions

  • Reproducible in current master (6c9aa4c) and in 4.5-beta7
  • Not reproducible in 4.4.1 stable
    Using editor on Windows 10.

System information

Godot v4.5.beta (6c9aa4c) - Windows 10 (build 19045) - Multi-window, 3 monitors - Vulkan (Forward+) - dedicated Radeon RX 580 Series (Advanced Micro Devices, Inc.; 31.0.21921.1000) - AMD Ryzen 5 3600 6-Core Processor (12 threads) - 31.90 GiB memory

Issue description

When you create a scene inheriting from a glb with animations, there will be an AnimationPlayer in the scene, and its libraries have resource_path pointing to the glb. Good, you can save the scene and it's nice and slim. Add an AnimationTree and set the anim_player to the one from the glb. Now the tree can play the glb's animations, all good. But if you save the scene at this point, the library's storage moves from the glb into the scene inheriting it. Now the tscn file is bloated up with animations that don't inherit from the glb anymore.

In 4.4.1, the libraries property of AnimationTree is grayed out as soon as you set anim_player. Now in 4.5 it can be modified, which I presume has something to do with this behavior.

Steps to reproduce

I created a MRP to show the issue fast:

  1. Open asset_scene.tscn. This is just a scene inheriting from the included glb with no changes.
  2. Observe the resource_path on the AnimationPlayer's libraries, it points to the glb.
  3. Add an AnimationTree to the scene, and set the anim_player property.
  4. Save the scene. Observe the resource_path on the AnimationPlayer's library resource.

Minimal reproduction project (MRP)

AnimLibraryMRP.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Unassessed

    Status

    No status

    Status

    For team assessment

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions