Shinhu

I manually editted the json file's animation data, and when i import the json file into Spine app after that, it causes error with this log :
Spine Launcher 3.8.97 Trial
Esoteric Software LLC (C) 2013-2020 | http://esotericsoftware.com
Windows 10 Home x86 10.0
Update available: Spine 3.8.99 Trial
Starting: Spine 3.8.97 Trial
Spine 3.8.97 Trial
Intel, Intel(R) HD Graphics 520, 4.4.0 - Build 21.20.16.4534
Started.
OpenAL 1.1, Default audio device
ERROR: Error importing skeleton:
hY: Error reading animation: emotes/emote_defaultdance
at jV.V(SourceFile:346)
at kI.V(SourceFile:131)
at vw.V(SourceFile:310)
at vD.run(SourceFile:274)
at tf.V(SourceFile:1680)
at vw.B(SourceFile:267)
at uR.I(SourceFile:379)
at eJ.V(SourceFile:92)
at fU.V(SourceFile:28)
at dY.V(SourceFile:188)
at dY.V(SourceFile:158)
at com.badlogic.gdx.scenes.scene2d.ui.Button.I(SourceFile:131)
at eC.V(SourceFile:94)
at fW.V(SourceFile:88)
at ee.V(SourceFile:59)
at eg.I(SourceFile:351)
at lPT3.I(SourceFile:124)
at z.V(SourceFile:360)
at l.run(SourceFile:259)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 76
at iB.I(SourceFile:266)
at jV.V(SourceFile:800)
at jA.V(SourceFile:129)
at jV.V(SourceFile:595)
at jV.V(SourceFile:344)
... 32 more
The reason why i manually editted the json file is because, i'm still using Spine Trial.
I know writing animation data manually in json format is silly idea ever, but i editted the first animation in Spine Trial editor, and i recorded all the data by recording them into video, manually changing all values, because i didn't wanna lose what i have made in Spine Trial ( You know I can't save the project....)
Also how do i understand the log file? I wonder if the numbers after every 'source' mean any line number that caused the problem, like traceback log.

I'm uploading the json part that i modified and causing the error. Hope this attachment help diagnosing my problem.
animation.json


Thanks in advance, and thanks again for this amazing app.
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Shinhu
  • Messaggi: 10

Nate

If you make just a few changes at a time, it would be easier to know which change is preventing the JSON from being read. Or you could use Skeleton Viewer to view the JSON. Skeleton Viewer reloads the JSON every time it changes, so you can make a change, save, and know your change is bad if Skeleton Viewer fails to load it.

However, if you have recorded numbers from the trial, you probably want to enter those into the editor. The numbers in the JSON are relative to the setup pose, while the numbers from the trial editor are the absolute values (not relative to the setup pose).

If you still have the trial open, it may be easier to make screenshots and match up the poses.
Avatar utente
Nate

Nate
  • Messaggi: 10070

Shinhu

Oh THANK YOU SO MUCH FOR GREAT TIP
I used the skeleton viewer once, but i didn't know it updates the viewer everytime json file is changed. I think i can use this method to fix minor errors in my manually-written json file. Thanks again....
Oh! By the way,
Nate ha scritto:The numbers in the JSON are relative to the setup pose.
I already figured out this by myself, but there's still remaining question. Which axes is used to calculate the relative numbers? Local? Parent? World? Do they vary in each bones?
Shinhu
  • Messaggi: 10

Nate

Glad that might have helped! It's always the local axes.
Avatar utente
Nate

Nate
  • Messaggi: 10070

Shinhu

Nate ha scritto:Glad that might have helped! It's always the local axes.
I discovered that it's local axes for rotation, always, but for translate values they are based on parent axes. I doubt myself at beginning, but when i tested, rotation for local and translate for parent axes are right. Well, rotation values are same in both local axes and parent axes, so i think i should probably use parent axes.
Shinhu
  • Messaggi: 10

Nate

Ah, right, sorry about that. A bone's location is positioned in its parent coordinate space. The 0,0 position of the local axes is the origin of the bone.
Avatar utente
Nate

Nate
  • Messaggi: 10070


Torna a Editor