Random hair length keeps changing frame to frame

   2468   1   0
User Avatar
Member
15 posts
Joined: Dec. 2014
Offline
I've added a Guide Process node inside of a Hair Generate node so that each hair on the object has a random length.

It is working, but it randomly changes the length every frame. Instead, I want random length values for every hair to remain that length for the entire animation.

The answer is probably related to some initial rest value but I can't figure out the order and choice of nodes to rig up to the Guide Process node to make this happen.

Any advice on this is greatly appreciated. It seems embarrassingly simple but I'm stuck
User Avatar
Member
15 posts
Joined: Dec. 2014
Offline
Not sure this is worth a followup but let's go for it for those who might find this in a future search with a similar problem:

I think I mostly solved this with a couple of things but something a little funny is still going on.

First off, the objects that had this fur applied to it were a cached animation file where the objects were originally a vellum cloth animation and flexing and bending all around. I noticed that the point numbers were constantly changing because I added a Remesh node and Houdini remeshes the object every frame, apparently. I thought that might be causing the random fur length to be changing every frame. That was at least partially true.

I fixed the continual point number changing by adding a timeshift node with the Frame field set to $FSTART and attached like this: Imported Geometry animation (via a File node) with the output flowing into a Remesh node AND a Timeshift node and then the Timeshift node gets plugged into the second input of the Remesh node. That made the point numbers stay assigned to the same area from frame to frame instead of changing constantly.

I also moved the Guide Process node from inside the Hair Generation node to the inside of the Guide Groom node. It works better there since the Guide Process node has 3 inputs and nicely accepts input from the GUIDES, SKIN and SKINVDB nodes inside the Guide Groom node.

Going back up a level, for the settings of the Guide Groom, I changed the Guide Creation mode to Guide Per Point. It had been set to Scatter on Surface, which seemed to make the point numbers move all over the place again. Having it set to one Guide Per Point seemed to lock those numbers in place again.

I'm still seeing some unwanted motion of the hairs when I render the animation but it may be caused by the hairs “jiggling” as the animation continues to move around a little bit. (shrug) I'm pretty sure it's no longer caused by the Set Length operation in the Guide Process node being set to Randomize. I need to test it further at some point.

I tried just using a Noise Mask in the Guide Process node to create a random hair length but it never really seemed to work the way I wanted. I hate that it “sort of feels like it's working” now instead of either totally working or totally not working. Maybe once I understand fur/hair better, I can revisit this and provide a solution with absolute certainty
  • Quick Links