From 8591e6b8de6d291268e9a48c997671d498d10b4c Mon Sep 17 00:00:00 2001 From: stndbye Date: Sun, 3 Dec 2023 14:21:25 +0100 Subject: [PATCH] viscosity force fix Add viscosity to velocities once, not at every iteration. --- Assets/Scripts/Sim 3D/Compute/FluidSim3D.compute | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Sim 3D/Compute/FluidSim3D.compute b/Assets/Scripts/Sim 3D/Compute/FluidSim3D.compute index c6324ab..9f5f44b 100644 --- a/Assets/Scripts/Sim 3D/Compute/FluidSim3D.compute +++ b/Assets/Scripts/Sim 3D/Compute/FluidSim3D.compute @@ -265,9 +265,8 @@ void CalculateViscosity (uint3 id : SV_DispatchThreadID) float3 neighbourVelocity = Velocities[neighbourIndex]; viscosityForce += (neighbourVelocity - velocity) * SmoothingKernelPoly6(dst, smoothingRadius); } - - Velocities[id.x] += viscosityForce * viscosityStrength * deltaTime; } + Velocities[id.x] += viscosityForce * viscosityStrength * deltaTime; } [numthreads(NumThreads, 1, 1)] @@ -277,4 +276,4 @@ void UpdatePositions(uint3 id : SV_DispatchThreadID) Positions[id.x] += Velocities[id.x] * deltaTime; ResolveCollisions(id.x); -} \ No newline at end of file +}