1
$\begingroup$

I am currently working on a hair object for a character. The hair is a series of curves that use two other curves to determine the hair shape and taper variation. My problem comes with trying to get the hair fit for animation. My current working solution is to convert all the hair curves into one mesh and then use a lattice to deform the long back part, as trying to use automatic weights with a skeleton achieves horrible results (random weights or just fails to apply any). I don't really want to rely on cloth physics as the hair is a very complex series of disconnected objects, and I know that would create several issues. I wanted to know if there was a method to rig the entire group of curves with a skeleton or some shape deformation, or if I will need to go with my current strategy which is a combination of lattice and blend shapes on the merged mesh.

$\endgroup$
1
$\begingroup$

You can't really rig a curve with an armature. (You can, but you're stuck using envelope weights, which suck.)

Converting to mesh is one option. If you're interested in maintaining these as curve objects, to one degree or another, you can use curve modified meshes. That will override your bevel but not your taper-- but I think you'll find that it's not too hard to create a mesh object to match your bevel; you can even use your bevel object, converted to mesh, as a start.

If you do decide to convert your curve objects to mesh objects, there are multiple ways to deform it, and for hair, using a lattice is one of my least favorite. You can create bones for the strands of your hairs. This may be easier to autoweight if you leave it as a separate armature, with a root bone that's a child-of your head bone. But you can always weight it manually as well; simple linear gradients work well for this kind of hair, provided they're not too curvy.

But if you do want to use a lattice, be aware that you can use a lattice on your curve objects directly, without converting to mesh.

Another option, that you didn't mention, is using soft body physics for your curves. Curves lack most physics options, but they can support soft body. This can run on the spline (usually preferable) by enabling "Apply on spline" on the modifier (look at the buttons' tool tips.) To "pin" one end of your spline, select a control point and look on sidebar/item/transform/weight. This is a factor that's treated as the "goal" for the curve's soft body physics. Curve physics usually have poor collision, as default soft body collision works just by creating a big sphere over every control, but if your goal is just some slight jiggle, or if you're willing to tune custom, non-rendering collision bodies, it can be fine.

$\endgroup$
1
  • $\begingroup$ I wound up using an addon called wiggle bones as the basis for the mesh hair solution, and while the collision is still off, it is a way for the mesh to work. I will also look into the curve soft body physics, as that option could provide some good results as well. Link to Wiggle bones: blenderartists.org/t/… Thank you! $\endgroup$
    – agodsy
    Feb 16 '21 at 22:52

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.