1
$\begingroup$

I have two cubes: red one (cube A) and grey one (cube C). Cube A has scale X and Z equal to 1 and scale Y equal to 2 or more. So it is more bar then cube. I want to make cube C the same bar, but for Z axis, not Y. I want to rotate freely both bodies. How can I do this, using Copy Scale constraint? Two bodies I can do following:

  • add cube B;
  • add cube B Copy Scale Constraint with target Cube A and axis Y active;
  • make cube B rotation X 90 degrees;
  • add cube C Copy Scale Constraint with target Cube B, axis Z active;
  • assign Custom Space to Owner in this Copy Scale constraint. I will get this: Three bodies So size Y of cube A will be equal to size Z of cube C - if cube C not rotated. But if I rotate cube C - it will change it's height: enter image description here What can I do to make size Z not changing?

File with cubes A, B, C

$\endgroup$

1 Answer 1

1
$\begingroup$

Drivers

A straightfoward way to achieve the result, would be to use a simple driver for the Z scale of the cube C that pick the value of the Y scale of the cube A like this:

enter image description here

Constraint

If you want to use constraints, you should not use the Copy Scale constraint, but rather the Transform constraint which has the capability of transfering the scale from one axis to the other.

The setup should look something like this:

enter image description here

Make sure to enable "Extrapolate", select Scale tab, set the minimum range to 0 and change the Z axis to map to from Z to Y.

$\endgroup$
1
  • $\begingroup$ Thank you for your answer! Driver is the simplest way and it works. Transform constraint I'll try later, sure it also will be useful. $\endgroup$ Commented Feb 26, 2023 at 11:43

You must log in to answer this question.

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