Revision: 17263
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17263
Author:   broken
Date:     2008-11-01 13:45:19 +0100 (Sat, 01 Nov 2008)

Log Message:
-----------
* Tweaked the spin force field a bit. It worked great for its purpose 
before, but wasn't playing nice with the other force fields (was 
overwriting the velocity rather than acting as a force). This version is 
slightly different, but will work a lot better with other force fields too.

Modified Paths:
--------------
    branches/sim_physics/source/blender/blenkernel/intern/effect.c

Modified: branches/sim_physics/source/blender/blenkernel/intern/effect.c
===================================================================
--- branches/sim_physics/source/blender/blenkernel/intern/effect.c      
2008-11-01 11:35:59 UTC (rev 17262)
+++ branches/sim_physics/source/blender/blenkernel/intern/effect.c      
2008-11-01 12:45:19 UTC (rev 17263)
@@ -422,18 +422,25 @@
 
                        break;
                case PFIELD_SPIN:
+               {       
+                       float inward[3];
+                       
                        Projf(temp, velocity, eff_vel);
-                       
                        Crossf(mag_vec,eff_vel,vec_to_part);
+                       Crossf(inward, mag_vec, eff_vel);
 
                        Normalize(mag_vec);
 
+                       VecSubf(mag_vec, mag_vec, inward);
+                       
                        VecMulf(mag_vec,force_val*distance*falloff);
                        VecAddf(mag_vec, mag_vec, temp);
-                       
-                       VecCopyf(velocity, mag_vec);
-                       
+
+                       /* compensate for existing velocity */
+                       VecSubf(mag_vec, mag_vec, velocity);
+                       VecAddf(field,field,mag_vec);
                        break;
+               }
                case PFIELD_MAGNET:
                        if(planar)
                                VecCopyf(temp,eff_vel);


_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to