View Full Version : Particle Age loops with more than 100,000 particles?

09 September 2008, 12:32 PM
Hey all, a weird problem with my particle age map here. I've applied a Material Dynamic material to my PF system, and the map dissolves from black to white over the particle's lifetime (simplified example). I have a delete operator that deletes particles at age 300 (no variation)

It works fine for any particle count from 100,000 below, but with more than 100,000 particles (I've set max particle count to one million), I get this artifact in the particle age map, like the particle age is offset in the beginning.... look at the image. It's as if the particles start at age 90%, go to 100%, then snap to 0%, and then go up to 90% again, where they die. (the offset error gets worse the more particle I use)
EDIT: actually, they don't snap to 0, it looks like they snap back to where they SHOULD be at that certain time, and then continue correctly to 100...)

I get the same result if I render another frame in the timeline, meaning it's not something that happens at a specific point in time, it's all particle's age that's offset.

Thanks for any help.

- Jonas

09 September 2008, 07:05 PM
I am not sure if it is an issue with the particle ages or the Particle Age Map. I tend to think it is an issue with the Map itself but...

Anyway, you are supposed to be able to achieve the same effect using a Gradient Map and the Mapping Op. Now, according to the Help, if you animate the appropriate Mapping coordinate from 0-1, then check Sync by Particle Age, it will cycle through the keys based on particle age. This doesn't work for me, I is always locked to Sync by Absolute Time (not sure if it is a 2009 bug or what). But if you have Box3, you can recreate the Mapping Op by dividing the Particle Age by the Particle Lifespan and output as the desired coordinate of the Mapping Vector. On occasion, you will need to turn off Tile on the Gradient or you can get a slight repeat at the start and end. And, if you use Gradient Ramp, you can add flags where ever you need and you are not limited to only 3 values as the Particle Age Map is.

Another benefit to using Box3 for this is that you can control this without using a Delete Op. by creating a Lifespan value within the Data Op. This way you can set up a system where your gradient happens for X frames and holds the last value when finished.

09 September 2008, 11:31 AM
Hey Charlie, thanks for the tip. Have you also encountered the Particle Age bug?

Anyway, it blows that you have to use Absolute Time, cause I really need particle age... but hey, I'll try it anyway.

Thanks a bunch,
- Jonas

09 September 2008, 01:45 PM
It is supposed to/ used to work with the Mapping. But it doesn't really matter for me because there are a number of Box3 solutions. But yeah, things like that are never fun.

CGTalk Moderation
09 September 2008, 01:45 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.