Your First Groom 

In this guide we are going to apply what we have learned in Basic Ornatrix Concepts. We will create a groom for our teddy bear model while trying to keep it as procedural as possible. Starting from root generation, combing, hair interpolation, details, shading and finally rendering. Download the assets from Here and lets get started!

 

Preparing the model for grooming 

First we have to make sure that our teddy bear have UV coordinates. Some root distribution methods rely on UV coordinates. UVs are also needed if you want to add multiplier maps to Ornatrix operators, like a distribution map in Hair From Guides or Frizz operator to determine where the frizz effect is applied on your groom. Hair From Guides and Guides From Mesh allow you to select the UV channel where the operator is computing, so you can have multiple UV channels and use one exclusively for grooming. This is useful if you want to tweak the root distribution like shown in THIS video or if you want to have individual UVs for texturing and grooming.

Make sure you are grooming on the final character topology. Some Ornatrix operators like Guides From Mesh and Hair From Guides are topology dependent. This means that if the topology of the character changes, the guides and hairs will be regenerated with the new data. However, it is still possible to make changes to the character topology in the middle of grooming, see Root Persistence in Guides From Mesh.

 

Generating guides 

With the Body object selected, go to the Ornatrix menu on the top bar and click Add Hair.

The groom preset selection window will appear. Select the Fur Ball preset to use it as a base, set the Scale to 5% and click Create. This will create a hair object with Guides From Mesh at the base, followed by Edit Guides, Hair From Guides and Change Width. At this point your groom should look like this:

For now we only need Guides From Mesh and we want to work on the operators one by one, so select the last three and delete them, we don't need them for now. Your hair stack should look like this:

Let's change some settings in Guides From Mesh.

  1. In Guides From Mesh the "Even" distribution method is used by default. In this case this method is a good starting point.
  2. Tweak the guide length to your liking (At this point you may need to look for some image references). It was set to 2.5cm when we set the scale of the Fur Ball preset to 5%.
  3. The Point Count amount can be changed later because our groom will be almost entirely procedural, but let's set it to a lower value. By default is set to 10 but we don't need that many details for now. We can increase it later using a Detail operator if we need to smooth out the hair strand when we start to add more effects and fine details to the hair.
  4. Reduce Random Length to 0. We will use a Length Operator later to change the strand length and add length randomization.
  5. Increase Guide Count from 300 guides to 1000 to cover to have enough roots to cover the whole surface and avoid large empty areas.

For now we are done in Guides From Mesh. We end up with the following settings:

 

Combing the guides 

 

Surface Comb 

Go to the Ornatrix menu and add a Surface Comb operator. With this operator we will comb the hair using sinks to define the overall direction of the hair guides. When you first add this operator the guides will look similar to the following image.

Without any Sinks added yet, all the guides flow in an overall direction:

Go to the "Sinks" tab, click the Add Sinks button and click and drag the mouse on the surface of the character to add a new sink.

The hair strands will follow the direction of the sinks. This will help you to quickly groom all the hair strands with a few sinks. Keep adding sinks on the surface until you are happy with the general flow of the strands. Use the Edit Sinks button to select the sinks and move them on the surface. You can also use the Ramp Curve to determine the strength of the sinks over the hair, and you can add unique properties to every sink.


Creating and Editing Sinks
 

Generating hair strands 

Go ahead and add Hair From Guides using the Ornatrix menu. This operator will generate dense hair interpolated between the guides. The hair density is determined by the Render Count (The hair density at render time) and the Count Fraction (The hair density on the viewport), the default value is set to 10000 and 10% respectively.

Let's make some adjustments in this operator:

  1. First, increase the Count Fraction so we can see more hairs in the viewport.
  2. To improve the interpolation and get a more even distribution of hairs go to Guide Interpolation tab and select Barycentric as Guide Selection.
  3. In Barycentric Interpolation Type select Manual Triangulation.

Leave the rest of the settings as default. At this point your teddy bear should look like this:

Right now it is adding hair on the whole character, but we don't want that. We want to remove the hair from the eye sockets and mouth. Also we want to gradually decrease the hair amount on certain areas like around the eyes and nose. For this task, we will use a distribution map.

Open your favorite painting app and paint with pure black the areas where you don't want hair like inside the mouth and the eye sockets. Then create another layer to add a gradient where we still want hair, but we want to reduce the amount. This is how my distribution map looks like:

The seems are also painted in a light gray to use this map as a length map later to reduce the length of the fur on the seams.

Connect the distribution map to the Distribution Multiplier slot in Hair From Guides. The hairs will be removed from the areas painted in black:

 

Detailing 

 

Adding details using strand channels 

Now we can add fine details using strand groups but mostly strand channels. Go back to Surface Comb and add Edit Guides on top of it. Create a per-strand channel as shown in Working with Strand Channels and name it "LengthCH" or something recognizable.
We are going to use a Length operator to reduce the length of the fur around the mouth, ears and nose. Add a Length operator and assign the strand channel "LengthCH" that we just created to the Value Channel parameter.

Your hair stack should look like this:

In the recently created per-strand channel all the values are set to black, this means that the length of the fur will be set to 0, let's go back to Edit Guides to change that. In Root editing mode select all the guides, select the LengthCH channel, in the Channel tab set the Current Channel Value to 1 (1 = White and 0 = Black) and click Assign Value to Channel.

Now that the length is set to 1 in all the guides, use the Paint Brush in brush mode to paint darker values around to eyes, nose, ears and wherever you want to reduce the length of the fur. You will see the changes in real time.


Working with Strand Channels

You can also use a a texture map to determine the length of the fur in certain areas or use the distribution map that we painted before as it is or add more darker areas. This is the final fur length:

 

Clumping 

It's time to add some clumping. Add the Clump operator after Hair From Guides. If press the Create Clumps button in the Clumps tab it will generate 10 random clumps by default. Start playing with the Clump Count number to adjust to clump amount to your liking. Note that you have to click Create Clumps to see the changes every time you change this number.

At this point I recommend to increase the hair density to have a better idea of how the clumps will look on the final render. Another alternative is to use Mesh From Strands to convert the hair into meshes to take advantages of Cinema 4D viewport display capabilities.


Real-time viewport hair rendering in Cinema 4D viewport

This is how our teddy bear looks with 6000 clumps and 50000 hair strands:

This is how it looks after adding a strand channel like we did with the Length operator. I used this channel to decrease the clumping amount in some areas and add some variations. Notice the difference with and without the painted strand channel:

 

Sub-Clumping 

[Intro]

[Example Sub-Clumping]

[Explanation]

[Final Results]

 

Frizz 

We are close to a conclusion, in this final step of the grooming process we are going to add some frizzing to the fur to make it look more natural and fluffy. Add the Frizz operator on after the Clump operator and reduce all the parameters to 0, except the Amount. This will allows us to add some volume to the fur without getting interference from other effects found in the Frizz operator like Scale or Outlier strands, we will add those later.

Now play with the Amount value until you get something reasonable. This also help us to break up the patterns created by the clump operator:

Now let's add some outlier hairs. Add another Frizz operator on top of the previous one, but this time reduce the Amount value to 0% and play with Outlier Amount and Outlier Fraction to add some outlier hairs.

Here you can see the difference with and without outlier hairs, where Outlier Fraction is set to 40%:

And you can always use a strand channel to fine tune where the frizz is applied.

 

Eliminating fur interpenetration 

Our guide grooming has been procedural so far, this means that it is not perfect. In the image below you can notice the fur penetrating in the character mesh in some areas like the ears. In this section we are going to make use of the Push Away From Surface operator to eliminate those intersections.

The fur intersecting with the character mesh around the ears:

Open the Ornatrix menu and add the Push Away From Surface operator after Hair From Guides. You can also add it before it, but then it will only push way the guides, you may want this in some scenarios or to save performance since this operator will be computed at each animation frame, but using it after Hair From Guides ensures that every single strand is pushed away from the surface.

Even with the default settings, Push Away From Surface sill remove most of the fur interpenetration:

 

Final thoughts 

In the first part of this tutorial we have applied the topics found in the Basic Ornatrix Concepts article. From hair generation to grooming and detailing.

After applying the techniques (Optional) shown in the Real-time viewport hair rendering video from the Clumping section, this is how our teddy bear should look in the viewport:

In this case Mesh from Strands was only added for viewport visualization purpose, it is not needed for the final render if you are using Redshift, Arnold or any of our natively supported render engines.

This is how our hair stack looks up to this point:

In the next part we will take this groom to the next level. We will learn about hair shading and rendering using Redshift and Arnold.

 

Project files and Sample Scene 

Here you can find a folder with all the assets used on this tutorial. The folder includes a .obj file of the teddy bear, the distribution map used in Hair From Guides, the final scene accomplished in this tutorial and a second version of the final scene with Mesh From Strands for proper viewport visualization. The scene was created in Cinema 4D R21 and will be updated with the latest versions of Ornatrix to ensure compatibility.

 

Sample scene changes notes 

1.0 - Scene created in Cinema 4D R21.115 and Ornatrix 1.0.0.21988.