I am trying to find a way to make a Rigid Object object swing from a given point (an Empty or anything else) without being deformed.

For example:

enter image description here

In this example I want to make the Cone swing on the X axis without moving on the other axis.

I tried every Constraint and Rigid body options I could fin (Pivot, Clamp to, Tack to...), but haven't been able to find a simple solution. Alternatively, I would like the swinging animation to not slow down over time.

How can achieve this?

  • $\begingroup$ This is meant to be a comment, but I can't comment so I will put it as an answer. I managed to do this in my mesh because the chains (the things that I'm trying to pin down) are hooked together and if I hide the top one, then it will look like I have pinned it to one point. $\endgroup$ May 5 '20 at 23:01

A rigid body constraint always needs two rigid bodies. Add a passive rigid body above the cone: Cube.


Select the empty and make it a rigid body hinge constraint, with the new Cube and Cone as the objects.

Other tweaks:

  • The hinge constraint rotates around its Z axis. You will have to reorient it.
  • Move the origin of the cone to its geometric center.
  • Set the Cones shape to Cone.



I would just hand animate it in your place since you desire such a simple motion and you don't want it to slow down over time either so there is no need for any complex simulation.

Select the top verticie of the cone in Edit mode than Shift+S to set cursor to selected,go back to Object mode and press W or Right click (depending on if you use right or left click select respectively) and Set Origin to 3D Cursor.

Than just rotate it 90 degrees on th X axis, press I to insert key frame and select Rotation. Go a few frames forward on the timeline depending on how long you want you swing to last than rotate 180 degrees in the other direction and instert another rotation keyframe.

From than swithc your timeline to dope sheet, B for box select and select your 2 frames. Shift+D to duplicate and slide them across the time line, tha rinse and repeat until you have enough frames for your animation.



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.