I'm designing a kind of hinge mechanism. I want a sliding part's movement along the y axis to be applied to another part's movement on the z axis. I'm fairly new to blender so possibly I'm missing something fundamental.

I could probably achieve the same thing via a rotation with a rig, but I feel like it should be easier than that. I've been trying to use a transformation constraint but it seems like you can only map this movement with respect to ranges of global coordinates. What I want to do is more like +1 on the y axis for object/bone A = +1 on the z axis for object/bone B.

Am I missing something or is this the wrong approach? Thanks.

I'm using Blender 2.9.

  • $\begingroup$ A transformation constraint can do this (check the settings on the constraint to change from world to local.) Usually, problems with this have to do with misunderstanding what your local axes actually are-- they are not the directions that a rotated bone or object is currently pointing! Giving more details about your real problem (not an idealized version), and hopefully a file, would probably make it easier for people to help you with what you need. $\endgroup$ – Nathan Feb 21 at 22:03

This is fairly easy using drivers. Look into that on docs.blender.org

Right click the property you want to drive from, and select “copy as new driver.“ Then go to the property you want to be controlled, right click, and click “paste driver.“

  • $\begingroup$ Thanks Zargul! Much appreciated, I'll take a look at drivers. They sound like a more Unity-like experience, and vastly preferable to the bizarre sine-function rigs I've been sketching.. $\endgroup$ – 2birds Feb 21 at 22:41
  • $\begingroup$ @2birds TYJ, glad it helped! 🙂 $\endgroup$ – TheLabCat Feb 21 at 23:26

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.