• Editor
  • skins with characters of different sizes

Related Discussions
...

Hi there
I am trying to create a rig with characters of different body size with the use of skinned constrains
example :

(characters are gray because I tint the different parts directly in Spine, to have a smaller sprite sheet)

And I want to do it without creating complex setups. For example I am trying to avoid deforming meshes.

however, I have a few concerns, regarding complexity and production time

1 / Since the constrain is just used/ not used by a skin, if I want more body type, I need to create specific constrains and bones for them (i.e. duplicate them all for the new character, then set them up correctly...). I thought that by duplicating my skin it would create new constrains, but nope... I was thinking maybe, skinning the constrain parameters, (such as the offset) would make it really helpful, what do you think about that?
2/ Another issue I am having is bone length. I don't know how to adapt bones length automatically
so, this is how it looks if I setup my bones with the bigger character, and then select the skin of the smaller character

I have tried to create other constrains to replace the elbow

but since the upper arm bone is too long, this obviously doesn't work as I expected

Any idea on how to fix this ?

3/ the other workaround, (and I discussed it already here : http://fr.esotericsoftware.com/forum/point-attachment-and-child-bones-9883 is to create a setup animation, with one frame, that would correctly place all the bones how I want them. However it is not possible to change a bone length.
I wish it could be done directly with skinning, since this is what skinning is for 🙂

thanks

Hello,

There are several possibilities to go around this:

  • since you are using IK constraints on the arms, you may just create a new set of bones for the shorter arms, and make an IK constraint so that the follow the same target

  • You could start from the smaller version and make the bigger version by translating the parts so that they are joined together correctly, even if the bone lenght is incorrect (too short/too long)

  • using meshes would be the easiest thing in terms of reusing animations cause you could achieve the different behaviors for the parts simply with weights
    here's a tip about it:
    Spine: Tips: 37 weights bounciness
    The tips before and after this one are also about differences across skins so they may be interesting for you

Here's a skin constraints tutorial:
Blog: Skin constraints for different proportions

When I had to do a similar process for a character that was taller than the original, I ended up making a transform constraint for each part.
My settings looked like this to relocate a bone to match a new position:

Note that I had both Relative and Local checked to make this work nicely and avoid problems when flipping the skeleton.
Transform Constraints - Spine User Guide: Options

The nice thing is that you set it once, then forget about it.

thanks
so for the arm with the IK, I figured out that by removing the length of the bone for the upper arm, the problem is gone 🙂

Also, there is a bias on my issue : I really want to make this process quick, since it's a small game.
I am not sure I can come up with an easy and quick solution though.
My first thought was to avoid using mesh, because I don't want to spend time to set them up for each skin.
But maybe I am totally wrong on that...

Also, I realize I was trying to use extra bones for placement, which is absolutely not mandatory since you can use only offset for placement.
I am going to go this way, but as I mentioned in another post, since we can not duplicate these constrains, it will take some time to achieve. I think I am going to limit the number of different character proportions and have a few patterns only...