rlguy / Blender-FLIP-Fluids

The FLIP Fluids addon is a tool that helps you set up, run, and render high quality liquid fluid effects all within Blender, the free and open source 3D creation suite.
https://www.blendermarket.com/products/flipfluids
GNU General Public License v3.0
1.71k stars 191 forks source link

In latest experimental build, expand geometry is not working #574

Closed juangea closed 2 years ago

juangea commented 2 years ago

System Information

Blender Version (including hash): Blender 2.81 Bonemaster (custom build) FLIP Fluids Version: Experimental build, February 11th Operating System: Linux Pop OS CPU: Threadripper 2990WX GFX: RTX 2080 TI **RAM: 64Gb

Describe the bug

When using a thin collider the parameter Expand Geometry is not working, it does nothing, the collider is always the same.

To Reproduce

test_obstacle.zip

Just change the Expand geometry value, compute it and check the debug geometry.

Expected Behaviour

I expected the geometry to be expanded and prevent leakage

Actual Behaviour

The collider geometry is always the same.

Screenshots

example

rlguy commented 2 years ago

Hi Juan,

Thanks for the report! However, the function of the Expand option is not meant to prevent leakage through walls of objects. This option is for expanding objects by a very small amount to prevent gaps when multiple objects are touching, such as with stacked rigid bodies or fractured objects. The option has a soft min/max value of +/- 0.05 Blender units.

Tips for preventing leaks through thin walls can be found here

The resolution will need to be set so that there is sufficient grid coverage of the obstacle walls. The walls need to be at least 1 voxel wide to be recognized on the grid. I usually recommend 2 voxels, which is better for walls that do not align to the grid. For example, the thinnest part of the obstacle is near the rim and a resolution of 180 looks to be sufficient:

image

If it's possible for the scene, I usually just recommend creating a thick walled proxy object for the simulation and use the original object for rendering.

Hope this info helps!

juangea commented 2 years ago

OK, I misunderstood the function, usually I would have go over the thicker version, but this was a broken glass of water and I wasn't able to use a thicker version of the pieces.

The problem with using a higher resolution is that obviously it will need way more power to compute what should have been just a quick preview of the simulation, so a feature like that that can compute the collider voxelization in a smaller grid and the transform it to a bigger grid to be used at lower resolution could be very useful :)

Thanks for clarifying the function, and sorry for the false bug report :)