• Editor
  • IK Chains Allow Maximum of 2 Bones?

Related Discussions
...

This really surprised me. I love most everything about this application - but having IK for a long chain of bones really, in my opinion, should be a primary feature.

Having a "spline" function - as is present in your competing product, Puppet2D, would be even better. Strange that your application is called "Spine" - when making a cartoon spine with your program is not really possible, or should I say "practical".

Kind of like living in a gated community named "The Cedars" - when there is not a single cedar tree in sight. (pardon the metaphor).

If this functionality does exist, it's not documented anywhere that I can find in the 2 days I have been searching for it.

I have to say, I hate cutout animation - and had no intention of using Spine for this purpose. Bone deformation is my primary need for making character animation of quality.

Take for example, this style of animation:

Without the ability to easily implement "bendy limbs" - this style becomes impossible with Spine.

Having purchased the Professional Version of the software, I feel, quite naturally, very disappointed.

Greg Smith

I too was supprised by the 2 bone ik limit.

You can do some trickery to get around it though, using mixing and inheritance

(1)
From what I understand, the two-bone limit is partially instructional, and partly temporary. Longer IK chains are expensive to compute in real time (eg, in game engines.) This is true for now, anyway... at least that's what I understand.

(2)
But making something smooth and bendy does not involve making lots and lots of bones. I'm not too familiar with the algorithm, maybe 3- or 4-bone chains would've been better and understandable? I don't really know. I haven't seen the numbers.

But smooth, bendy limbs are more about the number of smoothed weighted vertices than the number of bones. The number of bones is only for the number of contrary and variable-"radius" bends. Even then, FFD is there to help with that.

(3)
But I agree that you may need like 3, 4 or 5 bones for a bendy arm or tail, depending on the bendyness. I'm not sure how IK is supposed to work in that case.
Puppet2D seems to do it just fine, but I think Puppet2D's spline tool uses a different kind of stretchy IK (I'm not familiar with this system) that actually causes bones to kinda move like points on a Bezier curve.. or a spline... and that's possibly cheaper to compute, whereas Spine treats IK like robotic arm IK.

Maybe Splines are a good feature to add to Spine. Could work for chains of 3-5 bones. This kinda figures into a scheme similar to that other animation program. I forgot what it was called, but it allowed you to add programmatic/computed modules piecemeal (IK falls into this category) on top of the normal FK animation.

(4)
I know Esoteric Software is aware of [Unity] Puppet2D. I think it has some good strengths but the fact that it uses Unity controls kinda hurts ease of use, not that I think Spine itself is the shining pinnacle of user experience right now— it's really not.

Truth is though, for what features Puppet2D gives, it's cheap. I think that's enough reason for some people to use it. That and it's immediately native Unity objects. It also has the potential to get really messy for the same reason, but at the scale and complexity some people use skeletal animation for, that sometimes doesn't matter.

But you should know that Spine is in active development. Features and fixes are often being implemented to the Spine animation tool and to the runtimes every month or so (depending on how big it is). And Spine-Unity is one of the most feature-rich runtimes. It's good that you bring some of your animation needs to the table so they can be considered and added to the feature list.

What I like from Puppet2D that would be great of Spine had then:

  • Saving and loading Poses. Spine actually allows you to do this right now but it's not explicit (it's more of a tips and tricks thing). You can save poses as zero-length animations.
  • Add a bone mid-chain. Nate and Shiu have been talking about adding this. They called it "Subdivide bone". (this has a shortcut key in P2D. pretty handy)
  • Holding a modifier key to do bone transform compensation in Setup Mode. (hold Shift to move the bone but not its children?)
  • Ok, Splines are pretty cool.

Mitch is actually always contributing code that makes Spine-Unity easier and easier to use and with increased Unity integration for different cases.

If its just for the purpose of animating long IK chains with key frames, you can have whatever length you want. Just select all the bones and drag with the pose tool at the end of the chain.

IKConstraints that have more than 2 bones being deterministic becomes really painful. If you need a FABRIK solution, you can use FinalIK from the asset store and configure things using SkeletonUtility Override Bones.

5 months later

Hi, can this be something added to the trello list? this is too sad to bare

I think Spine's ideal use (right now) is to animate stuff using bones without many ragdoll-like physics involved in real time. I still haven't messed too much with Ik Constraints but from what I've tried and what I've seen here: https://www.youtube.com/watch?v=orqb4Hz4rqI you can join several 2 bone constraints to make longer chains, but it will be difficult to manage at runtime.