Manual control of a Hair System (nHair)


#1

Hi everyone! i’m new on the platform and I have a question that apparently no tutorial I find can help me answer. I am working on a character for a project and I created static hair using nHair, I was wondering if there was a way I could control the hair system with Joints or some kind of deformer, so I can animate it without using simulation. Here are some pictures of what i’m trying to do:


This is the hair system I am trying to rig (the one on the head).


These are the joints I have. Before doing the hair system I had polygonal hair, and I had it skinned so it moved like I wanted.

I hope someone can help me, thank you all in advance!


#2

Sure, you could create the hair with the static option enabled. Then also on the hair system shape turn off UseNucleusSolver (to be safe… there have been some issues with nucleus and static hair, and you don’t want any solving called). Also set the hair simulationMethod to “Static”. You can also delete the nucleus node.
After creating the hair do nHair:display: current and start. The start curves can then be animated with any desired method. Keep in mind that the start curves are all parented to and thus in the local space of the follicle nodes, which are positioned on the mesh surface. A very crude form of animation would be to simply key the curve cvs. You can reshape the hairs by selecting cvs then dragging with the “l” (lock length) key depressed. On can also simply use any deformer on the start curves.

It is a bit more work, but you can also set up an IK rig to control the start curve. You can probably find some posts and scripts to help more with that. Care needs to be taken to avoid double transforming of the start curve. For example if one has an IK chain parented to the follicle then the start curve it drives should not be also parented, or it will be transformed twice.

Duncan


#3

Thank you so much Duncan!! It sounds logic, i will give it a try and update if it works for me :slight_smile:


#4

It worked!! Thank you so much!