How can i get my smoke to change from red to violet through the rainbow as a gradient throughout my animation?

I am trying to create smoke that will have a gradient from red to violet through the rainbow.

I have the smoke, i am not able to make it change colors throughout my animation though.

I would love to use nodes to do this, because i am trying to learn nodes right now. I have not been able to find a good tutorial on how to change smoke colors with nodes though.


  • $\begingroup$ Generally, use a colour ramp node to vary the colour over a range of values. An attribute node will give you some values to work with. I think you may want to use a particle system as the source for your smoke and use the particle age or velocity as input for a colour ramp. $\endgroup$
    – sambler
    Commented Apr 17, 2018 at 8:40
  • $\begingroup$ @sambler Mind blown. Very new to blender. $\endgroup$
    – prolink007
    Commented Apr 17, 2018 at 18:30
  • 1
    $\begingroup$ Please add more information - perhaps images of what you have so far. It's unclear as to whether you want the whole smoke to change colour in unison (eg, one one frame it's all red, later it all becomes green, later still, blue - but always all the smoke is the same colour as the rest of it) or whether it should be different colours simultaneously throughout the smoke. This will affect how the colour will be controlled. $\endgroup$ Commented Apr 17, 2018 at 23:14
  • $\begingroup$ I would like the smoke to maintain a gradient of the rainbow. From where the smoke is being emitted to the tail of the smoke. $\endgroup$
    – prolink007
    Commented Apr 18, 2018 at 14:55

1 Answer 1


Here's a variant of the 'Quick Smoke' material (as created by selecting the default cube, pressing Space and typing 'Quick Smoke' Enter).

rainbow smoke

The differences are the addition of the Emission shader to make the smoke glow (this would normally be the 'flames') and the additional of a Color Ramp set to vary based on the Generated 'Z' coordinate (adjust the color ramp colors to get the desired 'rainbow').

Note that setting the smoke domain objects to be 'Smoke Adaptive Domain' the smoke rainbow will dynamically span the height of the extent of the smoke.

  • $\begingroup$ That is perfect, tyvm. $\endgroup$
    – prolink007
    Commented Apr 19, 2018 at 13:31

You must log in to answer this question.

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