0
$\begingroup$

I'm new to blender it's really amazing. I'm animating some mechanical engineering parts.

I want to create a small 2 finger gripper with a transform constraint so that when i move 1 object the other one follows.

Everything works fine if both objects do not have a parent, but if they have a parent it gets messed up. I want to add them to a parent because afterwards they need to follow the parent rot, trans, scale...

I've provided a small example gif to check.

Can anyone point me in the right direction how to achieve this ?

https://imgur.com/a/ONk6tPr

Without parent With parent

Cheers,

Max

$\endgroup$
0
$\begingroup$

It works fine if you create an armature, correctly orientate each bone with ctrlR, parent each object to one of those bones, then assign them the Transform constraint with the good values (I've used Transformation because I first thought that's what you wanted but I guess in your case it could be as well a simple Copy Location):

enter image description here

$\endgroup$
  • $\begingroup$ Hello moonboots, I've tried your solution and it works very nice! I wasn't really looking into rigging but I guess I have to it works really good! Thank you for your answer! $\endgroup$ – Maximilian Wallinger Jul 12 '19 at 9:54
1
$\begingroup$

Solution

thank you so much for the answers. Meanwhile I was able to come up with another solution, but still thank you for the responses.

My solution was following.

  • Create your base node
  • Create an object which should move to the center of the base node
  • Create a line curve, for example Vector X+ (1,0,0), I used a small phython addon for that
  • Use a locked track constraint on the object and as source the line curve. Direction should be X
  • Assign the object as a child of the line
  • Now you select the line & object and create a duplicate, rotated by the Z axis. I used 3 objects so it was 120°
  • Delete the constraints of both objects, and create a new constraint copy location of the first created object. Use the local coordinate system on both values.
  • Assign all moveable objects as child nodes of the base node.

Now it should work as expected. You can lock the obejcts position and only X should be active in the main moveable object.

I added an arrow to limit the X axis movement and use this as a copy location source for the main moveable object.

Thank you again for the responses. Really appreciated!

Max

$\endgroup$
0
$\begingroup$

One possible method to do this:

  1. Parent one of the Fingers to the Cube as seen in the picture
  2. Then repeat this for the other finger
  3. Now add a copy rotation constraint (with the settings marked in green)
  4. Then use a limit rotation constraint on the other finger to restrict the rotation axis (also see the marked settings) enter image description here
  5. Optional: If you also want to modify the rotation axis, change the Object center point (in edit mode use snap cursor to selected and then in object mode set object centerpoint to cursor)

Happy Blending! :)

$\endgroup$
  • $\begingroup$ Hello Robert, thank you for your response. I've tried what you've suggested but this doesn't work. Updated my post with images. I want that all objects move to the center with the same distance, but if they have a parent they don't move in the local coordinate system they move in the world coordinate system $\endgroup$ – Maximilian Wallinger Jul 11 '19 at 21:35
  • $\begingroup$ Ah you want linear motion of the fingers, yes, i misunderstood. However what you want is fairly similar since you only change the "copy rotation" to a "copy location" and the "limit rotation" to a "limit location" cobstraint. Also make sure you limit all two axes in which you don't want to move (in local system) and use local system in both constraints. And use the "keep transform" option for parenting $\endgroup$ – Robert Roth Jul 12 '19 at 7:25
  • $\begingroup$ Hello Robert, thanks again for replying. The problem is that this doesn't work if the objects have a parent. If they have and you move, rotate the parent the locations get messed up. You're happy to try it. I've come up with a solution for that and answered my question $\endgroup$ – Maximilian Wallinger Jul 12 '19 at 9:25

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.