My Bezier Curve-handles uses hooks that are parented to each bone. The handles are customized to face outwards from the bone. When rotating the bone, the handles does not follow the rotation of the bone, making the result bend wierd (Image 2). How can I automatically have the curve handles follow the bone more naturally like the last image?
-
$\begingroup$ Is the bone supposed to rotate only this way? $\endgroup$– lemonCommented Dec 21, 2023 at 14:07
-
$\begingroup$ The problem with this setup is, a hook is not like a parent object. A hook is only providing a location for an object/vertex or whatever is hooked to it, not the rotation. $\endgroup$– Gordon BrinkmannCommented Dec 21, 2023 at 14:09
-
$\begingroup$ @lemon The original rig is much more complicated, rotating multiple directions. Thought I would present the problem in the most simplistic way with this example. $\endgroup$– Sondre Kile AndersenCommented Dec 21, 2023 at 14:29
-
$\begingroup$ @SondreKileAndersen, I think you should had a bit more detailed, because if not you may have wrong answers $\endgroup$– lemonCommented Dec 21, 2023 at 14:34
-
$\begingroup$ The main problem in your current "result" pic is that you have hooked the control but not the handles-- include the handles in the hook. But you still won't get exactly "What I want" with rotation alone. The desired curve is not just a rotation of control+handle, but a change in handle length as well, a scaling. $\endgroup$– NathanCommented Dec 21, 2023 at 16:10
2 Answers
Hook the curve vertices directly to the bones:
Alternatively, you can also hook not only the curve point but also its handles:
Examples with both approaches:
-
$\begingroup$ Thanks, it worked! But as you suggested in the comments, I posted a new question, as this solution did not solve the problem with the complex build. blender.stackexchange.com/questions/308422/… $\endgroup$ Commented Dec 21, 2023 at 15:25
you can reach the goal by settings drivers to curve factor start & end.
Be careful with the rotation axis!
I first set both bones to rotation euler xyz.
i used this driver for factor start:
and this driver for the factor end:
be aware that your formula and axis might be different so that it works for you.
result: