1
$\begingroup$

How can I get rid of this when I move my bone? Because I would like it to only stretch, but not get bigger. I have stretch enabled in the ik panel. It's the thigh that has the stretch enabled on it and also the one that gets bigger.

Screenshot

Screenshot

$\endgroup$

2 Answers 2

0
$\begingroup$

Normally, scale will use global coordinates.
You want to use local coordinates.

Tap N to bring up the properties panel.
Scale along the appropriate axis, such as Y.

In the example, I scaled (from her view) left arm the standard way.
You can see it inflates, like you mentioned.

Scaled her right arm using local properties instead,
along the Y-axis, so it stretches, but doesn't balloon out.

Scale

edit: OK, in response to the BlendSwap link you posted:
I've never used that rig before.

The website look nice, but loading in Blender gives me this:
Shorty

I assume it's a version mismatch. It's for Blender 2.74
You might need to ask the developer (nocemperor) about that.

I would try this instead: http://www.manuelbastioni.com/manuellab.php
because it uses a standard Blender bones rig.

Again, try to scale along one of the local axis
How to scale along the local axis of an object?

edit: Oh, I just realized it wasn't loading fully.
Trusted

It's better, but only loads Orange model, not Black or Blue.
Perhaps, because it's for an earlier ver of Blender.

If you'd still like to use that .blend file,
the other trick you can do is add a Scale Constraint to the bone.

Select rig > Pose Mode > click a limb.
Set it to the limits you need. To scale along Y axis:

limits

$\endgroup$
3
  • $\begingroup$ But the thing is that i seen a rig that stretches the legs by moving the bone and it doesn't "Balloon out" blendswap.com/blends/view/81455 $\endgroup$
    – bubsy
    Commented Oct 23, 2017 at 1:54
  • $\begingroup$ Check the edited answer, hope that clears up the confusion. $\endgroup$ Commented Oct 23, 2017 at 10:35
  • $\begingroup$ You should provide your .blend file, deeper diving is required if this answer isn't enough. Are you the author of the rig you're using? $\endgroup$
    – Lauloque
    Commented Nov 18, 2018 at 14:01
0
$\begingroup$

So when you tell IK that it can stretch in order to reach a target, it does that by scaling uniformly-- by the same amount in all three axes:

enter image description here

We can see that with a visual transform applied to the pose. The IK bone scaled the same in all axes. Unfortunately, just limiting scale won't do anything to prevent this, because regardless of constraint order, Blender evaluates IK constraints after all other constraints, so the IK will just override the scale limits:

enter image description here

That may not have been true back in 2017, but it's the case currently, at least.

If we want bones that follow our IK, but scale non-uniformly to do so, then we need another layer of bones to follow our IK:

enter image description here

When I copy transforms from an existing IK bone, I inherit its full orientation, including its full scale, but I can then use constraints afterwards to modify that transform-- something I couldn't do when using the IK bone directly. So here, we'd deform from this second, copy-transforms layer rather than the original, IK layer.

A limit scale is not the only way to acquire non-uniform scale, of course. I would be much more likly to use stretch-to constraints in order to get these kind of Y-scaled bones. But for this case, where we're talking about simple IK, limiting scale is the simple solution.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .