2
$\begingroup$

Background

I am modelling a car. I am trying to create a simple rig whereby rotating an empty (the "Tyres Rotator Empty") will rotate the tyres and the steering wheel. This would allow me to easily "pose" the car as it goes round a corner (for example).

I would like to do this using constraints. The obvious choice would be Copy Rotation on both the tyres and the steering wheel, and Limit Rotation on the Tyres Rotator Empty.

I managed to rig this perfectly, until I came to parenting all the various objects that make up the car to a single container empty (the "Container Empty"). Doing this broke all my constraints in very odd ways I didn't understand. I had objects jumping about all over the place and nothing behaved as expected.

I am now trying to rebuild my constraints. While I have managed to do this for the tyres, I cannot get this to work for the steering wheel. The steering wheel needs to rotate on its local Z axis when the Tyres Rotator Empty rotates on its global Z axis.

While this should be simple enough to create with either Copy Rotation or Transformation constraints, I just cannot get the desired behavior.

Question

The steering wheel (see attached file) consistently seems to rotate along the local y axis instead of its local Z axis, even when I set it to be evaluated in local space. I cannot seem to get it to rotate on its local z axis.

My constraints seem to be correct, but I am not getting the behavior I intuitively expect. I suspect that I don't properly understand how World Space and Local Space works.

Please note that I have included two constraints on the steering wheel in the attached which I think should work (Copy Rotation and Transformation), but one is disabled. This is just for illustration. I am not trying to enable both at the same time, but I feel that either one should work and yet neither do.

What am I doing wrong? What do I not understand?

$\endgroup$
2
$\begingroup$

The question might be better explained with: Remove the parent from the steering with ALT P and you will see it works. Why does the parenting disrupt the pivot point?

Update: If you add a child of constraint to the steering (uncheck the scaling) it adds the parent and behaves as expected without problems.

$\endgroup$
  • $\begingroup$ Thank you for this, I appreciate the answer, but as you say you have removed the parent child relationship. This isn't what I am after. As stated in my original question, I am able to rig this perfectly myself without anything being parented. What I want to do, however, is parent the entire car (steering wheel included) to the container empty like in my example file. I want to understand why exactly is isn't working in my example file even though it looks like it should be. $\endgroup$ – Lewis Apr 14 '17 at 12:22
  • $\begingroup$ Think I understand that now. Updated with work around... $\endgroup$ – Patdog Apr 14 '17 at 12:58
  • $\begingroup$ ...and updated the file with work around. Friendly suggestion - 18MB is pretty big - would be handy for testing to have simplified geometry & smaller size. $\endgroup$ – Patdog Apr 14 '17 at 13:17
  • $\begingroup$ Thanks. I had considered that as a workaround, but it seems like there must be a cleaner way and I was also really looking to understand the reason behind the initial behavior, not work around it. Having experimented more I think the issue is that once an object is parented "Local Space" means using the axis of the parent object. The axis of the child object itself is no longer available, which seems undesirable, but apparently that is how it works... thanks anyway. $\endgroup$ – Lewis Apr 14 '17 at 15:28
  • $\begingroup$ Update: If you add a child of constraint to the steering (uncheck the scaling) it adds the parent and behaves as expected without problems. $\endgroup$ – Patdog Apr 14 '17 at 17:51

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.