Fix for [#25095] Particle systems and object with collision modifier bug
authorJanne Karhu <jhkarh@gmail.com>
Fri, 10 Dec 2010 08:29:46 +0000 (08:29 +0000)
committerJanne Karhu <jhkarh@gmail.com>
Fri, 10 Dec 2010 08:29:46 +0000 (08:29 +0000)
* Collisions didn't take emitter object layer into account

source/blender/blenkernel/intern/effect.c
source/blender/blenkernel/intern/particle_system.c

index 24a95c58e36d9fa3e9c63d1d301939772418e4b9..51f2203b525533fa83c44fcc7f75ac51f963adf7 100644 (file)
@@ -432,7 +432,7 @@ static float eff_calc_visibility(ListBase *colliders, EffectorCache *eff, Effect
                return visibility;
 
        if(!colls)
-               colls = get_collider_cache(eff->scene, NULL, NULL);
+               colls = get_collider_cache(eff->scene, eff->ob, NULL);
 
        if(!colls)
                return visibility;
index 931339d90b4cde78226813aaaf58eccfdafb2970..333ca91d4b9e5114c8da99fd6210838399791bd3 100644 (file)
@@ -3392,7 +3392,7 @@ static void dynamics_step(ParticleSimulationData *sim, float cfra)
        psys_update_effectors(sim);
 
        if(part->type != PART_HAIR)
-               sim->colliders = get_collider_cache(sim->scene, NULL, NULL);
+               sim->colliders = get_collider_cache(sim->scene, sim->ob, NULL);
 
        /* initialize physics type specific stuff */
        switch(part->phystype) {