Learning how to do cell shading in Blender is a great way to give your 3D models a unique, hand-drawn comic or anime style. Cell shading in Blender creates a stylized, cartoon-like appearance through specific material and lighting setups. This guide will walk you through the entire process, from basic principles to advanced tweaks.
You will learn to use the Shader to RGB node and step functions to create those clean color bands. We’ll cover lighting, outlines, and how to customize the look for your projects. Let’s get started.
How To Do Cell Shading In Blender
The core of cell shading, also known as “toon shading,” is replacing smooth gradients with flat bands of color. In Blender, this is achieved primarily in the Shader Editor. You will work with a few key nodes to control how light interacts with your model’s material.
The goal is to make a 3D render look two-dimensional. This technique is perfect for game characters, animated shorts, and any project needing a bold graphic style. The following steps form the foundation.
Setting Up Your Basic Toon Shader
First, open your Shader Editor and ensure you are in the Cycles rendering engine for the most accurate results. Start with a new material for your object.
- Select your object and go to the Material Properties tab.
- Click “New” to create a fresh material.
- Open the Shader Editor and switch to the Material view.
Now, delete the default Principled BSDF node. You will build a new node network from scratch.
- Add a “Diffuse BSDF” shader node (Shift+A > Shader > Diffuse BSDF).
- Add a “Shader to RGB” node (Shift+A > Converter > Shader to RGB).
- Connect the Diffuse BSDF output to the Shader input of the Shader to RGB node.
The Shader to RGB node is crucial. It converts the shading information into a color map that we can manipulate.
Creating The Color Bands
With the shading converted to color, you can now separate it into distinct bands. This is done with a “ColorRamp” node.
- Add a “ColorRamp” node (Shift+A > Converter > ColorRamp).
- Connect the “Color” output of the Shader to RGB node to the “Fac” input of the ColorRamp node.
- Change the ColorRamp’s interpolation from “Linear” to “Constant”. This creates the hard edges between colors.
By default, the ColorRamp has two color stops. You can add more by clicking in the gradient bar.
- For a simple three-tone shader (shadow, midtone, highlight), add one more stop.
- Drag the stops to position where the color bands change. The input “Fac” determines this: 0 is pure shadow, 1 is pure light.
- Click each color stop to choose your band colors. Typically, you use a dark, a medium, and a light color.
Finally, connect the ColorRamp output to the “Surface” input of the Material Output node. You should now see flat shading on your model in the viewport.
Refining Band Placement With Light
The placement of your color bands depends entirely on your scene’s lighting. To control it effectively, use a single strong light source, like a Sun lamp.
- Rotate your Sun lamp to see the bands move across your model’s surface.
- The angle and intensity of the light will change how the Shader to RGB node interprets the shading.
- For more control, you can use the “Normal” input on the Diffuse BSDF with a “Normal Map” node for stylized details.
Adding A Custom Outline
A black outline is a signature element of cell shading. The most effective method in Blender is using the “Solidify” modifier.
- In the Modifier Properties tab, add a “Solidify” modifier to your object.
- Set the “Thickness” to a very low value, like 0.01 or even 0.001.
- Check the “Flip Normals” option.
- Under “Material Index Offset,” set the value to 1.
Next, you need a second material for the outline itself.
- In the Material Properties tab, add a new material slot and create a new material.
- Name this material “Outline” and make it a simple black emission shader.
- In the Shader Editor for the Outline material, add an “Emission” node and set the color to black.
- Connect it directly to the Material Output.
Because you set the Material Index Offset to 1 in the Solidify modifier, the modifier’s new geometry will use the second material in your list, creating a perfect black outline. You can adjust the thickness to make the outline thicker or thinner.
Advanced Node Techniques For Control
To gain finer control over your cell shader, you can intoduce more nodes into your setup. This allows for effects like rim lighting or texture-based color variations.
Incorporating Specular Highlights
For a shiny cartoon look, you can add a separate specular band.
- Duplicate your existing Diffuse BSDF > Shader to RGB > ColorRamp chain.
- Replace the duplicated Diffuse BSDF with a “Glossy BSDF” shader.
- Use a “Mix Shader” node to combine the output of your diffuse chain and your specular chain.
- Use a seperate ColorRamp on the specular chain to create a sharp, white highlight band.
Using The Normal Node For Stylized Details
You can fake details like cheek blushes or costume patterns without modeling them.
- Add a “Normal” node (Shift+A > Input > Normal) between your Diffuse BSDF and the Shader to RGB node.
- Connect a texture (like a noise or gradient) to the “Normal” input of the Normal node.
- This will trick the shader into seeing fake geometry, creating bands based on the texture instead of just light.
Lighting Strategies For Cell Shading
Good lighting is essential. Avoid using complex HDRIs or multiple soft lights, as they create smooth gradients that break the cell-shaded look.
- Primary Key Light: Use a strong Sun or Spot lamp as your main light source. This defines your primary shadow and highlight bands.
- Fill Light: Add a weaker, diffused light from the opposite side to soften pitch-black shadows, if desired.
- Rim Light: A backlight helps separate the character from the background and adds a nice highlight edge.
- Keep It Simple: Often, one or two lights are sufficent. Test renders are key to finding the right balance.
Optimizing For Real-Time Rendering (Eevee)
While Cycles is used for the node setup, you might want to use Eevee for faster, real-time previews or game asset creation.
The same node setup works in Eevee, but you must adjust a few settings.
- In the Render Properties tab, ensure “Screen Space Reflections” is enabled.
- Under the material settings, set “Blend Mode” to “Opaque” (unless you need transparency).
- Check “Backface Culling” for a cleaner look.
- For the outline, the Solidify modifier method works perfectly in Eevee.
Eevee can struggle with the Shader to RGB node in some configurations. If you encounter issues, try using a “Toon BSDF” shader as a simpler, though less customizable, alternative for Eevee.
Troubleshooting Common Problems
Here are solutions to frequent issues you might encounter.
- Bands Are Blurry: Ensure your ColorRamp interpolation is set to “Constant,” not “Linear” or “Ease.”
- Outline Is Messy: The Solidify modifier can cause artifacts on complex models. Try applying scale (Ctrl+A > Scale) to your object, or adjust the “Offset” parameter in the modifier.
- Shading Looks Flat: This is often a lighting issue. Use a stronger, more direct light source and check the angle. Also, verify your node connections are correct.
- Artifacts In Renders: In Cycles, increase your render samples. In Eevee, check for normals facing the wrong way and recalculate them (Mesh > Normals > Recalculate Outside).
Finalizing Your Stylized Scene
To make your cell-shaded character fit into a scene, style the entire environment consistently.
- Apply similar toon shaders to all objects in the scene using the same lighting setup.
- Consider using a simple, flat-color background or a painted backdrop.
- Post-processing in the Compositor can enhance the look. Add a slight glare or color correction to unify the final image.
- Remember, consistency in style across all elements sells the illusion of a hand-drawn world.
Frequently Asked Questions
What Is The Difference Between Cell Shading And Toon Shading?
In practice, the terms “cell shading” and “toon shading” are used interchangeably in 3D graphics. Both refer to the technique of using flat color bands to mimic the style of traditional animation cels or comic book art.
Can You Do Cell Shading In Blender Eevee?
Yes, you can achieve cell shading in Blender’s Eevee engine. The node setup using Shader to RGB and ColorRamp is the same. You may need to adjust material and render settings for optimal real-time display, as mentioned in the dedicated section above.
How Do You Make A Thick Outline In Blender For Cartoon Characters?
The most reliable method is the Solidify modifier technique outlined in this guide. By increasing the “Thickness” value in the modifier, you can make the outline as thick as you like. For a variable-width outline, you can use a “Vertex Group” to control the thickness in different areas.
What Are The Best Blender Addons For Toon Shading?
While the built-in tools are powerful, addons like “AN Toon Shader” or “Blender Toon Shader” can streamline the process. These provide pre-configured node groups and additional controls for advanced effects, saving you time if you use this style frequently.