# Rotation goes from positive to negative midway (drivers)

**URL:** <https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886>\
**Category:** Animation and Rigging\
**Tags:** driver, animation\
**Created:** [February 5, 2025, 5:11am UTC](https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886 "2025-02-05T05:11:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![usernew](https://blenderartists.org/letter_avatar_proxy/v4/letter/u/ccd318/32.png) [@usernew](https://blenderartists.org/u/usernew)\
**Post date:** [February 5, 2025, 5:11am UTC](https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886/1 "2025-02-05T05:11:32Z")

</div>

I have a simple driver rotation on Y axis and the rotation works fine if I leave the variable as (-var) But as soon as I add modifier(generator) to slow down the rotation or use the expression (-var\*0.18) the animation does a jerk at the middle and shifts from positive to negative.

 ![image](https://blenderartists.org/uploads/default/original/4X/6/c/9/6c93907534b643bcd2eb8484be3b65bf06854e25.png)

 ![image](https://blenderartists.org/uploads/default/original/4X/0/8/c/08cbdfd277cb12e7037478bc9d861c7634613ddc.png)

---

<div class="post-metadata">

**Author:** ![zeroskilz](https://blenderartists.org/user_avatar/blenderartists.org/zeroskilz/32/1089470_2.png) [@zeroskilz](https://blenderartists.org/u/zeroskilz)\
**Post date:** [February 6, 2025, 5:58am UTC](https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886/2 "2025-02-06T05:58:32Z")

</div>

Those _Transform Channels_ give you rotations that are in the range -π to π (-180° to 180° ) and the values “wrap around”. So, scaling the rotation of one object based on the rotation channel of another object is dangerous.

Instead use the _Copy as New Driver_ feature on the Y rotation of the main cog:

 ![image](https://blenderartists.org/uploads/default/original/4X/2/6/f/26fbe576139720548cb08099eae44ef376ab283b.png)  
…and paste that as a new driver into the other cog’s Y rotation and then the scaling factor in the driver expression should work.

You could also use rigs, [like in one of Johnny’s new tuts](https://www.youtube.com/watch?v=903BG7l4tAQ).

Good luck.

---

<div class="post-metadata">

**Author:** ![usernew](https://blenderartists.org/letter_avatar_proxy/v4/letter/u/ccd318/32.png) [@usernew](https://blenderartists.org/u/usernew)\
**Post date:** [February 6, 2025, 1:03pm UTC](https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886/3 "2025-02-06T13:03:28Z")

</div>

My other cog (smaller one) is spinning on the basis of regular keyfyrame animation. Only the top big gear needs to be slowed down.

---

<div class="post-metadata">

**Author:** ![zeroskilz](https://blenderartists.org/user_avatar/blenderartists.org/zeroskilz/32/1089470_2.png) [@zeroskilz](https://blenderartists.org/u/zeroskilz)\
**Post date:** [February 6, 2025, 5:14pm UTC](https://blenderartists.org/t/rotation-goes-from-positive-to-negative-midway-drivers/1577886/4 "2025-02-06T17:14:58Z")

</div>

Yes… I know. Assume “main cog” to mean the one that the driver is getting its rotation variable from.

> [@usernew](#):
>
> Only the top big gear needs to be slowed down.

That’s what “scaling the rotation of one object based on the rotation channel of another object” means.

I can clearly see in your screenshot that you’re using a Transform Channel as your driver expression variable. **Don’t do that** … and go re-read my previous response.

Good luck.
