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).






21 comments
mrk-z says:
May 31, 2012
That’s really cool! Thank you, Lucas.
Gottfried Hofmann says:
May 31, 2012
Wow Lukas, great work! Will this be available with the default particle system of Blender or only with the new particles?
lukas says:
May 31, 2012
It works with standard blender particles (not even implemented in node particle branch yet).
MD says:
May 31, 2012
Thank you Lukas!
Have been waiting for a feature like this!
Ben Simonds says:
May 31, 2012
Great stuff!
Alesk says:
May 31, 2012
“…but more particle data can be exposed if required.”
-> ALL, please.
Nate Wiebe says:
May 31, 2012
+1.. Also a patch to test this out would be great.
Nate Wiebe says:
May 31, 2012
I managed to find the patch: http://codereview.appspot.com/6242069/
Bao2 says:
May 31, 2012
Genial !!!
Bart Robinson says:
May 31, 2012
Nice! Velocity and rotation please.
Alesk says:
May 31, 2012
I’m back to add a little comment :
For all future nodes/functions (and also the old ones), don’t ask which parameters to expose, just put them all.
You’ll always have someone (like me) who needs a parameter that is not exposed
seraan says:
Jun 2, 2012
This is awesome! To get an individual ID for each particle as a node data would be even more! lot’s of fx come to mind… Do you think this is manageable?
THX
Aceone says:
Jun 2, 2012
What would be nice if you could control the size of child particles over time.It would be useful to make more realistic effects.
Karlis says:
Dec 27, 2012
I agree, size is one of the most needed features. Without it, particles just disappear in thin air.. and that looks awful. Please, please, please.. developers.. !
Will says:
Jun 4, 2012
Animating parameters over the lifetime of the particle? Thank you for working on this!
Evgeny says:
Aug 20, 2012
Hi! Please check this:
Ubuntu 12.04, Blender 2.63.17 r50003(and others), Cycles render, CPU compute, ParticleSystem->Render->Emitter(OFF)->F12->Blender Crash.
Ubuntu 12.04, Blender 2.63.17 r50003(and others), Cycles render, GPU compute, ParticleSystem->Render->Emitter(OFF)->F12->No emitter and No particles render.
RawUnpape says:
Sep 22, 2012
на данном ресурсе http://game-nn.ru/ подобран громадный набор скриптов для серверных игр,таких как GTA.
Air Yeezy 2 For Cheap says:
Oct 28, 2012
Thanks a lot for providing individuals with a very wonderful opportunity to discover important secrets from this site. It really is so nice plus packed with a great time for me and my office mates to search the blog the equivalent of thrice in a week to read through the latest items you have got. And indeed, we’re at all times astounded with your spectacular tricks you serve. Selected 2 ideas on this page are definitely the best we’ve ever had.
Chris B says:
Dec 7, 2012
Hi Guys, Thanks for all the great work. Using Blender 2.64A, there doesn’t appear to be any output from the Particle Info Node, is there something that needs to be set to get the Node outputting the Age and Lifetime? Sending this through a Maths Divide and then to a Color ramp. I can get the output to change by inputting values, everything seems to be working, but cannot get any output from the PI Node? As with the comments above this is clearly a must-have-feature. Any help much appreciated, Cheers Chris B.
jay27flow says:
Jan 28, 2013
awesome. particle size please
(or all
)
Mr Lange says:
Jun 17, 2013
WHY IS THIS BEING IGNORED!?!? BLENDER SO BADLY NEEDS THIS!!! This is FAR more important than half of the things being given novel updates. Core functionality as extremely crucial as this should always be priority!!