forked from bartvdbraak/blender
[#26848] Keyed Particles seems to be broken
* Explode modifier wasn't updated properly when keyed particles were used. * Explode modifier didn't get correct locations for grid distributed particles.
This commit is contained in:
parent
28594bc742
commit
f8124d6db7
@ -4311,6 +4311,9 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
|
|||||||
free_keyed_keys(psys);
|
free_keyed_keys(psys);
|
||||||
distribute_particles(&sim, part->from);
|
distribute_particles(&sim, part->from);
|
||||||
initialize_all_particles(&sim);
|
initialize_all_particles(&sim);
|
||||||
|
|
||||||
|
/* flag for possible explode modifiers after this system */
|
||||||
|
sim.psmd->flag |= eParticleSystemFlag_Pars;
|
||||||
}
|
}
|
||||||
|
|
||||||
LOOP_EXISTING_PARTICLES {
|
LOOP_EXISTING_PARTICLES {
|
||||||
|
@ -148,7 +148,7 @@ static void createFacepa(ExplodeModifierData *emd,
|
|||||||
/* make tree of emitter locations */
|
/* make tree of emitter locations */
|
||||||
tree=BLI_kdtree_new(totpart);
|
tree=BLI_kdtree_new(totpart);
|
||||||
for(p=0,pa=psys->particles; p<totpart; p++,pa++){
|
for(p=0,pa=psys->particles; p<totpart; p++,pa++){
|
||||||
psys_particle_on_dm(psmd->dm,psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,co,NULL,NULL,NULL,NULL,NULL);
|
psys_particle_on_emitter(psmd,psys->part->from,pa->num,pa->num_dmcache,pa->fuv,pa->foffset,co,NULL,NULL,NULL,NULL,NULL);
|
||||||
BLI_kdtree_insert(tree, p, co, NULL);
|
BLI_kdtree_insert(tree, p, co, NULL);
|
||||||
}
|
}
|
||||||
BLI_kdtree_balance(tree);
|
BLI_kdtree_balance(tree);
|
||||||
|
Loading…
Reference in New Issue
Block a user