FLIP Fluids Addon: A liquid fluid simulation tool for Blender

Experimented with exporting a flip_lifetime attribute for whitewater particles. This value is a countdown timer where when the value reaches 0.0, the particle is removed from the whitewater simulation.

An interesting way to use this attribute is to scale down the particle before it despawns:

I could see this also being useful in a shader for fading out particles.

This is the example geometry node network with values set to start scaling down the particle in its last two seconds of life:

8 Likes

That’s really awesome. Do you think you could fake separation particles to create the foam type patterns you see in ocean water?

I think most of this type of feature would need to be mostly implemented within the simulator, but geometry nodes may be useful for generating useful data to be fed into the simulator.

1 Like

It’s will be interesting to see the more features we get with geometry and soon physics nodes that can be used with flip fluids. A feature like variable viscosity to create cooling lava effects etc.

The first experimental build of the year is now available, FLIP Fluids v9.2.2!

Release Notes

  • version 9.2.2 (Feb 11 2022)
    • This is the first experimental build since FLIP Fluids Stable 1.2.1 and mainly adds attribute functionality for whitewater particles.
      • An installation of Blender 3.1 dated February 3rd 2022 or later is required to use these features.
      • If using both stable and experimental versions, we recommend creating separate saves for .blend files between these versions.
      • We recommend saving very frequently when working with attributes. There may be bugs that can cause crashes during attribute set up that we will need to report to the developers.
      • Due to a bug that can cause frequent render crashes when using attributes (T88811), rendering from the command line will be necessary when using attribute features.
    • Added: Whitewater attributes using Blender 3.1’s new pointcloud object type. These options can be found in the FLIP Fluid Whitewater panel.
      • Added functionality to export a 3D velocity vector attribute for whitewater particles as flip_velocity.
      • Added functionality to export an integer stable ID attribute for whitewater particles as flip_id.
      • Added functionality to export a float lifetime attribute for whitewater particles as flip_lifetime.
      • Added example files to experimental builds package to demonstrate how to use these features.
        • 0_whitewater-basic_pointcloud.blend - How to convert whitewater to a pointcloud object type.
        • 1_surface_and_whitewater-basic_motion_blur.blend - How to set up basic motion blur on both the fluid surface and whitewater particles.
        • 2_whitewater-velocity_attribute_shader.blend - How to shade whitewater particles based on velocity.
        • 3_whitewater-id_attribute_random_particle_size.blend - How to use the stable ID attribute to randomize whitewater particle size and color.
        • 4_whitewater-lifetime_attribute_based_particle_size.blend - How to use the lifetime attribute to scale down whitewater particles before they are despawned.
    • Added: Functionality to export a vorticity attribute for the fluid surface.
      • The attribute is a 3D vector type and can be accessed with the name flip_vorticity
      • Vorticity is a measure of local speed at which the liquid is rotating.
    • Added: Operator to FLIP Fluids Helper menu to automatically set up motion blur rendering. This operator can be found in the sidebar under the Geometry Nodes Tools submenu.
      • This operator will set up everything needed for motion blur rendering and will check that the render engine is set to Cycles, that Cycles motion blur rendering is enabled, that necessary FLIP Fluids attributes are enabled, will initialize basic geometry node set ups on the fluid surface and whitewater (if enabled), and will check that the simulation mesh objects have motion blur rendering enabled.
      • The operator will also display what changes were made to the .blend file in the Blender System Console window.
      • This operator is best used before baking a simulation, as the attribute data may need to be baked.
    • Added: Functionality for the user to rename the addon folder from the default flip_fluids_addon name in the Blender addons directory.
      • For advanced installation only. Can result in errors or incorrect behavior if misused.
      • To enable this functionality, the user must enable the Allow Addon Directory Renaming option in the FLIP Fluids Preferences menu.
      • Directory name must not include special characters, including periods (’.’).
      • Can be used to install multiple versions of the FLIP Fluids addon alongside each other.
        • It is very important that only one version of the addon is ever enabled at any time, or errors and incorrect behavior can result.
        • To switch between versions, first disable the current version, enable the desired version, and either restart Blender or reload the .blend file.
    • Bug Fix: File permission errors will now be displayed in a a popup message with user friendly information.
    • Bug Fix: Added error popup that prevents user from setting more than one object as a Domain. Note: the user may still be able to add multiple domains if copying/pasting a domain object, but will presented with a popup error upon attempting to bake the simulation.
    • Bug Fix: Fixed issue where simulation meshes would not update on a frame change if a custom whitewater instance object was set to no object.
    • Bug Fix: Possible workaround to Blender issue where copying geometry nodes modifiers can result in a crash.
    • Changes: The FLIP Fluids Preferences > Enable Developer Tools option is now always enabled in experimental builds, regardless of whether this option is set. This means that experimental features will now always be unhidden in experimental versions.
    • Documentation: Added Official Marketplaces of the FLIP Fluids addon page including marketplaces FAQ.

Have a great weekend!

7 Likes

Yes, and yes! 2 features that I and lots of people I’m sure were eagerly waiting for, thanks @RLGUY

1 Like

Been testing out the vorticity attributes to mask the ocean displacement on a low resolution sim. Even if the ocean displacement is small, we still can see that the flip surface is not wobbling like crazy by the ocean. Love it, thanks you for this implementations!

5 Likes

That’s awesome! I have not added a vorticity attribute for the whitewater particles yet - that’s on my todo list.

I’ve just found out that there is an Attribute Smoothing node in the works. This should be able to help smooth out attribute data that tends to flicker, such as vorticity on the surface.

2 Likes

@ArchiCraig great results. Can you tell more about blending flip fluids and ocean modifier process or share simple file?
@RLGUY will ocean simulations be possible near future?

Hello ,
Since it is a bit broad (don’t know where you are at in the process) , and i am out of town (no files at hand). I may only provide some ressources that had guided me ;

Helpful guidance on the github wiki :
Tips-for-Creating-Ship-Simulations

Get started quickly (modifier based) :
How to perfectly blend @FlipFluids with the Ocean modifier[…] (Francis Jasmin)

Creating an Ocean ( one or the other):
Create large scale ocean 1 […] (Dylan Neill)
Create large scale ocean 2 […] (Dylan Neill)

White Water displacement:
Displacement […] Geometry node 101 (Erin dale)

2 Likes

spawning water
Hello~
Am trying out flip fluid to create simple waves. But when using ‘Sheeting’, the fluid just keeps on spawning and gets out of control.

Played with the strength,thickness,scale of individual objects, but no good
Resolution is at 65, other settings remain default as well.

May I please get some help on this issue?

Yay! could work to blend multiple colored fluids together then without wobbling?

2 Likes

My guess would be that the gap that the “pusher” create when coming down is filled by the sheeting. Also, Resolution at this scale should be higher.

In the github wiki : " Using surface tension, sheeting effects, or viscosity […] . These features are not very suitable for large scale simulations and will add a lot of extra simulation time if enabled."

Also : “The sheeting effects feature is an artificial simulation technique that fills in gaps by adding more fluid to the domain. Prolonged use of sheeting in a simulation can result in an increased volume of generated fluid.” Github domain world wiki

1 Like

ArchiCraig’s reply has good info on the issue.

The sheeting effects feature may not be suitable for all types of effects due to the side effect of increasing volume. In general, I would not recommend using this feature for a wave-maker type simulation.

That’s what I’m hoping!

If you are meaning very large scale simulations to mimic large sections of an ocean, this type of effect is not very suitable for a full liquid simulation due to the amount of grid resolution needed to provide enough detail. Relevant topic: What is the simulation grid?

If you mean smaller sections of an ocean where the simulation is guided by the movement of an Ocean Modifier, we do eventually have plans to add this, but it is not yet in our near-future development plans. This is a simulation techniqueI have not yet looked very deep into and at the moment I am not sure of a suitable way implement this.

1 Like

Thanks for the information!

@RLGUY, I mean ocean modifier, same way as Houdini. I’m trying extrude/match fluid mesh using geometry nodes, will see what can I achieve. If FF will not cover this things like blending/mixing simulation volume with displacement ocean, it can’t be so useful. Methods presented in documentation are ineffectiv. Question is how practically we can use FF. Ships, seas are a very common topic. FF generates mesh, but we can’t edit in on particles level and control meshing. I like Your addon very much, but can"t use it in some projects, so I need to transfer data from Houdini to blender.

I remember Realflow had(still has?) an ocean mesh that was more detailed nearer the ship making possible detailed wakes and bow wave.

1 Like

@ArchiCraig Hi! Great idea with masking out displacement with flip_vorticity! Would you like to share the node setup, I dont get it working!