PIPELINE TECHNIQUES: hair animation in houdini
Alla Chernova on how to create mermaid hair
This tutorial will showcase one of the techniques for hair animation. it would work the best for a static character or a minor animated one, such as my mermaid. The mermaid uses floating animation, without any additional character animation on the upper body.
i find Redshift suits my needs better than any other render software, mostly because it allows an easier transition from Maya to houdini and back by using Redshift proxy. Therefore, for this technique to work, make sure Redshift is installed for both Maya and houdini. it is an easy and useful tool for any cg generalist to utilise, without needing advanced knowledge of houdini or FX.
We will start from creating hair geo in Maya using Xgen, then move to houdini for creating an animation itself, and finish with exporting Redshift proxy back to Maya.
Create a hair style with Xgen The new Xgen interactive Groom in Maya is a great tool to create any hair style you wish. i use the brushes from a screengrab, heavily relying on freezing most of the hair and working from curl to curl. To start, select the scalp faces that will have hair, extract them and create, from a new geo, the interactive grooming description. if your character has animation, you will want to create a description on the first frame. After you’re satisfied with the shape and volume, convert interactive Groom to poly. i did it as one mesh, so Maya can handle it easily.
Rig hair for the character The mermaid floating animation is applied to a box, and the mermaid is parent constrained to it. This way, the rendered mesh can be edited or changed at any point, because it doesn’t have baked animation. For the hair to follow the mermaid, i constrained it to the box as well. now we have the character with static hair which moves in sync with the body. To move to houdini, i exported OBJ of the mermaid’s body and hair from frame one. This puts the animated hair in the start position, replacing later static hair in the constraint.
03 Prepare mesh in Houdini for animation To start in houdini, i made sure only the tips of the hair geo would be affected by noise animation while the roots stay still. i created a black/white mask. i separated body and hair by using a delete node.
By selecting hair faces and hitting delete over the viewport, blast nodes isolate the body. By duplicating and inverting selection, i used the same node to isolate the hair. On separated geo i applied black (hair) and white (body) colours accordingly. combining those two branches with transfer attributes node allowed me to create a black/white gradient on the hair.
Apply turbonoise on the position values VOP is a node-basket where i build my animation network. By creating VOP inside i’m getting two nodes for my input and output parameters. The parameter i’m going to use is P – position.
By creating a turbonoise node, it creates a black-andwhite noise pattern. Adding turbonoise over P will tell it to offset the point position using noise colour values. in order to keep the roots still, i had to mix values of input P, that already have a mask i’ve created with the new position values with offset after the add node.
By setting P in the second input, it tells noise to not affect the white part of the mask.
Alter noise values For the animation to look more organic, i added three different noises on top of each other. The most important parameters to adjust are: frequency, size and time. First, i use a small fast noise, then a medium noise a bit bigger.
On top i added big waves to create a floating feeling. it is a good idea to playblast the noises individually, before combining them. For the hair animation to look smooth, use plenty of geo subdivision. if it’s not enough, you can smooth it in Maya and reimport the geo.
Export Redshift proxy back to Maya To set the mermaid scene in Maya, i needed the hair animation to be exported from houdini.
The best way of doing this is to create proxy, which brings in a bounding box instead of heavy animation of high-poly geo. To export proxy, i went to Archive in the Redshift render settings, isolated the geo i wanted to become proxy and rendered the sequence to disk with the correct number of frames. When importing Redshift proxy back to Maya, i needed to set up these parameters for the proxy (image 06). now i can assign shader and render the sequence out.
Alla Chernova artstation.com/allachernova Bio Alla is a 3D generalist. She has a background in traditional art who studied 3D at the Gnomon School of Visual Effects