forked from bartvdbraak/blender
Fix for particle texture influence bug causing undefined (nan) values: When using a texture with "Particles/Strands" coordinates that in turn has a "Lifetime" influence on the particles, the texture eval
accesses the particle lifetime/dietime data before it is actually defined! This is a design flaw, but to avoid corrupted data for now just initialize the lifetime/dietime values for particles in advance before evaluating the texture.
This commit is contained in:
parent
56cf901f03
commit
2cccdd1678
@ -2006,6 +2006,12 @@ void reset_particle(ParticleSimulationData *sim, ParticleData *pa, float dtime,
|
||||
pa->lifetime = 100.0f;
|
||||
}
|
||||
else {
|
||||
/* initialize the lifetime, in case the texture coordinates
|
||||
* are from Particles/Strands, which would cause undefined values
|
||||
*/
|
||||
pa->lifetime = part->lifetime * (1.0f - part->randlife * PSYS_FRAND(p + 21));
|
||||
pa->dietime = pa->time + pa->lifetime;
|
||||
|
||||
/* get possible textural influence */
|
||||
psys_get_texture(sim, pa, &ptex, PAMAP_LIFE, cfra);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user