0
$\begingroup$

I have a character that I render in multiple poses. The character has a chain, and I need to make sure the chain looks correct in each pose.

the model with the curve selected

At the moment, what I do, is this:

  1. Create the new pose
  2. Select the curve that the chain uses in the curve modifier
  3. Create a new shape key
  4. Edit the curve so it fits properly
  5. Keyframe the curve, so that the curve uses the correct shape key on the given frame

This is really tedious (and I'm apparently also running out of shape keys, because I have more than 799).

I'd love to simply keyframe the individual points of the curve without shape keys, so I can quickly change the shape of the chain in the same way I pose my model.

$\endgroup$
12
  • 2
    $\begingroup$ For manual keying, have a look at the Hook modifier.. and tutorials on controlling a curve with hooks? $\endgroup$
    – Robin Betts
    Commented Aug 14, 2023 at 11:29
  • $\begingroup$ @RobinBetts The issue with the hook modifier is (correct me if I’m wrong), that it doesn’t allow me to scale down or up a bezier point, so the ability to control my curve is very limited. $\endgroup$
    – enyo
    Commented Aug 14, 2023 at 11:36
  • $\begingroup$ why don't you use physics to move the chain? $\endgroup$
    – Chris
    Commented Aug 14, 2023 at 11:44
  • 1
    $\begingroup$ @enyo Using hooks, you are able to scale the bezier handles, in proportion to the vertex. You can create individual hooks for the handles as well, for more options while animating. $\endgroup$
    – lajawi
    Commented Aug 14, 2023 at 13:32
  • 1
    $\begingroup$ @lajawi oh nice! That’s very convenient indeed. The only thing that it doesn’t allow me to do, is to change the tilt of a curve point. Do you know if that is somehow possible without animall? $\endgroup$
    – enyo
    Commented Aug 16, 2023 at 9:24

1 Answer 1

2
$\begingroup$

Answer derived from the comments:

Hooks

One solution for animating a curve using keyframes, instead of shape keys, is using the Hook Modifier.

Short list of steps

  1. Select the curve points you want to create a hook for;
  2. Add a hook (CtrlH Hook to New Object);
  3. To have a control for the tilt, add an empty;
  4. RightClick one of the Rotation Transform and Copy as New Driver;
    • Tip: lock all transforms except for the value you copied as driver!
  5. Go to your curve, and select the vertex;
  6. RightClick the Tilt Transform and choose Paste Driver.

You're all set! Repeat for all curve vertices.

Steps in full detail

To do so, go into Edit Mode on your curve. Then you can either select the vertex with handles and hook them:

Curve vertex and handles selected

Or you hook the vertex and handles to separate objects for more freedom (to be able to select the vertex only, you'll need to use Select Box (image))

Select the vertex using Box Select

After you've selected all the points you want to hook to one object, go to Control Points > Hooks > Hook to New Object or use the the shortcut CtrlH.

Hook to New Object

Now you've got your curve handles and/or vertices hooked to some empties. If you have an empty per point (handles separate) then it's useful to parent those to the vertex they belong to (CtrlP).

Parent empties

To be able to Tilt your curve points from outside, you can use Drivers. You can use the existing empty to do so, but I suggest adding a new one, e.g. an Empty Circle. Align it to the curve point for easier use, and parent it, like the empties for the handle, to the hook of your curve point.

Then go to its Rotation Transform, right click the value you want to use as control for the Tilt, and select Copy as New Driver (small tip, lock all other transforms, as you won't be needing them on this empty).

Copy as New Driver

Final step is to paste the driver. Select your curve, go into Edit Mode, select the vertex you want to add this driver to, RightClick on the Tilt Transform, and select Paste Driver.

Paste Driver

Repeat these steps for all your curve vertices for full freedom!

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .