Welcome to the last chapter of the module. In this chapter, you will learn advance material creation in Cycles, such as how to use a skin shader or how to create a realistic fur. Next, you will learn about passes and how to do a raw render with the different passes. Then, you will receive an introduction to the nodal compositing so that you can enhance your shots. Lastly, we will talk about the Video Sequence Editor in order to edit the final sequence. Let's start!
Creating advanced materials in Cycles
We already covered material creation with Cycles in the Haunted House project, but now we are going to go further by creating a skin material using subsurface scattering, a complete fur, and an eye material. Let's start!
Skin material with Subsurface Scattering
The skin has a very translucent aspect. We can truly see this effect when we pass our hand in front of a lamp or in the thin part of the ear (the helix). So, when creating a skin material, we get this phenomena with a Subsurface Scattering node (usually abbreviated SSS). It is called this because the light rays are scattered through the geometry when intersecting the mesh. This is not the case with a diffuse shader, for instance, as the light rays are simply blocked. SSS often gives a reddish tint to the thin parts where light rays scatter a lot. So let's create the skin material of the rat.
- We will open the
RatCharacter.blend
file and split our interface so that we have a second 3D view for the real-time renderer and a node editor. Note that the real-time renderer for the SSS shader will only work in the CPU mode or with the GPU in the experimental mode. - We will add a new slot in the material tab of the Properties editor and a new material that we name as Skin. We will press the Use node button in order to work in the node editor.
- In the node editor, we will remove the default Diffuse shader by selecting it and pressing X. Then, we can add a Subsurface Scattering shader by pressing Shift + A.
- We have some options to tweak for this shader. The first one is the Scale option, which corresponds to the amount of SSS that we want. In the case of the rat, we set it to 0.1, but in order to have the correct value, you will need to perform a test. It's just a matter of placing a light in the back of the character and looking at the thin parts, such as the ears.
- The next very important setting to tweak is the radius that corresponds to the predominant color that will result to the SSS effect. In many cases, we will let more red than green and blue because of the color of the blood that's under the skin. This is a set of three values that corresponds to R, G, and B, in our case, we set them to 1.0, 0.7, and 0.5 respectively.
- Now, we will plug our texture in the Color input. Finally, we can connect the shader to the output.
- We will now add a reflection to our skin by mixing our SSS shader with a glossy shader. To do so, we append a Mix Shader on top of the SSS to the Material output wire.
- In the second shader input, we can bring a Glossy BSDF shader and change the Roughness value to 0.392 so that the reflection is less sharp.
- For the Fac input of the Mix Shader, we will add a Fresnel node. This skin shader will be sufficient for our needs, but note that we can go much deeper in the subject by creating a shader with multiple maps that corresponds to the different skin parts, such as sub-dermal and epidermal.
The SSS effect on the ears to the right and on the hand to the left in viewport rendered mode will look like the following:
We are now going to create a less difficult material, that is, the one of the eye corneas. This will be like a glass material, but we will optimize it a little bit because the default glass shader is so physically accurate that it also casts shadows of the glass itself. These take a long time to render and are rarely visible. In order to apply our material, we will model a simple cornea in the eye mesh itself. The front part of the cornea is extruded a little bit. This allows us to catch the reflections rays better:
- We will first need to add another material slot and a material that we rename as Cornea. As you can see, we already have three slots that correspond to the white part and the pupil of the eyes. Feel free to replace it with one material with a texture.
- Next, we can select the cornea piece of the mesh in the Edit Mode with the L key and press the Apply button in order to apply the cornea material on this part of the mesh.
- In the node editor, we will replace the default Diffuse shader with a Glass BSDF shader.
- We will now mix the Glass BSDF shader with a Transparent BSDF shader. A transparent shader simply lets every ray to pass through.
- Now, in the Fac input of the Mix Shader, we will plug a Light Path node (press Shift + A and select Input) with the Is Shadow Ray output. This will tell the render engine to use the transparent shader for the incoming shadow rays and the glass shader for the others. At this point, we should have a nice reflecting eye.
Now, let's dive into a complex section about fur creation. In order to create a convincing fur, we will have to create a complex material, have a perfect hair particle combing, and correct lighting. If one of these three parameters is sloppy, it won't look great. Let's start with the particle systems:
- In order to add more realism, we are going to create three particle systems. Let's first select the character in the Edit Mode and add the main particle system in the Particle tab of the Properties editor. We will name both the system and its settings Basic_FUR.
- We will change the system's type from Emitter to Hair. In the Emission subpanel, we will change the Number to 500, which correspond to the guiding hairs. We can also change the hair length to 0.140.
- In the Children section, we will choose the Interpolated method. The number of children that will follow the guiding hairs is too low. We will change the Render option to 600, so each guide will have 600 children. We can also change the display option to 100 to preview the result in the viewport.
- In the Children subpanel, we can change the Length setting to 0.640 and the Threshold to 0.240. This will add some randomness to the length of the children.
- Then, in the Roughness section, we can change the Endpoint value to 0.046 and the Random to 0.015. Endpoint will spread the tips of each hair strand.
- Now, we will create a Vertex group that will determine where the fur will be located on the rat. In the Object data tab of the Properties editor, in the Vertex Groups section, we will start by locking all our skinning groups by selecting the black arrow button and choosing the Lock All option. This will ensure that we don't change them inadvertently. We can now add a new group with the + button and name it Fur. In the Edit Mode, we can select the hands, nose, ears, tail, mouth, and eye contour. We invert the selection with Ctrl + I and press the Assign button with a weight of 1.0.
- Back in Particle tab, in the Vertex Groups section, we can set the Density field to our new vertex group. We should now only have hairs on the needed parts.
- In order to improve our system, we will create a new vertex group named Fur_Length that will affect the length of the hair on certain parts. To create the group, we can duplicate the previous Fur group with the corresponding option in the black arrow drop-down menu. We can then use the weight paint tools in order to subtract weight from different parts. In our case, the head is green and the arms and the legs are orange and blue under the belt.
- In the Vertex Groups section of the Particle Settings tab, we can change the Length field to this new group.
Now, we need to comb our particles as follows:
- To do so, we can use the Particle Mode (located in the same drop-down menu of the Object Mode or Edit Mode). By pressing T, we open the Brush panel where we can use the Comb brush to comb the character's hair.
- We will use the same shortcuts as the sculpt mode for the brush settings. The Add brush is nice in order to add new strands when you find some gaps. When using this brush, it's best to check the Interpolate option so that it smoothly blends with the others.
- In the header of the 3D view, you have three new buttons (to the right of the layers) that allow you to select the particle in different ways. With the Path mode (the first one), you can only control them with brushes, while with the Point mode (the middle one), you have access to each point of the hair, and with the Tip mode (the last one), you only control the tip. With the last two modes, you can grab and rotate your character's hair with G and R. In the left panel, we can also activate the Children option in order to see the children.
- Now let's add another particle system and name it Random_FUR. We can then copy the settings of the first one by choosing it in the Settings field and pressing the 2 button to make a unique copy of it. Now, we can safely change the setting without affecting the other system. We can click on the Advanced option.
- We will start by changing the amount of guiding hairs to 50 and their length to 0.1.
- In the Emit from section, we will choose Verts and check the Random option.
- In the Physics subpanel, we can change the Brownian value to 0.090 to add a little bit of randomness.
- In the children section, we will change the Render and Display sliders to 50.
- We will then change the Length to 0.288 and the Threshold to 0.28.
- We will then ensure that the Density field still contains the Fur group, but we will remove the Length field.
- Just as we did for the first two systems, we will add a new system for the fur of the ears. This is very subtle. It has a short hair length and a vertex group for the Density field. It also has only 20 children.
You are now done with the particle systems. It's now time to create the materials and change the strand thickness and shape. This will be done as follows:
- Let's add a new slot in the material tab and a new material named Fur.
- In the node editor, we will delete the default Diffuse shader and add two Hair BSDF shaders. The first one will be of the Reflection type with RoughnessU and RoughnessV set to 0.500, and the second will be of the Transmission type with RoughnessU to 0.1 and RoughnessV to 0.2. We will mix them with Mix Shader. The Fac input will be plugged with the intercept output of a Hair info node.
- We will then add Musgrave Texture node with a scale of 538. We will add a HueSaturationValue node with the Fac output of the texture connected to the color input. We will then mix the result with a MixRGB node and ColorRamp. The Fac input of the color ramp is fed with the intercept output of a Hair info node. This will add a gradient map on each strand.
- We will then plug the output of the MixRGB node into another MixRGB node. The second input of this node will be fed with a HueSaturationValue node. The Hue input will receive the color output of a Musgrave texture node. This will add color variety to the strand. But in order to lessen the coloring effect, we will change the Fac of the MixRGB node to 0.047.
- Finally, we can plug the result of the last MixRGB node in the color input of the first Hair BSDF node. Our hair material is now completed!
- We now have to change the Render settings of each particle system. In the Render subpanel of the particle settings of each system, we will choose our fur material and activate the B-Spline option with a value of 4. This will smoothen the render of the hairs.
- Then, for the Basic_Fur system in the Cycles Hair Settings subpanel, we will change the root to 0.5 with a scaling of 0.01 and a shape of -0.09. We will use the same settings for the Random_Fur, except for the root that we set to 0.15. Again, we will use the same settings for the Ear_Fur system, except for the root that we set to 0.05.
- We can now add temporary lights in our
RatCharacter.blend
file in order to do test renders. We will set our samples to 300 and render a preview of our rat.
The image with a preview render with low render settings is a follows:
Now you have the knowledge to create even more complex materials with Cycles! We are now going to show you how to render the first shot of the sequence, and what's nice with the link is that we will see our fur and materials in each shot file.