• Editor
  • Json Schema

  • Изменено
Related Discussions
...

Hi,

The bones in the exported json files are regular key-value pairs. This means that many json parsers lose the ordering information when they parse the file, since they store the object data in a map. Can these be changed to an array of bones instead? It's possible right now to retrieve a valid order by looking at the parenting, but it won't necessarily be in the same order that Spine uses.

It also looks like bones whose transforms are not animated are omitted from the exported animations. This means that we need to load the skeleton in order to work out the transform information for that bone from the bind pose. It would be handy to have an option to save out the bind-pose transform for these bones in a single key frame.

Rory

Yes, I agree using maps for order was not a good choice. I changed this a few days ago for v1.0.9 but I have been sidetracked from coding and haven't published it. I think this is the last change for the export format, so the next thing I'll do will be to document it.

Hmm, when would it be useful to have the bind pose baked into the animation? It is possible to manipulate the bind pose at runtime during an animation, so the animation should be combined with the bind pose at runtime.

The only reason I'd like the default pose for the joints to be included in the animation is so that I can process (compress, binarize etc) animations independently of the skeleton. It's not a huge deal since I can get the same effect by making sure everything has a key frame.

I've just realized that some of my confusion is due to the fact that the animations that get exported appear to be additive animations from the bind pose. Is that correct? If so then it would be nice to just have the option to export the animations in the more traditional fashion with just the parent-space transforms for each joint.

Yes, all animations are relative to the bind pose. This is just as they are in Spine, where animations in animate mode are relative to the bind pose in setup mode. This makes for a lot better workflow in the editor, and also allows the bind pose to be manipulated at runtime and all the animations will be affected, eg to lean forward while running up a hill.

If the export had an option to combine the bind pose with the animations, then it would be expected that runtimes can support this alternate format. Current runtimes apply the bind pose at runtime, which is the more flexible of the two approaches. If your runtime doesn't want to do this, you could combine the bind pose with animation data at load time or write a tool that converts from the Spine export format to your own format. Are either of these acceptable?

Yes, I've already started to combine them at tool time. It was just a bit of a surprise that all animations are additive since that's not the norm, but I understand why you might want to do that.

We're breaking new ground! 🙂

Any chance of a preview of the schema change in 1.09? Perhaps an update of the example exported files?

The examples included in the trial and linked on the trial download page have been updated. I've been writing documentation for the JSON format, which is about half finished. I will finish it today (working on it right now actually).

JSON format documentation is now complete.

Thanks for the update. Good luck getting it all done!