diff options
author | Sebastián Barschkis <sebbas@sebbas.org> | 2020-11-09 14:53:27 +0300 |
---|---|---|
committer | Sebastián Barschkis <sebbas@sebbas.org> | 2020-11-09 14:53:27 +0300 |
commit | 0e6820cc5d6244236dcf0087784202da4b7ff817 (patch) | |
tree | 256d1be57b3031c06604ec785f06c0e930e970f7 | |
parent | 29693c7b070a05ffe8789ecdce34852fd0e31ecf (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.h | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/fluid.c | 12 |
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 } } } |