1
$\begingroup$

In the game engine, how do you lock an object's translation while letting it freely rotate?

I've got a record with grooves, with random noise added to all vertices in the z direction.

enter image description here

The needle/arm should drop into a groove on the record, and be free to rotate about the end of the arm as the grove moves up and down.

If I lock the x/y/z translations of the arm, it doesn't move at all. I don't understand why this doesn't simply lock the pivot point, and give me the desired affect.

$\endgroup$
1
$\begingroup$

If I understand the question correctly, the needle is holding the arm up, as it cannot move, only rotate. (locking the translations does let it rotate, but it gets held whereever it starts.)

enter image description here

If that is the case, then you need Rigid Body Joint constraints.
Then the needle will be able to move, but only in relation to the arm.

Here is a quick setup:

enter image description here enter image description here

$\endgroup$
  • $\begingroup$ I think the issue I was having is that when translations are locked, it doesn't rotate due to gravity. I think you're probably right about the Rigid Body Joint constraints; they're either buggy in 2.67b, or I haven't yet wrapped my head around how they work :P $\endgroup$ – ajwood Jul 22 '13 at 13:12
  • $\begingroup$ The needle, housing, and arm are all part of one rigid body mesh in my case, but I should be able to figure out how to place the pivot at the end of the arm. A confound for my crazy rotations has been the bad collision bounds between the record and the needle - I think I started off too complication and I need to go back to some basic tutorials :( $\endgroup$ – ajwood Jul 23 '13 at 16: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.