Skip to content

PhysicalBone3D positions still affected when "Reset on save" is selected in AnimationMixer #107878

Open
@TranquilMarmot

Description

@TranquilMarmot

Tested versions

  • Godot v4.5.dev5

System information

Godot v4.5.dev5 - macOS Sequoia (15.5.0) - Multi-window, 1 monitor - Vulkan (Forward+) - integrated Apple M4 Pro - Apple M4 Pro (14 threads)

Issue description

When "Reset on Save" is set on an AnimationMixer, it will use the bone positions of the animation named RESET when saving the scene.

However, this only applies to bone rotations inside of the Skeleton3D being modified.

If the Skeleton3D has a PhysicalBoneSimulator3D that has PhysicalBone3D nodes inside of it, the transforms from the animation will still be saved for those PhysicalBone3D nodes. It seems like the transforms from the RESET animation should be saved there instead.

Steps to reproduce

  • Create a physical skeleton inside of a Skeleton3D
  • Make sure it has a RESET animation
  • Make sure that "Reset on Save" (reset_on_save) is selected for the AnimationPlayer
  • Save the file and commit to git
  • Switch animations or let the current animation play for a bit
  • Save the file again and look at the diff
  • See that each PhysicalBone3D has a changed position

Minimal reproduction project (MRP)

Follow the repro steps from above with the 3D platformer project;
https://github.com/godotengine/godot-demo-projects/tree/master/3d/platformer

Steps to create the physical skeleton are here:
https://docs.godotengine.org/en/stable/tutorials/physics/ragdoll_system.html

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions