Learning how to add toon shader in Blender is a fantastic way to give your 3D models a unique, stylized look. Applying a toon shader in Blender gives 3D models a stylized, cel-shaded appearance through non-photorealistic rendering nodes. This technique moves away from realistic lighting and instead creates bold, flat colors and crisp outlines, much like you see in cartoons and anime.
This guide will walk you through the entire process. You will start with the basic setup and then move on to more advanced controls. By the end, you’ll be able to create your own custom toon shaders with confidence.
The process is built within Blender’s powerful Shader Editor. You don’t need any special add-ons to get started. Everything you need is already included in the software.
how to add toon shader in blender
The core method for creating a toon shader uses a specific set of nodes. The main ingredient is the Shader to RGB node, which is key for non-photorealistic rendering. This node converts shading information into a color that you can then manipulate to create the classic cel-shaded bands.
You will be working primarily in the Cycles rendering engine for this setup. While Eevee can display the result, the node tree is designed for Cycles. Let’s set up your workspace first.
Preparing Your Blender Workspace
Before you start adding nodes, it’s helpful to arrange your interface for easier workflow. A good layout will save you time and frustration as you build your shader.
Open Blender and start a new General project. You will see the default cube, which is a perfect object to test on.
- Split the 3D Viewport area by dragging from the top-right corner. Change one of the new areas into the Shader Editor.
- In the Properties panel on the right, switch the Render Engine to Cycles. Make sure your test object is selected.
- In the Shader Editor, ensure you are in the Material tab. You should see a Principled BSDF node connected to the Material Output.
Now you’re ready to begin constructing the node network. Delete the Principled BSDF node to start with a clean slate.
Building the Basic Toon Shader Node Tree
This is the fundamental setup. Follow these steps carefully to create the classic two-tone or three-tone toon look.
- Press Shift+A to open the Add menu. Go to Shader and add a Diffuse BSDF node.
- Add a Light Path node (Shift+A > Input > Light Path).
- Add a Mix Shader node (Shift+A > Shader > Mix Shader).
- Now, add the crucial node: Shader to RGB (Shift+A > Converter > Shader to RGB).
- Connect the Diffuse BSDF node into the Shader socket of the Shader to RGB node.
- Connect the Is Camera Ray socket of the Light Path node to the Fac socket of the Mix Shader.
- Finally, connect the Color socket of the Shader to RGB node to the Fac socket of another Mix Shader you’ll add for color bands.
At this point, you have the routing setup. The next step is to create the color bands that define the toon look. This is done with a ColorRamp node.
Using the ColorRamp for Cel Shading
The ColorRamp node is what turns the gradient from the Shader to RGB into distinct blocks of color. It acts like a posterization filter.
- Add a ColorRamp node (Shift+A > Converter > ColorRamp).
- Place it between the Shader to RGB node and the final Mix Shader’s Fac input.
- On the ColorRamp, change the Interpolation from Linear to Constant. This is what creates the hard edges between colors.
- By default, you have a black and white stop. You can add more stops by clicking on the ramp. Each stop represents a different color band in your shading.
For a simple two-tone shader, you only need two stops. Drag the white stop to the left. The position controls where the shadow begins. Connect the ColorRamp’s Color output to a Diffuse BSDF or a simple RGB node for color.
Adding Essential Toon Outlines
A true cel-shaded character isn’t complete without a bold black outline. In Blender, outlines are typically created using a second material and the Solidify modifier, not within the shader node tree itself. This is a common and effective technique.
Here is the standard workflow for adding outlines:
- In your object’s Material Properties, add a second material slot. Click the + button.
- Create a new material for this slot. Name it something like “Outline.”
- In this new material, set the Surface to Emission. Change the emission color to black (or any outline color you want).
- Go to the Modifier Properties tab. Add a Solidify modifier.
- Set the Thickness to a small value like 0.01. Check the Flip Normals box.
- Under Material, set the Material Index to 1. This assigns the outline material to the new faces created by the modifier.
- Under Normals, check the Even Thickness box for a more consistant result.
You should now see a thin black outline around your object. Adjust the Thickness value in the Solidify modifier to make the outline thicker or thinner. This method keeps the outline geometry separate from your main toon shader material, giving you more control.
Adjusting Light and Shadow for Your Toon Shader
Toon shading relies heavily on the direction and quality of your scene lighting. Since you are not aiming for realism, you can use simple, deliberate lighting setups.
- Use a Sun or Distant Light: These lights provide parallel rays, creating sharp, consistent shadows that work well with toon aesthetics.
- Position Your Light: Place the light at an angle to the front of your object. This creates clear shadow areas that your ColorRamp will snap into distinct bands.
- Avoid Complex Lighting: Using too many lights can create confusing gradients that break the cel-shaded illusion. Start with one or two key lights.
- Experiment with World Color: In the World Properties, try setting a flat color instead of a realistic HDRI. A light blue or gray can simulate a simple cartoon sky.
The angle of your light directly affects where the color bands from your ColorRamp appear. Rotate your light source and watch how the shadows on your model change. This is the primary way to art direct your toon shading effect.
Advanced Toon Shader Customization
Once you have the basic setup working, you can customize it extensively. The node-based system allows for a lot of creativity beyond simple two-tone shading.
Adding More Color Bands
For a more detailed look, like a character with mid-tones and highlights, you can add more color bands.
- In your ColorRamp node, click in the middle of the gradient to add a new stop.
- Drag this new stop to position it between your shadow and highlight colors.
- Click on the color box for this stop and choose a mid-tone color. For example, if your base color is red and your shadow is dark red, your mid-tone could be a medium red.
- You can add multiple stops to create a more complex, yet still stylized, shading effect.
Remember to keep the Interpolation mode set to Constant to maintain the hard edges between each band. This is what preserves the toon look.
Incorporating Specular Highlights
Some cartoon styles include a sharp, white specular highlight. You can add this to your shader with a few extra nodes.
- Add a Glossy BSDF shader node. Set its Roughness to 0.0 for a sharp highlight.
- Add a Fresnel node (Input > Fresnel). Connect it to a Math node set to Less Than.
- Use this chain to mix your main toon shader with the Glossy BSDF, creating a highlight only on the edges facing the viewer.
This creates a separate, shiny highlight that sits on top of your color bands. You can control its size and intensity by adjusting the Fresnel and Math node values.
Using Textures with Your Toon Shader
You can combine textures with your toon shading for added detail, like a hand-painted look.
Simply add an Image Texture node and connect it to the Color input of your main Diffuse BSDF shader. The toon shading node tree will then posterize the textured colors, creating a unique hybrid style. This works great for stylized clothing patterns or simple facial features.
Common Problems and How to Fix Them
As you work, you might encounter a few issues. Here are solutions to the most frequent problems.
Shader Looks Gray or Flat
If your model appears gray and lacks color bands, check these settings:
- Ensure your Render Engine is set to Cycles in the Properties panel.
- Verify that the ColorRamp node’s Interpolation is set to Constant, not Linear.
- Make sure your light source is strong enough and actually hitting your object. Increase the light’s strength if needed.
- Check that all nodes are connected properly. A loose connection is a common cause of a flat look.
Outlines Are Messy or Inconsistent
Outlines created with the Solidify modifier can sometimes produce artifacts.
- In the Solidify modifier, try enabling the High Quality Normals option.
- If the outline breaks on sharp corners, you may need to apply the Scale of your object (Ctrl+A > Scale).
- For complex models, you might need to adjust the Crease value on certain edges in Edit Mode to help the modifier calculate correctly.
- Sometimes using the “Offset” parameter instead of just “Thickness” can improve results.
Rendering is Noisy
While toon shaders can reduce some types of noise, you might still see graininess.
Increase the Samples in your Render Properties. For final renders, 256 or 512 samples is often a good starting point for clean results. Also, make sure the Denoise option is enabled in the Render layers tab for Cycles.
Applying Your Toon Shader to Different Projects
This technique isn’t just for characters. You can use it on any type of model to achieve a cohesive stylized scene.
- Props and Vehicles: Apply the same shader logic to keep everything in the same visual style.
- Environment Art: Use a simpler, one-band version for buildings and terrain to create a background that doesn’t distract from characters.
- Motion Graphics: Toon shaders are excellent for explainer videos and UI elements, giving a clean and friendly appearance.
The key to a good stylized scene is consistency. Adjust the number of color bands and the outline thickness across all assets so they look like they belong in the same world. Not every object needs a complex three-band shader; background elements can be simpler.
FAQ Section
What is a toon shader in Blender?
A toon shader in Blender is a material setup that creates a non-photorealistic, cel-shaded appearance. It uses nodes like Shader to RGB and ColorRamp to convert smooth lighting gradients into distinct bands of flat color, mimicking the style of traditional cartoons and anime.
Can you make a toon shader in Eevee?
Yes, you can view and render the basic toon shader setup in Eevee. However, the Shader to RGB node is specifically designed for the Cycles rendering engine. For the most reliable results, it is recommended to build and preview the shader in Cycles, even if you plan to render the final animation in Eevee for speed.
How do you get smooth toon shading?
For smoother toon shading, change the Interpolation mode on your ColorRamp node from Constant to Linear or Ease. This will create soft gradients between your color bands instead of hard edges. You can also increase the number of color stops in the ramp to create a more gradual transition, though this moves away from the classic cel-shaded look.
Why is my toon shader not working in Blender?
Common reasons include using the wrong render engine (must be Cycles for the node setup), incorrect node connections, or having the ColorRamp interpolation set to Linear instead of Constant. Also, check that your object has proper UVs if you are using textures, and ensure your scene has adequate lighting to create visible shadows.
What’s the difference between cel-shading and toon shading?
The terms are often used interchangeably. Technically, cel-shading refers specifically to the animation style of using flat colors, named after the celluloid sheets used in old animation. Toon shading is a broader term in 3D graphics for any non-photorealistic shading that gives a cartoon-like appearence, which includes cel-shading as its most common form.