Commit: 4535a9d92637039930d4715004c99f66ba511cce
Author: Lukas Tönne
Date:   Fri Sep 5 13:02:20 2014 +0200
Branches: hair_immediate_fixes
https://developer.blender.org/rB4535a9d92637039930d4715004c99f66ba511cce

To make gravity a true force vector, multiply by the mass.

===================================================================

M       source/blender/blenkernel/intern/implicit_eigen.cpp

===================================================================

diff --git a/source/blender/blenkernel/intern/implicit_eigen.cpp 
b/source/blender/blenkernel/intern/implicit_eigen.cpp
index 9bf31a3..19f7934 100644
--- a/source/blender/blenkernel/intern/implicit_eigen.cpp
+++ b/source/blender/blenkernel/intern/implicit_eigen.cpp
@@ -189,6 +189,7 @@ static void cloth_calc_force(ClothModifierData *clmd, 
lVector &F, lMatrix &dFdX,
 {
        Cloth *cloth = clmd->clothObject;
        unsigned int numverts = cloth->numverts;
+       ClothVertex *verts = cloth->verts;
        float spring_air        = clmd->sim_parms->Cvi * 0.01f; /* viscosity of 
air scaled in percent */
        float gravity[3] = {0,0,0};
 //     lVector diagonal(3*numverts);
@@ -205,13 +206,15 @@ static void cloth_calc_force(ClothModifierData *clmd, 
lVector &F, lMatrix &dFdX,
        /* global acceleration (gravitation) */
        if (clmd->scene->physics_settings.flag & PHYS_GLOBAL_GRAVITY) {
                /* scale gravity force
-                * XXX this factor looks totally arbitrary ... what is this? 
lukas_t
+                * XXX 0.001 factor looks totally arbitrary ... what is this? 
lukas_t
                 */
                mul_v3_v3fl(gravity, clmd->scene->physics_settings.gravity, 
0.001f * clmd->sim_parms->effector_weights->global_gravity);
        }
        
+       /* initialize force with gravity */
        for (int i = 0; i < numverts; ++i) {
-               copy_v3_v3(lVector_v3(F, i), gravity);
+               /* gravitational mass same as inertial mass */
+               mul_v3_v3(lVector_v3(F, i), gravity, verts[i].mass);
        }
 
 #if 0

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to