1
$\begingroup$

I'm trying to figure out how to put a constraint on the shoulder bone as shown in the images below. What I'm looking for is a realistic motion where the shoulder moves upward ONLY when the arm bone reaches a high enough angle. The image with the green circle is the position where I want the upward movement of the shoulder to start. I've tried tinkering with the rotational bone constraints but I ran into a couple of problems. The first problem is that I could never get the bone to rotate in the upward direction. The second problem is trying to find the axis behavior that causes the rotation resulting in upward motion. Moving the shoulder bone itself only rotates it in one direction and moving it indirectly with an IK through chain length doesn't change the coordinates of the bone itself.

enter image description here

enter image description here

Blend file:

$\endgroup$
  • $\begingroup$ could you upload the blend file to make us help you? $\endgroup$ – Tak Dec 25 '16 at 11:52
  • 1
    $\begingroup$ the file is above $\endgroup$ – xxhoisinxx Dec 25 '16 at 12:32
  • $\begingroup$ I've provided an answer for your question and included an updated file :) $\endgroup$ – Tak Dec 25 '16 at 12:48
1
$\begingroup$

Try using a Transformation constraint, this allows you to convert a location change into a rotation change.

In the following example I take the Z location of the arm bone with values between -0.3 and 0.3 and convert that to an rotation of the X axis of the shoulder bone from -5 to 5 degrees. Notice in the middle the Z source maps to the X destination.

tranformation constraint

bone example

For more control than that you can create a driver. You can define your own python functions to use in drivers to get as much control as you want.

$\endgroup$
0
$\begingroup$

Looking at your file, I've adjusted couple of things to make its looks good and realistic.

First the IK bone constraint of the ForeArm.L bone, setting the chain length to 3 makes the shoulder bone included in the chain and this is not correct and makes bad deformation as shown below:

enter image description here

change the chain length to only 2 as you don't want the shoulder to be affected and will give a realistic deformation as shown below:

enter image description here

Also once you do that then there will be no need to set an IK constraint for the UpperArm.L bone so you can disable it as shown below:

enter image description here

Below is the updated file where the contraints where updated and the constraint of the UpperArm.L bone was disabled.

$\endgroup$
  • $\begingroup$ Thanks for the reply. This is not quite what I'm looking for. The following GIF is what I'm trying to achieve: IMAGE @Tak . I should have established this on the first post. I'm tinkering with chain length 3 instead of 2 for that reason. $\endgroup$ – xxhoisinxx Dec 25 '16 at 19:38
  • $\begingroup$ @xxhoisinxx well, according to the gif you sent, this is not related to IK, this is normal rotation using custom shapes as shown here blender.stackexchange.com/a/43054/2517 $\endgroup$ – Tak Dec 25 '16 at 23:09

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.