Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastián Barschkis <sebbas@sebbas.org>2020-11-09 14:53:27 +0300
committerSebastián Barschkis <sebbas@sebbas.org>2020-11-09 14:53:27 +0300
commit0e6820cc5d6244236dcf0087784202da4b7ff817 (patch)
tree256d1be57b3031c06604ec785f06c0e930e970f7
parent29693c7b070a05ffe8789ecdce34852fd0e31ecf (diff)
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 ..
-rw-r--r--intern/mantaflow/intern/strings/fluid_script.h3
-rw-r--r--source/blender/blenkernel/intern/fluid.c12
2 files changed, 9 insertions, 6 deletions
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
}
}
}