[Bf-blender-cvs] [0e6820cc5d6] blender-v2.91-release: Fix T82488: Mantaflow - force fields have very low influence compare to 2.90.1

Sebastián Barschkis noreply at git.blender.org
Mon Nov 9 12:54:04 CET 2020


Commit: 0e6820cc5d6244236dcf0087784202da4b7ff817
Author: Sebastián Barschkis
Date:   Mon Nov 9 12:53:27 2020 +0100
Branches: blender-v2.91-release
https://developer.blender.org/rB0e6820cc5d6244236dcf0087784202da4b7ff817

Fix T82488: Mantaflow - force fields have very low influence compare to 2.90.1

Removed 0.2f factor when setting forces. Why this factor has been used when forces should only be clamped, nobody knows ..

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

M	intern/mantaflow/intern/strings/fluid_script.h
M	source/blender/blenkernel/intern/fluid.c

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

diff --git a/intern/mantaflow/intern/strings/fluid_script.h b/intern/mantaflow/intern/strings/fluid_script.h
index dfc751e45db..c416a84c71c 100644
--- a/intern/mantaflow/intern/strings/fluid_script.h
+++ b/intern/mantaflow/intern/strings/fluid_script.h
@@ -364,7 +364,6 @@ def fluid_pre_step_$ID$():\n\
     \n\
     # Main vel grid is copied in adapt time step function\n\
     \n\
-    # translate obvels (world space) to grid space\n\
     if using_obstacle_s$ID$:\n\
         # Average out velocities from multiple obstacle objects at one cell\n\
         x_obvel_s$ID$.safeDivide(numObs_s$ID$)\n\
@@ -372,7 +371,6 @@ def fluid_pre_step_$ID$():\n\
         z_obvel_s$ID$.safeDivide(numObs_s$ID$)\n\
         copyRealToVec3(sourceX=x_obvel_s$ID$, sourceY=y_obvel_s$ID$, sourceZ=z_obvel_s$ID$, target=obvelC_s$ID$)\n\
     \n\
-    # translate invels (world space) to grid space\n\
     if using_invel_s$ID$:\n\
         copyRealToVec3(sourceX=x_invel_s$ID$, sourceY=y_invel_s$ID$, sourceZ=z_invel_s$ID$, target=invelC_s$ID$)\n\
     \n\
@@ -382,7 +380,6 @@ def fluid_pre_step_$ID$():\n\
         interpolateMACGrid(source=guidevel_sg$ID$, target=velT_s$ID$)\n\
         velT_s$ID$.multConst(vec3(gamma_sg$ID$))\n\
     \n\
-    # translate external forces (world space) to grid space\n\
     copyRealToVec3(sourceX=x_force_s$ID$, sourceY=y_force_s$ID$, sourceZ=z_force_s$ID$, target=forces_s$ID$)\n\
     \n\
     # If obstacle has velocity, i.e. is a moving obstacle, switch to dynamic preconditioner\n\
diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c
index 9ad352c8455..d8573b9f032 100644
--- a/source/blender/blenkernel/intern/fluid.c
+++ b/source/blender/blenkernel/intern/fluid.c
@@ -3196,9 +3196,15 @@ static void update_effectors_task_cb(void *__restrict userdata,
       mul_v3_fl(retvel, mag);
 
       /* Constrain forces to interval -1 to 1. */
-      data->force_x[index] = min_ff(max_ff(-1.0f, retvel[0] * 0.2f), 1.0f);
-      data->force_y[index] = min_ff(max_ff(-1.0f, retvel[1] * 0.2f), 1.0f);
-      data->force_z[index] = min_ff(max_ff(-1.0f, retvel[2] * 0.2f), 1.0f);
+      CLAMP3(retvel, -1.0f, 1.0f);
+      data->force_x[index] = retvel[0];
+      data->force_y[index] = retvel[1];
+      data->force_z[index] = retvel[2];
+
+#  if DEBUG_PRINT
+      /* Debugging: Print forces. */
+      printf("setting force: [%f, %f, %f]\n", data->force_x[index], data->force_y[index], data->force_z[index]);
+#  endif
     }
   }
 }



More information about the Bf-blender-cvs mailing list