Keep bones outside of a mesh

Hi everyone! I am trying to create an IK chain, and I would like the bones of such chain to stay outiside of a mesh. They should also, ideally, stretch, in case I pull the IK controller. How could I achieve this? I tried stuff as limit distance or shrinkwrap constraints, but I could make it work… any advice is super welcome!

Here’s an image that will hopefully explain better what I am trying to achieve.

Thanks!

I am pretty new to this myself so I may be misunderstanding the first part of your question regarding the bones being outside the mesh.

In the object properties window you can select the “In Front” option to make the bones always visible over the mesh:-

image

cheers,

andy

Hi Andy, thanks for your reply.

Unfortunately that’s not what I am looking for: I am trying for a way to keep bones outside of the mesh physically, not visually. So basically when I move the IK controller, the bones should react to the mesh surface and stay outside. It has something to do with constraints.

I hope this is clearer now! :slight_smile: Thanks however for taking the time to answer! :slight_smile:

1 Like

Ah, okay, sorry about that :slight_smile:

I’ve just checked your profile and you have been here since 2010! I should have checked that before replying.

I hope you get the answer to your question :+1:

cheers

andy

1 Like

not at all, it’s always nice when someone tries to help! Beside, doesn’t matter the experience… solution sometimes might be just that simple :wink:

1 Like

Since you’re okay with stretch, you could start with a layer of guide IK, then a layer of children of IK bones with shrinkwrap constraints parented to the IK guide bones, then a layer of deforming bones parented to and stretching-to the shrinkwrapped bones:

1 Like

so basically I guess this means using different bones… Ok, it’s quite late here, thanks for your answer tomorrow morning I’ll give it a go and I’ll let you know how it went!

ended up trying it now :smiley:

It works! I think I cannot have bones that are too long, or they’ll end up inside anyways, and bendy bones do not seem to do the trick either. Not sure if I need to tweak something, but the approach is definitely right!

Thank you! :slight_smile:

Yeah, the bones are always straight-- you can’t shrinkwrap different parts of a bone, just the head. So the more you subdivide the chain, the more agreement you’ll get with the mesh.

You can use bendy bones with this, you just have to be careful about your intro and outro bones. And the bendy bone isn’t necessarily going to follow the mesh, it’s going to follow the spline created by the bones.

1 Like

…Another thing that can be done is using Hooks.
You can use a normal mesh, that is shrink warped to the object. Then you use Hooks (Empties parented to specific points of the mesh) and parent the bones to those Hooks.
You animate the mesh and everything will follow. Used it many times before, specially for jackets animation :slight_smile:

1 Like

that’s also a good idea! Thanks Rogerio!

1 Like

You could probable also use a lattice. Rather than try to solve how to do the bones, what is the animation you are trying to do? Maybe there are better ways to accomplish the same thing.

1 Like