Hi Björn,
I think this is doable with Duik and a few expressions.
Here what I would do:
- Create a structure with three parts
- add IK / autorig the two upper parts only (as the root won't move). You get your controller for animating the arm
- Create a new Structure with four parts
- Move it above the third part of the previous Structure, where the arm is telescopic. To make it easier with the expressions later, be careful to move and rotate only the first part of this new structure to align the whole structure to the arm. DO NOT manipulate the 2nd, 3rd and 4th part yet!
- Parent the first part to the arm
- Only then adjust the 2nd, 3rd and 4th part by changing ONLY the X position, keepin Y at 0.
- Separate the dimensions of the 2nd, 3rd and 4th part.
- Add an expression in their X position to move these parts.
The expression should be something like this (not tested)
Code: Select all
var controller = layer("controller");
var lowerArmLength = controller.effect("IK | Hand")("Upper length");
lowerArmLength = lowerArmLength + controller.effect("IK | Hand")("Upper stretch");
lowerArmLength * 0.25
You'd just have to change the multiplicator at the end, depending on the placement of the part you want. You could even replace it by a slider to be able to adjust it.