Can Particle Lights Inherit Colour from Additive Material Colour?

Is it possible to inherit a correct colour for particle lights based on the input to the emissive node in the Material?

I’ve created a very simple Fire Particle just to get to grips with the new Cascade interface, which is simply a ParticleSubUV Node multiplied by a Particle Colour node. The Texture itself contains all the colours information, so the particle colour node just allows me to add a bit of bloom and glow to the fire, but when I add a light to the particle, the lights colour is just solid white.

I suppose in practice a workaround would be to create a second emitter that emits some dummy sprites, and create the light with that emitter? But I’m wondering if there is a way for the Light module to ‘inherit’ colours based on the emissive node of the material?

As a special note, this would be very useful if your particle changes colour through the material rather than through the Cascade interface. For example, I sometimes use the Particle Colour nodes to control other aspects of a material just like a Dynamic Parameter.

Hi James,

Thank you for your patience. I have looked into your request, but because particle light color is set by one color alone and an emissive map could hold more than one color value, it cannot be directly referenced for color value. The solution would either be to select a specific pixel’s color or average the material’s color, both would probably give unwanted results. Currently a light module’s color is based off of the particle’s color settings (set through initial color or color over life). I would suggest using the Color Over Life module to create a light that mimics the color pattern of your texture as it changes.

You could also reverse engineer the color by using a grayscale texture in your material and then use a particle parameter to set the color of the material, thus matching the colors exactly. Please let me know if this has helped.