1
$\begingroup$

I try to rig a leg drawn with Grease Pencil. A lattice deform the grease pencil. The lattice itself is deformed by the armature (with vertex groups).

Here is the problem:

  • if I place the IK pole bone on the right on the X axis, no problem (image 1):
  • But if I place the IK pole bone on the left, the grease pencil is enlarged on the X axis (image 2). So the leg thickness is changing and that's what I would like to avoid. enter image description here I really don’t understand why. Does anyone have an idea? Thank you in advance for your clarification

Here is the file (Blender 2.91) : https://www.dropbox.com/s/iqn6sau42bd091w/BendyBone02.blend?dl=0

$\endgroup$

2 Answers 2

0
$\begingroup$

i pass for the same issue, this happening when apply the scale or modify the lattice in edit mode, just don´t do that.

$\endgroup$
1
  • 2
    $\begingroup$ Hi, thanks for the post. This site is not a regular forum, answers should be substantial and thoroughly explain the solution and required workflow. One liners and short tips rarely make for a good answer. If you can edit your post and provide some more details about the procedure and why it works feel free to restore it, otherwise it may be deleted or converted into a comment. Perhaps add a few images illustrating the workflow and final results. See How do I write a good answer? $\endgroup$ Aug 6, 2021 at 10:24
0
$\begingroup$

The issue comes from the fact that of the use of a pole target that flips the plane of the IK chain bones by 180 degrees when switching between "left" and "right" side of the chain. The interpolation that is used for the Lattice is Catmull-Rom. For some reason the deformation of the Grease Pencil object is more pronounced using this type of interpolation even for small changes of the bones rotation.

The solutions are three - "too simple", "complicated" and "too much work, man"

If you want to compromise the lattice interpolation just switch to Linear Interpolation, add more W resolution and repaint your vertex groups:

Fig. 1

This will practically remove the issue with the scaling but the deformation will not be so smooth.

enter image description here

The "complicated" solution uses drivers to "switch" the IK chain Bendy bones Roll In and Roll Out angles depending on which side of the IK chain the pole target is

It could get easily complicated if using vector math to get the position - so this is a simplified workaround that uses the IK bone angle as indicator where the pole target is. The IK bone is tracking the pole target using a Track To constraint. If the Pole target is on the "left side" the Z rotation of the IK bone is negative and the Roll angles are set to 0 degrees. If the Pole target is on the "right side" the Z rotation of the IK bone is positive and the Roll angles are set to 180 degrees.

Fig 3

Fig 4

Basically in both cases the Grease pencil Object is flipped due to the nature of the Inverse Kinematics Constraint used. So you can tell that this will work only with symmetrical objects like the one provided. If you have an asymmetrical object the above solutions will fail. In this case you should try to control the bending rotation of the IK chain not with a Pole Target but by enabling the Rotation option (under the Weight Position) in the IK Constraint Panel. On the figure below the pole target bone was removed from the rig:

Fig 5

In the third solution you have to animate both the location and rotation of the IK target bone, which some may find as too much work :)

Here are the blend files:

BendyBone02 - Linnear Lattice.blend

BendyBone02 - Drivers.blend

BendyBone02 -- IK Rotation Control.blend

$\endgroup$

You must log in to answer this question.

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