Particle material rendering in viewport but not in actual render

As you can see in the attached screenshot I have a simple particle system set up and I am trying to adjust the color of the particles based on how old they are. When using the rendered preview in the viewport things look just fine. However, when I hit F12 to render the frame they act as if the factor in the ColorRamp always equals 1.

I am at a loss as to what is going on. The particle system is baked and I think I am basically using the default settings for most things.

Here is a link to the .blend in case the screenshot isn’t enough.
https://1drv.ms/u/s!AitsJbWbfqIezhbuwpCMkzbbYpV-?e=oGT13D

1 Like

After doing more debugging it seems like the issue is with the Age part of the Particle Info node. I can pipe the other elements (like Lifetime with random life, size, velocity) into the math node then use that as the color ramp factor.

Has anyone else gotten Particle Age to work?

I just tested on 2.90, same behavior. Maybe you’ve found an unreported bug. This file will be a great example to use for a bug report.

So it looks like it has something to do with Time remapping messing up the “age”. I disabled the time remapping you had and this came out fine in render:

1 Like

Done.
I reported it as a bug.
https://developer.blender.org/T77307

1 Like

Thank you @cgdomi for figuring this out. And I can confirm that things get…weird when the timescale old value is below 100. The reason I was going below 100 was to slow down the particle system. Is there any way to get the slower particle speeds?

@Atom Thank you for reporting the bug.

What you want to use is the Timestep value under Integration in the Physics settings of the Particle Properties:

This value equates to how many seconds pass per frame. The default of 0.04 is equal to 1/25th of a second of simulation time per frame so that your particle physics looks correct if you are rendering a 25 frames/second animation. If you want it to go slower, you will lower this value. A value of 0.004 is 10 times slower, so 1/250th of a second of simulation time per frame. This value is independent from your output frame rate.

Timestep reference:
https://docs.blender.org/manual/en/2.82/physics/particles/emitter/physics/newtonian.html#integration

Edit:
Here’s a video showing it in action:

1 Like

Thank you. I’ll play around with the time step.

Let us know if that works, and if so, mark hunkadoodle’s post as the solution for this thread. Good luck!

1 Like

Marked @Hunkadoodle post as the solution. I had to play with the subframes a bit so the simulation stayed right but things look good now. Thanks for the help. Hopefully the bug will be fixed in a future release.

2 Likes