1
$\begingroup$

I'm having a problem with a simple liquid simulation in blender. I have a domain, an inflow object (just a small cube), and an effector (which is a square shaped bowl with very little geometry). Low poly square bowl mesh

^ Picture of the effector

The problem I am having is that when I bake the simulation and play it back, some of the liquid particles pass through the effector. The particles that don't pass through the mesh look fine, and collide realistically with the surface.

Below is a screenshot of the liquid domain settings, the effector settings and a screenshot of the problem itself:

liquid domain settings

liquid effector settings

Liquid particles passing through effector I know that increasing the surface thickness removes this problem, but it also adds an invisible force field around the object that makes the simulation look unrealistic.

My main question is: Is there some way to calculate the surface thickness so that I have a middle ground, where no particles pass through the bowl, but the particles also collide with the mesh surface realistically?

I have also attached the .blend file, if that helps anyone. This is my first post on StackExchange, so please tell me if I've missed something that I should have included.

$\endgroup$
1
$\begingroup$

It is because your resolution is too low. Raise your resolution to 75 and it works.

Result:

enter image description here

You can think for the resolution as a kind of "accuracy" how good Blender calculates the colliding with objects. The bigger the number the better and the slower Blender calculates the collision and will make less mistakes.

$\endgroup$
0
$\begingroup$

Chris has already given you the correct answer, your resolution is really too low for a good liquid simulation. By the way, the face normals of your bowl are pointing inwards, you should recalculate them with Shift+N in Edit Mode (but this doesn't help in this case).

So however, if for some reason - a special look or whatever - you want to stick with the low resolution, here are some additional options to get the simulation working.

First of all, since the effector bowl's walls are too thin for a good collision detection at low resolution (which is why you need to add high surface thickness which makes the liquid look floating unnaturally), you can make the walls thicker. This way you don't need to set a Surface Thickness and can avoid unnatural floating.

If you don't want the bowl to look thick, you can use a different object as the Effector with much thicker walls extending outwards. Hide this one in render and use an object (that isn't an Effector) with desired thickness for rendering. This works in your case if you don't want water to be flowing above the rim.

Other options are (but unfortunately not working in your file, just for future projects):

Increase the Sampling Substeps on the Fluid and/or Effector objects. This makes Blender calculate more data inbetween frames which can help in some cases if you have fast moving fluids or effectors. Values of 10 to 20 don't even increase simulation time much.

In the Domain settings, under Use Adaptive Time Steps, increase the values for Timesteps Maximum and Minimum. Especially setting the Minimum to more than 1 ensures that Blender always calculates a little more accurate than default. Increasing these values are usually increasing simulation time, but this always depends on the scene, resolution etc., but even a Minimum of 2 will help improving the calculations.

All these options are no guarantee that your fluid simulation will work as expected, but tweaking might sometimes be just what makes the crucial difference. But as mentioned, in this case only a higher resolution as Chris suggests or thicker walls will help - but these solutions let you decrease the Surface Thickness to maybe even 0 which stops the floating.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.