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

[ue] Unable to import skeleton data with the Inherit timeline keys in the middle of animation. #2672

Open
misaki-eymard opened this issue Nov 6, 2024 · 3 comments
Assignees
Labels

Comments

@misaki-eymard
Copy link
Collaborator

misaki-eymard commented Nov 6, 2024

Description:
With the Inherit timeline available since Spine 4.2, switching inheritance on or off in the middle of the animation will prevent the skeleton data from being imported into UE. (Attempting to import will result in infinite loading.)

(The problem does not occur if there is the Inherit timeline but the inheritance is toggled on and off at frame 0 of the animation.)

Expected behavior:
Even skeletons that switch inheritance in the middle of an animation can be imported successfully.

Steps to reproduce:

  1. Download the attached .zip file: Unable to import skeleton data with the Inherit timeline keys in the middle of animation.zip
  2. Open a UE project with the spine-ue runtime installed and import the file spineboy-pro_should-cause-crash.json under Skeleton-should-cause-crash:
    Screenshot 2024-11-06 at 15 52 45
  3. You should see the import not finish forever or the UE editor will crash.

For reference, a skeleton with some inherit keys only at frame 0 of the animation is included in the same zip as Skeleton-should-be-imported-correctly.

The version that can reproduce this issue:
UE5.4.4

This issue was reported in the following thread on the forum:
https://esotericsoftware.com/forum/d/27218-skeletons-with-inherit-crash-the-editor

@badlogic badlogic self-assigned this Nov 6, 2024
@badlogic badlogic added the bug label Nov 6, 2024
@badlogic
Copy link
Collaborator

badlogic commented Nov 6, 2024

Screenshot 2024-11-06 at 13 33 34

Can not reproduce using latest spine-cpp and spine-ue from the 4.2 branch and UE 5.4.4. I suppose the user hasn't updated their copy of spine-cpp.

@badlogic badlogic closed this as completed Nov 6, 2024
@badlogic
Copy link
Collaborator

badlogic commented Nov 6, 2024

Creating an actor with Spine components and playing back either inherit-enable or inherit-disable also works as expected.

Screenshot 2024-11-06 at 13 41 29

@misaki-eymard
Copy link
Collaborator Author

Sorry, the reproduction project I attached was bad. I oversimplified the animation of the Inherit timeline. This JSON file should be able to reproduce the crash:
spineboy-pro_should-cause-crash.json

I added a new key at frame 0. The Inherit key at frame 0 enables rotation inheritance (this is the same as the setup pose, so the animation looks the same as the previous one), and the key at frame 30 disables rotation inheritance. Attempting to import a skeleton with this animation causes infinite loading.

I have also replaced the .zip file attached above with the new one.

@misaki-eymard misaki-eymard reopened this Nov 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants