5
$\begingroup$

I'm making a little animation with some gears. I want that if I rotate the first gear, all the gears rotate with the gain given by the gears.

For doing that I've choose the copy rotation constraint. But in my case, sometime a gear turn one time and the second turn tiwce. With the copy roation I can only put an influence between 0 and 1.

So my question is : Is there a way to put a copy rotation constraint with an influence higher than 1? Or is there an other solution to do what I want?

$\endgroup$
8
$\begingroup$

1.0 is the maximum influence for any given constraint, so setting it beyond 1.0 is impossible.

Using the Transformation constraint, you could easily map any kind of simple transformation from one object to the other. In the following example, the object being constrained will rotate twice the amount of Cube_target's rotation in the Y axis.

1a

Checking Extrapolation will extend the transformation beyond stated range of values.

$\endgroup$
  • $\begingroup$ Thank's for your answer. But now I've an other problem. With the copy rotation and the transformation constraint, when the target object go from 179° to 180° or 539° to 540°, the objects with the constraint do a 'higher step' of rotation. Is it a bug or I'm doing somthing wrong? $\endgroup$ – lucblender Nov 29 '13 at 8:56
  • $\begingroup$ @lucblender: I can't picture, let alone reproduce your problem. I redo this answer, and found nothing wrong at the angles your mentioned (file at PasteAll). A sample file would be helpful. $\endgroup$ – Adhi Nov 29 '13 at 11:21
  • $\begingroup$ The bug appear when the ratio between the source and target object isn't somthing like 0.5, 1, 1.5 Here is a link to my blender file:dropbox.com/s/246ciar9hae8vda/engrenage%20V2.0.blend $\endgroup$ – lucblender Nov 29 '13 at 12:02
  • $\begingroup$ OK, that looks like a bug on the extrapolation. Both Transformation and Copy Rotation are screwed there. An alternative solution is to drive the rotation directly (File at PasteAll). It's a bit more involving, but seems more stable. $\endgroup$ – Adhi Nov 29 '13 at 12:58
  • $\begingroup$ Oooh driver that's a bit new to me. I'll try this thank you :) $\endgroup$ – lucblender Nov 29 '13 at 13:06
2
$\begingroup$

Use F-Curve Drivers.

https://www.youtube.com/watch?v=jMoBFzXFAUM

Use a scripted expression on the OWNER object's driver with the Target object set. By animating the TARGET object, the OWNER responds accordingly to the driver.

Eg: Two Cubes, CubeA and CubeB:

  1. Add SINGLE DRIVER to CubeB's x rotation transform box.
  2. Go to Graph window.
  3. Change from F-Curveto Drivers.
  4. Select it's X Rotation in the list on left side.
  5. Scroll down in the right side panel to find Drivers.
  6. Set Ob to CubeA Change Type to X Rotation (since we added single drive to x rotation).
  7. In the field under Script Expression: Delete 0.00 and write var * 2 (var is the name of variable box we changed the ob/type in).

Now rotate on CubeA's x axis. CubeB rotates on the x axis at twice the speed.

Using this method, you will never have that 179-180 problem.

$\endgroup$
2
$\begingroup$

Another way to do this is to simply stack copy rotation constraints, with offset enabled.

enter image description here

They'll add together. Unpleasant if you wanted a 50:1 ratio, but easier than drivers or transformation constraints if you only need a 2:1 ratio.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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