• Editor
  • Mixing two animations on additive track problem

Hello,

I tried a screnario in Spine Editor on "owl-pro" project:

  • on track 0 there is an "idle" animation
  • on track 1 there is a "down" animation with additive enabled

When I change animation on track 0 it mixes well.
But when i change animation on track 1, some attachments dissapear and reappear during mix

If additive mode on track 1 is disabled animations mix well, but I lose additive functionality.

Here is a gif showing the problem.

Is it a bug or is it just not possible to mix animations on additive track?

I tried this approach in Unity on my own model and it happens there too, and throws assertion failed errors for all bones, and whole model dissapears. Error says that it tried to set local rotation to NaN.

Related Discussions
...

What runtime version are you using? If you got a stack trace, please always post it.

7 days later

I'm using spine-unity-4.0-2021-12-21 runtime.

It is caused by playing an animation on track 1 with MixBlend.Add and calling SetEmptyAnimation(1, 0.2f) when it finishes

Unity errors are showing only when gameObject with skeletonAnimation script is selected, but model is dissapearing always.

Here is a stack trace form Unity:

Assertion failed on expression: 'CompareApproximately(SqrMagnitude(result), 1.0F)'
UnityEngine.Quaternion:Euler (single,single,single)
Spine.Unity.Editor.SpineHandles😃rawBone (UnityEngine.Transform,Spine.Bone,single,single) (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Utility/SpineHandles.cs:217)
Spine.Unity.Editor.SpineHandles😃rawBones (UnityEngine.Transform,Spine.Skeleton,single) (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Utility/SpineHandles.cs:180)
Spine.Unity.Editor.SkeletonRendererInspector😮nSceneGUI () (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs:184)
UnityEngine.GUIUtility😛rocessEvent (int,intptr,bool&)

Quaternion To Matrix conversion failed because input Quaternion is invalid {-nan(ind), -nan(ind), -nan(ind), -nan(ind)} l=-nan(ind)
UnityEngine.Matrix4x4:TRS (UnityEngine.Vector3,UnityEngine.Quaternion,UnityEngine.Vector3)
Spine.Unity.Editor.SpineHandles😃rawBone (UnityEngine.Transform,Spine.Bone,single,single) (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Utility/SpineHandles.cs:223)
Spine.Unity.Editor.SpineHandles😃rawBones (UnityEngine.Transform,Spine.Skeleton,single) (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Utility/SpineHandles.cs:180)
Spine.Unity.Editor.SkeletonRendererInspector😮nSceneGUI () (at Assets/Plugins/Spine/Spine/Editor/spine-unity/Editor/Components/SkeletonRendererInspector.cs:184)
UnityEngine.GUIUtility😛rocessEvent (int,intptr,bool&)


I also checked that "owl-pro" project was initially for editor version 4.0.07 and in this version everything works fine.
Bug showed in version 4.0.58 and 4.0.51, there were also a message that project was in older version


Hello,

Are there any updates on this bug?

The fix has also been ported to the spine-unity runtime yesterday, to both the 4.0 and 4.1-beta branches.
Updated 4.0 and 4.1-beta unitypackages can be downloaded here as usual:
Spine Unity Download: Download

This fix has also been ported to all other Spine Runtimes on the 4.0, 4.1-beta, and 4.1-beta-physics branches.

10 months later

Has it been repaired? I had the same problem.

zfh2773 wrote

Has it been repaired? I had the same problem.

Thank you for reporting your issue here in our forums; what version of our Editor and Runtimes do you see the issue in?
Is this occurring in the spine-unity runtime similar to the original poster, or in another runtime?
Are logs or error messages generated when this occurs?

What I said is that there is no transition time between high-level track and low-level track.

I'm not sure what you mean, all you said is that you have the same problem.

The problem from 10 months ago should be fixed, as shown above.

If you are having the same or a similar problem, to be able to help we'll need to know what you are doing, what you expect, and what you think should happen instead.