Why can't I parent my hair correctly to my characters rig?

My blend file: https://drive.google.com/file/d/1gZNgpLDUku0CByxpHklwMKjwHy7tpDRt/view?usp=sharing

I have a complex hair model that I like, all I want to do is attach it - I don’t need it to be animated at all so I would really like to keep the high polycount. There is a retopo of the hair in the same collection which is rigging a little better, but it still displaces over time.

The best rigging option I have used is ctrl+p > bone relative for the low topo hair.

My workflow:
ctrl a > apply all transforms
select hair then rig > armature with automatic weights or bone relative
I do not usually do weights for the hair. I have tried weighting it.

Results: always in the wrong position, or gradually moves over time in the animation (with the low poly version). High poly version doesn’t work at all, just completely wrong place.

Can I not keep this bad topology for my animation as I just want it for the visual quality, not for animating. It’s just not interacting with my rig well at all, completely displaced and wrong location. Any help greatly appreciated.

The hair was made using curves, and then converted to mesh.

If you only want it move along with the head, then you can parent it directly to a bone in the rig (DEF-spine.006 would be a good candidate for that).

  • Put everything into a rest pose
  • Remove any existing parenting from the hair object (Alt-P)
  • Delete all the existing vertex groups from the hair object
  • Make sure that there isn’t an Armature modifier on the hair object
  • Select the rig, and go into Pose Mode.
  • Select the bone that you want to parent the hair object to (DEF-spine.006)
  • Go back into object mode. Then select the hair, and Shift-Select the rig.
  • Parent to the bone (Ctrl-P, then pick Bone)

Doing all that on your active Action made the hair follow the head over the Action’s animation.

Parenting it to the head control bone, also works. But, it’s probably better to parent to the bone that’s ultimately driven by the rig controls, rather than directly to a control bone.

There are some places in the animation where the head mesh is expanding, and clipping with the hair mesh. The hair itself is tracking the bone it’s parented to, so it’s probably more of a weight-paint issue with the head mesh. The vertices at the top of the head are influenced by quite a few bones, so they will all be affecting the shape of it.

You could try increasing the weight for the DEF-spine.006 bone on the head mesh. Also make Sure that the weights have all been normalised as well.