Create hair in 3ds Max and ornatrix
The goal of this test render was to obtain a realistic-looking hairstyle using an Ornatrix, 3ds Max and V-ray workflow
Make a realistic-looking hairstyle
Hair and fur generation is arguably the trickiest domain of character creation in 3d. it’s one of those things in the CG world that is difficult to get around. if the hair feels wrong the whole look of the character will be off. it’s easy for the process to go sideways because of how difficult it is to find the right approach between the complexity of the workflow, the multitude of parameters and the weight it tends to add to your scenes and renders.
thinking about your steps beforehand is key and it can actually save you a lot of time and frustration. in this 15-step tutorial we’ll break down some techniques used in the industry by some of the biggest animation and VFX studios. For the hair creation we’ll use Ornatrix and V-ray in 3ds Max, but keep in mind that once you have the base principles down you’ll find your way no matter the tools you’re choosing. the parameters and the way they’re wired will change, but essentially the main steps remain the same. remember to be patient. hair creation is delicate work and for it to actually look good you’ll have to put some time into it, and this is entirely normal. have fun along the way, and don’t be scared to experiment!
Sculpt a reference volume in Zbrush it is essential to know where you’re going in terms of volume and design. that’s why it can be infinitely beneficial to have an actual volume reference in your scene that will help with placing your guides later on.
Zbrush is also a good place to experiment with the shape, the flow of the hair, the directions and the main strands. none of it has to be precise though.
Creation of the emitters the emitters are the pieces of geometry from which the hair will be generated. You generally want to start from the model of your character for that. Make sure that everything has UVS for the texture maps later on. take your model and duplicate it. separate the scalp, eyebrows and eyelashes and keep only the polygons that you are going to use.
Define the parts at this point you are going to think about the different parts of your hairstyle. Often it is more simple to have your parts on different objects and this will allow you to have a much better control over the zones where the hair is parting, using maps. Ornatrix does allow you to part hair within the same hair system using groups or the parting tool, but you sometimes end up with an odd bold and unrealistic area where the hair splits. We’ll end up with seven different hair systems: right part, left part, rebel hair for right part, rebel hair for left part, baby hair, eyebrows and eyelashes.
Groom the main strands and shapes Create a ball of fur on your scalp emitter. Focus on one part at a time and start with a very small amount of guides. When you add guides later on these will be interpolated with the existing ones so you’ll save some time. in the Guides from surface modifier, set the root Count at 10 and then num Points at 50 to have some definition. in the edit Guides modifier in roots mode, you can select guides and move them around, remove or plant new ones. start placing your guides at the outer edges of your hairstyle and brush them one by one in order to have the main volumes down with the help of your reference sculpt.
Parallel layering technique now we are actually going to need more guides to have a good interpolation and better control over our volumes.
as you start planting more guides, try to place them in parallel rows. this will stop your generated fibres looking like they interpenetrate. start at the base of your neck and add layers on top of each other, respecting the hair’s movement and volume. this will allow you to have a clean base to work from.
Tertiary shapes and details You can now start adding details and adjusting volume. You are most likely going to work with groups of guides for this step and not one at a time. You might want to accentuate the loop at the top of the forehead, or maybe you want to isolate a strand and tighten the swirl at the tip. do these actions with a big radius brush and a low strength to avoid little irregularities and damage to the flow of the hairstyle.
Groups, channels and maps as we dive into fibre generation and interpolation we are going to use a range of parameters to control the different areas. to do that we can either assign groups in the edit Guides modifier, use the paint brush to create different channels or simply create black-and-white maps that will use the UVS of the emitters. a good example would be the distribution Map in the hair from Guides modifier. We can use the viewport canvas to paint on the scalp where we want the hair to grow, and then plug the texture in the map slot.
Primary clumping One of the hardest things to recreate with long hair is this multitude of different size strands. strand Clustering helps a lot with that, but to achieve more realism we want different sizes of clustering. add a hair from Guides modifier with a render count of 5,000, followed by a strand Clustering with a Global size of 10, a soft Value Curve and a Guides from hair on top of that to turn those 5,000 clustered fibres back into guides.
Hair from Guides Before turning the guides into hair again we are going to stack in a light strand Frizz to give the clusters a more organic look. then the hair from Guides modifier is going to consist of finding the right hair count and the right interpolation. in this case, we are going to use the affine interpolation and leave the Guide Count at three. For optimisation purposes you can paint distribution maps that will be white towards the outer edges of your parts and much darker at the centre. You can also make the right and left parts overlap a bit at the parting to avoid a bald spot.
Interpolation of fibres We are now going to use some extra modifiers to make everything look a bit more dynamic and natural. i get the best results with different Clustering modifiers, the Frizz and the Curling. strand Curling is used very softly in spiraloid mode. strand Clustering is used with a size of 10 again and then hair Clustering is used with a large number of Clumps (between 1,000 and 2,000) to create very small strands. You might need to try a lot of different seedings here to find something you like. Finally, add a light strand Frizz on top.
Render settings You must consider that the hair thickness and V-ray’s antialiasing will influence each other. this is generally where things start to crank up in terms of render time. run some tests to find what works best. here we are using a global radius of 0.01 with a curve, and a noise threshold of 0.005. We’ll see how to cheat a bit later on with the opacity of the shader to give some extra softness. You can also add a strand Length modifier with a low randomise parameter to soften the tips. don’t forget the V-rayornatrixmod on top.
Rebel hair adding an extra hair system of rebel hair and flyaways for each part makes a difference in terms of realism. having it on a different object will allow you a lot more ease and freedom in your parameters. this system is made from the same guides (just duplicate your object). it has about a third of the hair count, a light strand Clustering, a strand Length and most importantly a strand Frizz with a much bigger amount.
Baby hair For the baby hair groom entirely new guides on a different hair system. this soft, fuzzy hair around the face has another length and direction from the rest of it. it helps also greatly with blending everything together and adding some imperfections. For the interpolation, we’ll use a strand Frizz, a strand Curling and a strand strength with a randomise at 0.8.
Eyebrows and eyelashes to save some time here we will work on one side only and then use the strand symmetry modifier. eyebrows and eyelashes have their own emitter each. the trick for very short hair is to use a small root Count (two or three maximum) to make grooming effective.
don’t worry with guide length either, as you will control everything with maps. here we use a hair Clustering, a strand Frizz and a strand Length for the interpolation.
Hair material We will be using the V-rayhairmtl to create the shader. Be mindful of the colour variations. Generally the hair shade isn’t the same everywhere, and it’s darker at the roots. We’ll recreate that with the V-rayhairinfotex map, both along the strand and across the UVS. For the colour variations simple checkers maps of different colours are used. You don’t want the tile to be too small here, or the different colours will just blend with one another. We’ll lessen the opacity along the strand to soften the look and balance the antialiasing at the tips. to save some render time, you can tick the Opaque for shadows and Gi boxes in the shader options.