Hello

I would like to know if you would like to implement the possibility to animate without bones:
By simply binding sprite together
Bones is awesome for complexe character animation, but on most our projects we have more than 40 little character to animate and to set up the bones take considerate amount of time.
It would be more easier in our case to simply lay the sprite and bind them together with a tool that link a child to a parent sprite and then start the fun of animating...
Same if you want to animate menues you dont really needs bones

Anyway thanks for the great job, spine is really a game changer tool

Related Discussions
...

If you are animating with sprites attach to each other in a hierarchy, then fundamentally you are using bones. We've considered allowing animation of individual images, but being explicit about the bones has a lot of advantages. I'm not sure there would be a large time savings if the bones were implicit, as you still need to position images, set their "pivot point" (which is really a bone origin), setup the heirarchy, etc.

I think what he wants is just a way to quickly place an image that's immediately ready for animating.
I think the feature that'd support this is to auto-generate a lengthless bone with a slot when you drag an image into an empty area of the viewport or something equivalent in the tree. Or maybe you hold a modifier key or something.

I agree though. For animating non-skeletal stuff, it's a lot of extra work having to manually make the bones for each image you want to add/animate separately. This is particularly useful for menus and effects, where a default center pivot would often make sense.

Bones are awesome I have nothing agains bones 😉
It is just the setup time of placing the bones then puting the image in the bone hierarchy that can take some times for a lot of characters.
But maybe a script in photoshop that allow exporting the images and reimporting them in Spine automaticaly could make it a breeze.
Apart from this setup process Spine is absolutly genius!

Spine can import data in it's export format. You could export a hierarchy from Photoshop as JSON and then load it into Spine.

Sound nice
I wish I would know how to create such a script...
This script with the idea of Pharan to automaticaly create bones would be exellent to quickly create the stup base ...
" create setup from your photoshop files in 1 click!" sound like a good marketing slogan 🙂

I think animating many different characters is inevitably tedious. I don't see how you could do something in Photoshop to tell Spine where the pivots are. It's the same thing with AfterEffects or SmoothMoves or any 3D animation program. You need to go through the setup process at some point.

But Spine Editor is young. I'm sure the setup process will still get friendlier to least for a few more other purposes and paradigms. I'm personally excited for when the hotkeys come in. 🙂 The right hotkeys can make a program blazingly fast and frictionless to use. (by the way, Nate, if you want some requests for hotkeys, I have a million of them. XD)

Regardless, I think that's why it's ideal to use the Skin system as much as possible and really take advantage of it so you can have more variety per animation effort put in.

As for getting the alignment of layers from Photoshop into Spine, I think something close to Nate's suggestion would work. I think it's doable if you knew someone who could put together something like a jsx script for Photoshop. According to the PSD format spec, Photoshop already stores layers with rectangle coordinates— so you could conceivably get layer offsets and sizes, do some simple math, then format them into setup/bone/bindings data in JSON that Spine Editor can import... I think.

The Photoshop>AfterEffects flow is pretty nice though. You can import a Photoshop file and it creates a comp for you with all the alignments intact. Then you set up the pivots and hierarchy for each layer/part and then you can start skeleton-animating.

AfterEffects!? Pfft! :punch: Attached is a Photoshop script that exports layers to PNGs and generates a JSON file that can be imported into Spine. The result is a skeleton with a root bone that has a slot for each image. You can then draw bones on top, put the slots on the right bones, and you're done. 8) Note the attached script is newer than the one that comes with Spine.

It's kind of hard to see the cyan selection lines, but here you see 4 layers in photoshop and 4 images that were whitespace stripped, saved to PNGs, and imported into Spine in the same arrangement as they were in Photoshop:

 Loading Image

Note that it may be more efficient for some images to be drawn in Photoshop at an orientation different than you use in your setup pose. Eg, if you have an image of a sword at 45 degrees, this will have a lot of wasted, transparent pixels. If you instead use an image where the sword is pointing straight up, it will have much fewer pixels.

lol, Nate. Fine, I never really liked AE anyway. (lies) XD

Wow, Nate. Did you just make this?
This is like... wow.
You just kicked Photoshop>AfterEffects in the ass.

Really good point regarding the angle of the images in the layers though.
You always have to keep that in mind with skeleton animation systems. In addition to that, I have this one friend who used SmoothMoves. He needed to angle the images specifically just to get parts to scale along an certain axis because the implicit bones in its system are always 0º to the orientation of the image, unlike in Spine where you can set up the image to be at a different angle from the bone.

Yeah, just made it. 🙂 Wasn't too bad after piecing together the JS docs.

We went through the same issues as SmoothMoves while we were developing Spine. It is just too much of a burden on your artists to have to create images at a specific orientation. The other major issue was non-uniform scaling which can cause skew. This complicates things immensely, as skew can't be described by a matrix. We ended up making all scaling aligned with bone axes, which has worked out pretty well so far.

Wow Nate really thank you !
You made it so quickly and it work so well !
This is just perfect!!

Just a heads up: The script is considerably buggy.

Doesn't play well with layer folders. (it stops midway)
And, I think, hidden/disabled layers. (it skips a lot of the wrong ones and includes some of the hidden ones)

Anyway, we'll figure it out. For now, just make sure your PSD is super plain and has nothing hidden or grouped, I guess.

Oh, that sucks. I only tested it with a simple PSD.

I fixed it for groups.

Thanks for script.
Now it ignores not the hidden layer but one that above it.

i must say that bones setup is a pain in the ass lol. its really slow and annyoing, and the layering order is so not intuative.... puting fast images and drag the pivot might be much faster for simple characters and animation. please add that option 🙂)

Maybe a solution would be to add a button that creates bones automatically to the images you put?