I am trying to set the initial alpha of my particles over the duration of my emitter. This seems to be set to use absolute time (0 for 0 sec, 1 for 1 sec, 3 for 3 sec…) but if I try to set it at a time above 1 second, the output does not change. Any in values above 1 are never reached.
I do not want to set the color over life of the particle, I want to set the initial color of each particle spawned to change over the duration of the emitter.
Essentially, I want the particles spawned at the end of the emitter duration (3.3 sec) to start less opaque than those spawned at the beginning of the emitter duration.
I have never tried this, but it sounds like a cool idea…I am assuming you are setting the alpha control to a constantCurve and this is not working for you?
Not sure if initColor is defined when the emitter is created, and applied to all particles subsequently spawned from that emitter, or if it is a value that can update over emitter duration.
I have just tested it and the behavior is the same in 4.9.0
Test case:
Create a particle system whose duration is 3 seconds.
Assign it an easy to see material that you can change the color of.
Remove the color over life node and use an “initial color” node.
Set the start color to a distribution vector constant curve.
Add three points to the curve
At in value 0.0, set the color to green
At in value 0.9, set the color to green
At in value 1.0, set the color to red
Observe that the particles are green for 0.9 seconds, then new particles are red for the next two seconds until the emitter completes its emission.
Set the second point’s in value to 1.9
Set the third point’s in value to 2.0
Observe that the particles are green for the entire 3 seconds of the emitter.
Expected Result: Either that the in values were mapped to the duration of the emitter (not, as it appears, time in seconds), or that the in values would allow for inputs beyond 1.0 for time.
I have the same issue, My emitter is a sphere who get bigger over time (Emitter Duration 25 sec) it was working perfectly on 4.7.
But since the 4.8 the sphere start to grow, and after 1 sec it stop its progression… I was waiting for the 4.9, hoping it will resolve the bug, but the problem still occurs.
A little description :
Point 1 : In Val = 0 / Out Val = 1
Point 2 : In Val = 25 / Out Val = 4000
I tried to create a new emitter, i was thinking the conversion 4.7 → 4.8 maybe corrupt the emitter, but no.
So if someone has a solution, or if you can confirm it’s a bug ! Thanks (Sorry for my English)
Note: in response to 's comment below, I installed 4.7.6. I find that in 4.7.6. this behavior works as expected. I can set in values greater than 1 second and the particles change color.
This issue seems to be present in all of the “Initial” type modules. Behavior isn’t being calculated past 1 second. I would very much like this to be fixed. One work around I have found is to duplicated the emitter and delay it for 1 second and to pick up where the last emitter left off (kill the first emitter after it’s first second). This isn’t the cleanest of solutions for any effect that lasts for a significant amount of time. Plus, if you don’t check “Kill on complete”, your draw calls can start to add up.