I am trying to add physics to the Lego Figure I have modeled. The body of the figure, has holes on each side for the arm, just like real Lego Figures do.

I know I can attach the arm to the body, by using the "Child Of" Constraint. If I do so, I can only rotate the arm in one direction, or else it would pass through the mesh/body.

How can I add physics, so that I can rotate the arm also to the side, or even let it pop out, without one object passing through the other one.

Does anyone know how to do so? Maybe what physics I should add to make it work that way?

And different question, how can I let my figure pick something up, can that also be controlled by physics?

  • 1
    $\begingroup$ Please ask only one question per post, make as many as necessary $\endgroup$ Jun 8, 2018 at 15:59
  • $\begingroup$ Sorry, I didn't think about it. $\endgroup$
    – W. Zayde
    Jun 8, 2018 at 21:10
  • $\begingroup$ If you want to do an animation with only one or maybe two Lego figures then just animate it using keyframes. Lego figures are stiff anyway so physics make no sense in that context. $\endgroup$
    – HenrikD
    Jun 9, 2018 at 8:32
  • $\begingroup$ I know they are actually stiff, but in recent animation movies, they actually managed to pop the arms out of the body for special movements. And that's what I want to do with mine as well. $\endgroup$
    – W. Zayde
    Jun 9, 2018 at 17:19
  • $\begingroup$ From what you're describing, I would strongly encourage looking at constraints over physics. They should be able to solve this for you without the CPU hassle of unnecessary collision calculations. $\endgroup$ Feb 22, 2022 at 20:15

1 Answer 1


If you need physics for the project you're working on. You'll want to set the origin of each of your arm pieces to their joints. Parent the arm to the body. Then use a limit location constraint to keep the arm attached to the body. To do this copy the location coordinates to the maximum and minimum values for each axis, activate all the check boxes, and change the convert value to local space.

To unattach and reattach the arms you will probably need to write a script that will remove the parent relationship and the constraint between the arm and the body when a certain event occures and then set up the relationship and constraint again for the new arm.

As for picking stuff up, a similar limit location and parenting set up should work in conjunction with another script.

  • $\begingroup$ I already limited their rotation, so that they don't pass through the body when rotated. Problem is , like this I can't pop them out or anything like it. So I am looking more for a physics that keeps the objects from passing through each other in the animation. If I don't do so, it will most likely take very long, animating them. $\endgroup$
    – W. Zayde
    Jun 9, 2018 at 17:22
  • $\begingroup$ You might be able to use a rigidbody with the gravity turned down to zero. $\endgroup$ Jun 9, 2018 at 17:33

You must log in to answer this question.

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