At some point (not right away), I'll be wanting to make a character model which has multicolor hair. Namely, it will be one color closer to the roots, and another color closer to the tips.

Is there any way to do this in blender? I would be using Cycles for this.


3 Answers 3


You can accomplish this in multiple ways, the easiest way is to use a Hair Info node, and use the Intercept value to drive a Converter > Color Ramp node. Use this to drive the Factor on your mix or add shader node. Here is a quick example node setup: enter image description here

And here is how it renders: enter image description here

As you can see, the lower input into the Mix Shader is on the base of the hair, and the upper input is on the top of the hair. This will work on a Color > Mix RGB node as well.

EDIT: It is also possible to add another set of colors on top of the first two, giving even more controlability: enter image description here

How it renders: enter image description here

More realistic colorings: enter image description here

  • 3
    $\begingroup$ Aye, this does the trick, thanks! The setup I used based on this was a little simpler, though. I put the color values directly into the ColorRamp node and then passed its output to the color of a single diffuse shader. I had thought that would be more efficient, but doing a quick test found no difference in rendering speed or memory usage. $\endgroup$ Nov 17, 2014 at 18:47

To add to what was said in this answer, you can use Is Strand to make the hair and the base material different using only one material.

The Is Strand output of the Hair Info node gives a black and white mask. White on what is hair, and black everywhere else (the plane in my example.)

Take this colorful spiky image. I have only one material on the plane. That material is controlling both the checkers and the hair's color. colorful spikes on a checkered plane

Here are the simplified nodes for the material I used in the image above.
cycles materiel nodes

I'm simply using the Is Strand as the mix factor to determine where each part of the material goes, on the hair or on the plane.


I am not sure about previous versions. But from 2.8 at least forward you can get a very simple set up with the Hair info node and a color ramp. Set the hair info to "intercept".

using intercept

additional colors

Also you can get a random seed color look by using the "Random" setting.


Continuing with this concept, you can now also combine these effects with your desired blend mode and amount with a Mix RGB node.

random brown

random brown and strand color


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .