2
$\begingroup$

I'm new to blender but not to 3d modeling, and I'm trying to rig a 7 cylinder radial engine, everything is set: crankshaft, piston, counterweight, planetary gear made with the extra mesh add-on(it could be important cause those gears are working perfectly) and rigged with a rotation driver for an output of 1/6 ratio. I'm know trying to rig a hand modeled piece (the cam ring ) which spin at the same speed as the ring gear with the same driver: -(var*1/6) of the sun gear. but a rotation of 180° on the X axis of the sun gear cause a sudden jump back of 30° on the x axis of the cam ring I tried to delete the driver on the cam ring and parent it to the ring gear directly but still doing the same. Could anyone help?

$\endgroup$
3

1 Answer 1

2
$\begingroup$

There are two different kinds of ways you could be driving this. One would be to drive it from a transform channel/rotation. The other would be to drive it from a single property, like "rotation_euler". The first will not work for you. The second should.

I don't know which method you're using. A file would make it clear.

Driving rotation from a transform channel gives you the rotation after it has been converted into a matrix and had all constraints applied to it. Matrix transformations do not represent rotations outside the -180, 180 degrees range, which is sufficient to represent all orientations of a specific object. But when you go from 120 degrees to 180 degrees to, say, 240 degrees, your driver is seeing this as going from 120 to 180 to -120 degrees-- and a sixth of that is 20, 30, -20, which creates a discontinuity.

If you instead drive rotation from a single property, you get the actual amount of rotation specified directly by the f-curve, before any constraints, before it's been converted into a form that destroys this information about "extra" rotations. In this case, in the example above, you would see a smooth 20, 30, 40, just like you'd expect.

$\endgroup$
4
  • $\begingroup$ thank you nathan , i think you understand where my problem come from even if don' t understand what you're answering me about matrix (i'm new to blender). i haven't created animation channel yet still rigging for now but i figured out something if i clear parents from the root bone created for the crank shaft i can rotate it whithout issues. I WISH I COULD HAVE NEO WITH ME. $\endgroup$
    – Oliver
    Commented Jul 13, 2021 at 18:30
  • $\begingroup$ @Oliver Don't worry too much about understanding everything-- we grown-ups aren't so different from babies, we still learn when hearing things that don't make any sense to us yet, it only takes repetition and time. Just try using a different kind of driver and see if that fixes your problems. $\endgroup$
    – Nathan
    Commented Jul 13, 2021 at 18:52
  • $\begingroup$ @nathan thanks for your answer. I get the "gimble" lock principle, though I don't know how to drive it from a single property? Any recommendations on how to do that? $\endgroup$
    – CromeX
    Commented May 9, 2023 at 21:34
  • $\begingroup$ @CromeX It doesn't have anything to do with gimbal lock. You drive from a single property by selecting the variable type for the driver in the driver editor viewport, in sidebar/driver. $\endgroup$
    – Nathan
    Commented May 9, 2023 at 22:48

You must log in to answer this question.

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