This has been a frequently requested feature: To be able to control shader parameter over the lifetime of particles.

A common use case for this is fading out particles toward the end of their life (or the opposite: prevent them from popping into view suddenly by smoothly increasing their opacity).

The only way to achieve this effect until now is to use texture in combination with “Particle” coordinates (which encode the particle age as the U texture coordinate). However, this is clumsy and of limited use for fading out (since particle total lifetimes can vary). Also it only works with billboard and halo rendering, but not object or group instancing.

For cycles shader nodes there is now a “Particle Info” node for such attributes (it should probably be implemented in BI as well). For now only the Age and Lifetime of the particle (in frames) are available, but more particle data can be exposed if required.

As a simple test case i’ve made a “Fade In” and “Fade Out” effect (node groups for convenience) and also a “Decay” effect, which is useful to simulation cooling down of hot particles and similar features (in-depth info).

Fade In

Fade Out

Decay