Skip to content

Unsaved transforms reset when adding keys, caused by an active Physics constraint #948

@misaki-eymard

Description

@misaki-eymard

Description:
When setting keys manually without using Auto Key in projects that have active physics constraints, unsaved transforms reset when the key button is pressed. For example, if you modify a bone’s rotation and translation, pressing the rotation key button will reset the translation change. This behavior can be avoided by clicking the visibility dot in the Tree view to disable all physics constraints in the skeleton. However, for users who prefer to set keys manually without relying on Auto Key, this behavior is highly disruptive.

This issue does not occur only on bones with physics constraints directly applied; transforms of bones with no constraints applied are also reset.

Expected behavior:
Even if an active physics constraint exists, bone transform changes for that frame should not reset unless the timeline bar is moved. Alternatively, if keeping the transform is difficult, it would be preferable for the bone transforms to be preserved when the physics constraint’s Simulate button is disabled.

Steps to reproduce:

  1. Download the .zip file: 948-physics-manual-keying.zip
  2. Open the Spine project contained in the downloaded zip file using Spine 4.3.39-beta.
  3. Switch to animate mode and turn off Auto key.
  4. Select the bone and modify its rotation, translation, and scale.
  5. Then press the rotation key button to add a key. You will see that the translation and scale changes are reset.

For comparison, click the visibility dot of the physics constraint within the skeleton to deactivate it, then observe the results from steps 4 to 5. You will see that the unsaved transform is preserved.

The versions of Spine in which this problem was found:
4.2.43 and 4.3.39-beta

This issue was reported in the following thread on the forum:
https://esotericsoftware.com/forum/d/29456-42-keying-rotationmoveetc-resets-all-other-changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions