0
\$\begingroup\$

I'm trying to make a pinball flipper, but before I begin working on the script to incorporate user controls, I want to get the rotational movement working. Basically it rotates in a circle around the left-most point.

Clearly one option is to make half the flipper invisible. This is the easiest way but it leaves me still not really understanding how to work with rotation. For example:

<======o======>

where o is the midpoint.

I want it to rotate along the same axis, but without the left half of the shape:

       o======>

I have tried watching this video a couple times but am coming short of understanding how the hinge joint works. I attached one my left flipper and set the axis to 0,1,0 so it rotates along the y axis (remaining parallel to the playfield). I also moved the anchor to the leftmost position. I have left the rest of the hinge joint at its default configuration. Here is some evidence:

  1. the placement of the hinge joint (it's the little yellow arrow at the left of the flipper)
  2. the hinge joint config
  3. The buggy behavior
  4. The left paddle's rigid body (it is locked on all position and all rotation except y)

hinge joint placement hinge joint config hinge bugginess flipper rigid body

What I'm really trying to do is have the flipper rotate from it's leftmost point as the origin. I just want it to free-rotate when the ball hits it.

\$\endgroup\$
0
\$\begingroup\$

I think I figured this out, I needed to remove all constraints on the flipper rigid body. The hinge joint already handles the constraints in effect. If it's pointing up (0,1,0) then that prevents rotation on x and z. Also, position constraints have to be removed because otherwise they will override the hinge's effects (essentially making movement around the hinge impossible).

Here is the proof:

rigid body config success

\$\endgroup\$

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.