# How to fix rotational constraint 'jumping' in rotation problem

I am rigging a set of gears (a car - wheels driving through a differential), and am taking the input as the wheel rotation. I've used parenting and constraints to link the gears. All goes well until I reach the point where I need to have the next gears rotation at 1/3 of the previous gear. Each method I have tried (transformation constraint, rotation constraint, and others, drivers, etc) all result in the correct rotation for only 120 (or 1/3 of a full rotation) before it flips on it's local axis and starts again. This is true for other fractions of the original rotation also. On a rotationally symmetrical gear this may not be a problem, or even visible, but my gear is not. It can easily be seen by selecting the target gear and turning on the local axis view. Does anyone now of a solution to this, to achieve a fluid, full, scaled rotation?

• Are you using euler angles in your calculation? Because they have some issues, most notably gimbal lock which could be the cause of jumpy rotations. It is better to use Quaternions instead. The Blender Wiki give a good overview over the different rotation modes. – maddin45 May 24 '14 at 20:33
• I am using the Eulerian system. I have wondered about quaternions being the solution, and have experimented a little in the past, but can't get to grips with it. How can I use constraints such as transformation constraint with this coordinate system? – zzero101 May 24 '14 at 21:22
• This Dr. Hirsig tutorial explains some limits & quirks of transformation constraints at about 5:30 vimeo.com/46063135 – dino808 Mar 20 '16 at 19:51

## 1 Answer

To get an object rotating at a constant rate you need to set two keyframes to define the speed of rotation then set the keyframe interpolation type to linear and the channels extrapolation mode to linear. This gives a constant rotation without speed variation.

To get another gear rotating in time with the main gear it is easy to setup a Transformation constraint. This constraint allows you to copy a rotation proportionally.

Here I have the source rotating -120 and the destination rotating 360. The key to having it rotate continuously is to tick the extrapolate check box.

• I have 2 pulleys: the first diameter 10 cm attached to the motor the second 30 cm diameter attached to the machine (ratio: 1/3): if I set key frames to the motor one and I attach the constrain to the bigger one the suggested setup of the answer doesn't work: the big pulley jumps after turning 1/3 and restarts. To make it work I have to invert using key frames on the big one and the constrain on the little one that is attached to the motor... but this is not logic!!! In reality the machine cannot move the motor is the motor that moves the machine... Why I have to do the opposite in blender? – willy wonka Jan 12 '17 at 9:26
• My example has the large wheel keyframed and the small wheel run by the constraint. It can be setup the other way around, just set the source and destination rotation values the opposite way to what is shown. – sambler Jan 13 '17 at 20:06