Need help rigging a latch

Hello there, I’ve tried rigging this case latch but I’m having issues with it. Would appreciate if someone can help me out with it. Blend file will be attachedLatch.blend (971.3 KB)

Hey, To be honest, you really just need to place the objects origin at a pivot point - and do some better parenting. You could eliminate most all of those emptys - but the problem you show in the top pic/gif is due to the wrong parent. Post back if you need more help, I will keep your file for a few days. :slightly_smiling_face:

Big thanks for the response. And yes, you are right. The origins which were not at the pivot point caused much of the problem. I’ve been able to rectify the problem. Thanks to the blender fam!!.


Your objects were scaled, and their origins in some cases did not match their geometry. This was probably causing problems, some of which you appeared to overcome with additional constraints, but things eventually broke down.

Attached is a file with my solution. This is the “simplest” I could come up with that allows the latch to be placed at any location or rotation. I created a full copy of your scene to work on (“Edit”).

Latch_edit.blend (1.6 MB)

Steps I took first to clean things up:

  • Model moved to origin (personal preference when modeling)
  • Removed modifiers (applied mirror)
  • Applied visual transform (so I could remove constraints)
  • Removed constraints
  • Set object origins (to geometry or world origin)
  • Applied scale
  • Applied rotation (particularly the “handle”)

I then:

  • Named the objects to keep track of things
  • Parented objects to each other in a logical fashion (IMHO) with he object “LatchBody_01” is the main parent
  • Added a Limit Roation constraint to the “Handle” (Local Space)

For the “Latch” I added

  • Copy Location to “Axel_Latch” (which is parented to the handle)
  • Copy Rotation to “LatchBody_01” with Mix set to Add
  • Damped Track to “Track_Latch” (an empty parented to “LatchBody_01”)

Place the assembly where you need it by moving the “LatchBody_01” object.
Animate the rotation of “LatchBody_01” from 0 to 60 degrees (local x-axis)
(optional, during above rotation) Animate the z-location (down) of the empty (“Track_Latch”)
Set cursor to the “Axel_Handle,” and using cursor as pivot, rotate “Track_Latch” around (local) x-axis

Thanks so much @Phil_n. That’s a very decent job done there. The exact solution i finally settled for. Gracias amigo.

Glad to see you got it working - I did notice one of the parts(key tumbler) had the wrong ‘normals’ - take it into ‘edit’ mode and recalculate them.

Thanks for bringing that to my notice