FLIP Fluids Addon: A liquid fluid simulation tool for Blender

strong solar winds :sun_with_face:

Hello guys,

Concerning the video i posted earlier, there some sticky thing going on there :
(if you watch the video it is more apparent )

Is there any options to look at to resolve this issue? iā€™ve tried different setup with no luck.

What i tried ;
Resolution = both low (500) and high resolution (1000) has the same problem. high resolution Vortex size of 10cm.
Obstacle friction = 0.00 & 0.10
CFL = 5 & 15
Enable Adaptive Time Stepping for Obstacles = ON & OFF
Subdivision = 0 & 1
Ship mesh = I added lots of loop cuts , did not do anything & removed the unnecessary loops cut
Min substep = 1
Max substep = 24

thanks for the support :slight_smile:

Hi, my first guess would be to check for any geometry issues on the obstacle object and ensure that it is manifold/closed/watertight.

The built-in 3D-print Toolbox addon mentioned in that topic can be useful to check for non-manifold parts of the mesh, self-intersections, and overlapping faces which can cause issues within the simulator.

Hello,

Mesh is manifold, i found something particuliar . it seem that the fluid is contained between the detailed area of the obstable SDF (see red lines in photo) . The preview resolution show this better in the video below. Not sure if it is the cause, but it seemed odd.

(close up of the area pointed earlier)

Thanks for the update! This looks like it is caused by an unfortunate side-effect of converting the mesh shape to SDF data within the simulator. Looks like the fluid particles are flowing up the groves of the stair-stepping artifacts causing the undesired sheet of liquid.

For a quick fix I would usually recommend to cover this up by expanding the object for rendering to hide this portion of mesh.

Sometimes this is just caused by ā€˜bad luckā€™ in how the obstacle is aligned to the grid. Moving the domain by a small amount (about ~0.5 voxels) to change up the grid positioning can sometimes fix this, but not always.

2 Likes

Not sure if this is possible, but I was wondering if itā€™s possible to pour a liquid inside something which works as a mould, but allows liquid to pour into it - kind of like using a sphere as a collision object, but with inverted switched on, but with the ability for an inflow that is above it to pour liquid in so that it takes the shape of the mesh. Iā€™m looking at the volume force field, but it doesnā€™t seem to act like a hard barrierā€¦

I think for this situation the simplest solution would be to use the Inverse option, but also add a Inverse spout shape above the mould so that there is space for the inflow to generate fluid above the object. When multiple objects are set to Inverse, the simulator will automatically combine them (similar to a boolean union modifier).

For example, here is an Icosphere and Cylinder object both set as an Inverse obstacle:

2 Likes

I think that works, just got to time making the cylinder funnel and the initial inflow inactive, and potentially adding another inflow inside if I need to completely fill any gaps left.

WIP
I took my chance , with a still image , at merging an ocean generated displacement map with the flip fluid addon. For eventually , making an animated sequence.

Key scene info
Ocean Surface : Shader node : displacement map generated by the ocean modifier (Youtube tutorial : Dylan neill)
FLIP surface : Lattice (Twitter : francis jasmin) , Shader node : displacement map (ocean) + edge feather mask
FLIP white water : geometry node : displacement map (ocean)

Now , i am trying to add some mist because i want to hide the edge between the flip and the boat . it seem that the particle system smoke emitter with spray workflow is a bit cumbersome.

Is there anyone who found a reliable way to produce/fake smoke/Mist via the geometry node with the spray generated by the FLIP?

Feedback ;

  • It would be great if there was a discord/subreddit for the flip fluid addon.

  • Vorticity attribute would be great to Ocean displace only low vorticity region. Steven Knipping do it in a houdini tutorial called : Applied Houdini - Liquids III)

8 Likes

Iā€™m not very experienced with the smoke simulator, so Iā€™m not sure of the best way to do this at the moment. This artist was able to generate smoke from the spray particles using a workaround: https://youtu.be/N_Bx62UX7ME

From the description:

The mist was derived from a smoke simulation from a very short lived particle system emitting from the spray particles.

There is a bug that could possible affect the smoke generation: Mantaflow: emit smoke from particles canā€™t inherit velocity.

Thatā€™s a great tip! Iā€™ve done some quick testing and I think this can work well with geometry nodes.

A vertex group can be added to the simulation objects. This vertex group can then be filled filled in with vorticity attribute data (such as mapping a range from 0.0 to 1.0) and the group can be used as an input to a displacement modifier.

At the moment, vorticity is not exported as an attribute yet. Vorticity data is already built into the simulation calculations, so it will be straightforward to export as an attribute. I am working on a few attribute features during this week and next, so Iā€™ll make sure to add this.

3 Likes

Hi Ryan - now that the point cloud rendering bug is fixed (https://developer.blender.org/rB0928fe8710291c4eec1e62fa06c06fc193252ae4) could you share the template to test point cloud motion blur?

Canā€™t wait to finally get motion blur across the whole sim after all these years! :joy:

Adam

1 Like

The feature is not yet integrated into the addon, but here is the example .blend file and script that was used for testing functionality:

point_cloud_example_script.blend (1.1 MB)

(Open file, run script, playback timeline to generate data, only single frame renders are supported due to limitation of the script)

Weā€™ll have this feature integrated into the FLIP Fluids addon experimental builds for testing by the end of next week. And a few example scenes to demonstrate the setup.

5 Likes

First test with exporting a vorticity attribute! In this test, an inflow emits downwards into a thin slice of liquid.

https://gfycat.com/handyellipticalavocet

The attribute will be able to be accessed in a Cycles shader (or Geometry Nodes) with the name flip_vorticity. Vorticity is a 3D vector, but much of the time you would probably want to convert it to a magnitude with the Vector Math Length node.

Liquid vorticity is the same type of data that the simulator uses to measure turbulence in the whitewater generation feature. The areas with higher vorticity (red/blue) would be where the simulator decides to generate more bubble particles.

7 Likes

Hi Ryan - donā€™t supposed youā€™ve got anything ready for testing on this front yet by any chance? I have a soft drinks project Iā€™ll be working on over the weekend that would be the perfect testing candidate for some nice motion-blurry white water!

(apologies for kind of ā€œasking for a release dateā€ but it would be genuinely wonderful timing if it did so happen to be ready!)

Had planned for today, but ended up being away this week due to illness (nothing serious!). Iā€™ll be back to normal development starting Monday, and these tasks are currently in progress. So Iā€™m hoping for next Friday.

Hi mate - sorry to hear you were ill, but glad youā€™re feeling better!

Look forward to testing this out whenever it is ready!

Adam

Itā€™s coming soon! The FLIP Fluids addon 2021 Customer Reel will be online on February 9th at 7:00am PST.

4 Likes

Finished implementing the export of a velocity attribute (flip_velocity) for whitewater particles. This can be used in a geometry node network for motion blur, or in a Cycles material for shading.

Here, dark particles are moving slower and have less motion blur while the lighter white particles are faster and have more motion blur:

Also implemented the export of a stable ID attribute (flip_id) for whitewater particles. This can be used to randomize attributes in a way that is consistent between frames. For example, in a geometry node network this can be used to randomize particle size, and in a Cycles material this can be used for randomized coloring:

On target for an experimental release containing these feature for Friday the 11th.

8 Likes

The 2021 Customer Reel is now online!

2 Likes

Amazing work mate.

Absolute game changer :exploding_head: :exploding_head:

So excited!