I am currently working on the rig for a simple robotic character. This character has tube-like arms which bend and deform smoothly using the curve modifier. This works great, but I had to figure out a way to keep the robot's hands attached to the right point at the end of the arm and to stay perpendicular to the arm path. I wrote a python driver to accomplish this which yielded great results as seen here.

However, the problem is that as far as I can tell Blender only updates the coordinates of Bezier Curve Handles when in edit mode, which means as soon as I attempt to animate the limb using shape-keys the hand is frozen at the last edit mode point regardless of driver dependency updates.. You can see the value I am using for the driver not changing during animation here.

So my question is essentially, where can I get the animated spline data used for object mode? If this is impossible, what are my options.


  • $\begingroup$ SplineIK could be an option $\endgroup$
    – batFINGER
    Sep 9 '15 at 11:54
  • $\begingroup$ @batFINGER Yeah, I think that is also a perfectly legitimate option, but in this case I would rather not deal with it. I've always found curves easier to predict anyway, but I might just be doing IK wrong. $\endgroup$
    – Glyph
    Sep 9 '15 at 16:57

Could you perhaps solve your problem by using Hooks?

  • Edit the curve
  • select the endpoint you want controlled by the empty.
  • Ctrl-h and Hook to New Object

Now moving the freshly-created empty drags the curve control point around.

It is also possible to hook the control points to bones in an armature, or maybe just select the hand and the curve and hook the control point to the hand object.

  • $\begingroup$ Thanks, this actually does work, however the part that fixes my problem isn't explicitly stated in your post so I am going to write it here. The way to achieve the hand effect is to hook the curve to the Empty, then parent the hand geometry to the empty so that it controls both in terms of both location and rotation. Thanks again. $\endgroup$
    – Glyph
    Sep 9 '15 at 15:41
  • $\begingroup$ I think I edited my answer after you read it. I suspect that hooking the curve control point directly to the hand object might be an even more direct solution. $\endgroup$
    – Mutant Bob
    Sep 9 '15 at 17:29
  • $\begingroup$ Yeah you must have, thanks again for the help. $\endgroup$
    – Glyph
    Sep 9 '15 at 17:33

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.