Fluid colors | part 1

There are several different ways to have some randomization of the fluid colors.
Let’s take a look at what can be possible, based on FumeFX for 3dsmax.

Standard Shader
Channel Shader
Color Channel



Kind of default fluids rendering way. Gradient works for smoke density relatively from left to right. Link to download max file is beneath pictures.


This is a bit more interesting due ability to color entire fluid by other channel property, take a look what we can get from temperature or velocity.

In practice, rendering fluids with channel shader coloring aren’t very usable due to too fewer options. Yes, it can help get an additional colored pass for compositing or just get some weird “artsy” stuff.

For final look is better to give a chance for new color channel and effector combination.


And here is most interesting part – color channel. It gives the ability to have color channel stored in the fluid itself. Introduced in FumeFX 3.0, works in a pretty straight way – color is defined by source, so practically you can have a couple of different sources to mix colors. There is as also helper which give more options to change them, in FumeFX it’s calling Effector.
Let’s take a look how it works by examples.

Workflow is pretty straightforward:

  1. Enable color simulation is sim tab
  2. Check if color channel added to exporting channels list
  3. Enable color simulation in every source
  4. Switch rendering from gradient to grid


Here is a simple example of using simple sources. Colors can be not only picked but added from maps. In this example from gradient ramps. Just keep in mind, when adding a map, color picking area becomes a source for filtering color, so it always should be white!


Trying to align map isn’t always works as expected, but it’s possible. Better to have the source on 0,0,0 world coordinations.

As previous, with the only difference that here particles added as velocity source. All other particle channels are disabled.

Another example of using a bitmap as a source. Btw, do you know that same FumeFX cache can be loaded in FumeFX for Maya? Basically, you can render 3dsmax simulation with Arnold/MentalRay/WhateverMayahave.


Unfortunately, particle sources can’t accept any maps, so usually, it’s better to have a couple of different sources with slight colors variation.


A bit better solution to work with fluids have Thinking Particles. There is an ability to get Vertex Color data from particles. All you need is to save/name your data channel in TP. And choose that name in ffx particle source.


Effector works by choosing a channel name in effector itself. Then in simulation tab, color area, desired effector can be chosen. Keep in mind that several effectors can be used in the same simulation.

Effector has two main area that should be taken into consideration when developing own effect – Input and Output. As Output, we just find the desired color (or gradient) and make some operation with it – Multiply, Blend, Add to existing color or completely Replace it.

Input works as a mask in compositing software’s, it takes only some portion of the entire fluid to bring it to the Output. In an example below, Input is a 3d texture. So by map hi and low gray scale value that portion of the map is sent to Replace color with chosen gradient.


Every shot from the video above made with the same techniques as explained in this fumefx coloring walkthrough. So it will be not hard to replicate them. Anyone who wants to get exact same max/fusion files can get them from Dropbox for free:

  1. Hi Deko,

    Which version of Max were these created with? Can’t open in 2012 anyway. Great stuff btw

  2. Cheers Deko, I tried opening the Shot 2 Max file and it will not open in 2012. Any chance of correcting this one also?


  3. Hi Deko,

    I’m looking at your Thinking Particles scene file, and everything works perfectly in it. When I try to recreate it on my own however, there’s two bugs.

    1) I don’t see the material displayed on the particles in my viewport.
    2) FumeFX isn’t picking up the mapping details.

    When I render the particles, the texture shows just as I’d expect it to. I suspect my problems #1 and #2 are linked. I’ve gone over your scene with a fine tooth comb but I can’t find any settings different. Do you have any idea what’s happening?

    1. After some more fiddling and more reference work at your pictures, you show it pretty clearly. I had done everything except actually select the data channel. I had grown too accustomed to the simple setting of grid color the way it’s done with PFlow – just playing with the grid. Even then, I was having some trouble between selecting the correct group’s data channel – anyways, I got it. Thanks so much for all these tutorials, I learn so very much from them.

      1. Hey Chris,
        glad you figured it out. To show Thinking Particles vertex color in viewport, just select TP object (in viewport or max object list) and in object properties, find Vertex Channel Display checkbox, check it and choose Vertex Color from dropdown menu. That’s it!

  4. Hi Deko, i just got one question 😛 How did you make the ground texture? Is it just a simple image placed on a plane? Thanks!!!

  5. Hello Deko,

    Suppose i have a fume emitted from a particle system, along the fumefx grid, and i just wanna color my fume from white to black starting from the emitter to the end if grid, simply, hiw can i do that?
    In other words, i want the color to be based on the distance of the emitter, from white (near the center) to black (farest point of the fume grid ) its like applying gradient color to the grid, fixed, and not related to the smoke changes, the smoke or fire should take its color based in its position on the grid as described..
    How can i do that,

    Thank you very much in advance

    1. Hi Zach,
      I recommend to find in FumeFX help FumeFX Source Controllers. There is minus sign with right mouse click you can choose Object Distance from menu.
      Also, I’m preparing another Fumefx coloring part. I hope it will be finished next week. Stay tuned.

      1. Thank you so much for your reply,
        I already tested that, and it is not working at all, i suppose it should be the solution, but for some reason, it doesn’t give any logical results!
        All i need is to create this gradient color for the sim along its grid, so i can use it as a z depth pass, when i look at it with my camera from the beginning edge or the end edge of this grid..

  6. Hey dude
    It’s realy perfect work!
    Have you done any project in maya with fumrFX?

    1. Masoud, thank you for compliment. I’m trying to avoid Maya at all cost, but had one project which it. Simulation was done in max, but same cache rendered with Maya Arnold.

  7. Wooow! wonderful explosion! Nice cooperation of FumeFX and Deko!
    I can’t open these files in 3ds max 2010. May I have these files as 2010 version in my email?

    1. Hi MSH,
      Thank you!

      Of course not 🙂 3dsmax 2010 was released 7 years ago, I recommend use newer version. All files saved in 3dsmax 2014.
      Hope that helps.

  8. hi, man I would like to know if it is possible to “extract” fumefx particle color information from a simulation to color particle shape at the same position on TP after using a fumefx birth on TP. for exemple on cube, to have a kind of voxel or “lego” smoke but with same variation come from the fumefx simulation.
    maybe it easy but I don’t find the solution.

    thanks a lot.

    1. Easiest way to use FFX colors in particles is to use PRTFumeFX (from Krakatoa) with combination of Stoke and Frost for actual meshes, which can get colors directly from Stoke.
      As I know TP also can get it, but I’m not TP user anymore, can’t help here too much.

  9. Hi man thanks for the tips, really interesting, I tryed to start my own scene from the free sample of shot 2 , everyting render properly in the simulation window but when i want to fully render it through Vray , the smoke doesnt appear at all, I dont get it. I tryed with the scanline renderer , still the same issue…
    Could you please enlight me on this?

    1. I just tested. It’s working. Maybe try to reset Vray settings (switch to Scanline and back to Vray again)

        1. Glad you resolved it. Keep in mind, I changed the main link, now it’s possible to download ALL 3ds max files from the video above.

          1. Ow thanks a lot Deko! but I wanted to do a collision of two smokes with their own gravity (opposite from one another) so i did another grid, but if i do this, I cant render them both in the same simulation… do you know how I could solve that please?

          2. You should be able to render 2 grids (are you sure both of them have lights?). Also, to make fluids collision, you don’t need 2 grids, just have 2 sources in one grid.

          3. The thing is that if I create another grid it will have its own dialog, so I cant simulate both in the same dialog, I did this because I wanted each of the two smoke I created to be attracted by their own gravity . If only I could define which gravity to be linked to which smoke it would be great, but I obviously can’t do that…
            It works when on the same grid , I can see my blue smoke and my red smoke but they both goes in the same direction (because of the only one gravity I have )

Your email address will not be published. Required fields are marked *