FLIP Fluids Addon: A liquid fluid simulation tool for Blender

Our FLIP Fluids weekly development notes #17 is now posted! Weekly Development Notes #17 – Organizing The UI And The Blender Market Spring Sale

Weekly Development Notes #17 – Organizing The UI And The Blender Market Spring Sale

Covering the week of April 13th – 17th, 2020.

Hello! It’s our 17th weekly development update for the FLIP Fluids addon for Blender. Last week was a short 4 day work week due to the Easter Monday holiday, but I still managed to get a good amount done! Last week’s development mostly involved reading and brushing up on some simulation concepts, adding some tweaks to the UI, force field optimization, and getting ready for the Blender Market Spring Sale.

With the Blender Market Spring Sale running this week, it’s going to be a busy one, so I’ll be keeping this post short!

Blender Market Spring Sale

The Blender Market 2020 Spring sale begun today and will run from April 20th – 24th During this time the FLIP Fluids addon as well as over a thousand other fantastic products will be 25% off!

What to try out the FLIP Fluids addon? We have a free demo!

Development Notes

  • Customize toolbox sidebar: Added functionality to specify the tab name of the FLIP Fluids toolbox menu. This setting will be found in the addon preferences menu:

  • This functionality was by request to de-clutter the sidebar. If you have many addons installed, this sidebar could contain a lot of tabs. This new functionality also allows you to place the FLIP Fluids tools inside of another panel so that it does not add an extra tab:

  • Display documentation in UI: Added preferences option to display links to relevant documentation topics within the UI (disabled by default). This option will also be toggled in the FLIP Fluids toolbox menu. Clicking on a link will open the topic within your browser:

  • UI Organization: to de-clutter the UI, some settings categories have been placed into collapsible sub-menus. Most of the sub-menus will be closed by default to keep the UI cleaner, but some of the more important sub-menus will be left open by default:

  • UI Organization: Duplicated the whitewater particle object display/render settings from the Display Settings panel into to the Whitewater Panel. One of the most common questions we are asked is how to set the scale of the whitewater particles. The whitewater particle scale can be found in Display Settings panel, and the rational for this is because the particle size is related to display and rendering. To reduce the amount of questions/confusion these settings will also be placed in the Whitewater panel so that they can be found easier.
  • Force Field Optimization: Added functionality to specify the grid resolution of the upcoming force field feature set. Similar to many other areas of the simulator, force field calculations are run on a grid where the resolution controls how many grid cells there are and how details the calculations are. Some force field calculations can be quite intense and take a long time on a high resolution grid. Not all force field setups will require a grid resolution as high as the full simulation resolution in order to accurately capture the details of the field. An optimization option has been added to specify the force field grid resolution as either low (resolution/4), medium (default, resolution/3), high (resolution/2), or ultra (full resolution).
  • New documentation topic: What is the difference between Blender’s Mantaflow fluid simulator and the FLIP Fluids addon? One of the most common question these days!
  • Updated documentation topic: Expanded topic on CPU usage. A common question we receive is why the simulator is often unable to use 100% of the CPU. This topic has expanded and now contains information about what CPUs work best with the FLIP Fluids simulator, strengths and weaknesses of CPU aspects, and caching to SSD vs HDD.
2 Likes

Hi, thank you for the update on FF development’s status. Currently the latest version is 1.0.8a stable, March 5th, 2020. When do you forecast to publish a new version with all the above stuff?

Hi! We plan to release a new version every 3 to 4 months. The next update is planned to be released for July 2020 which will include a large force field feature set as well as everything else mentioned in our development updates.

1 Like

Thank you. :slightly_smiling_face:

FLIP is great, loving the viscosity effects. Quick question, is there any plan to make the previews as rapid as Mantaray’s? I find having to bake with no preview a little bit off putting, fingers crossed I have FLIP set up incorrectly :slight_smile:

Thanks, glad you’re liking the viscosity feature!

Would you be able to expand on what you mean by previewing a bit? It has been a while since I have tested Mantaflow, so I might be misunderstanding something. Are simulation results not loading during simulation baking? Or is baking too slow?

1 Like

Well I noticed that with Mataflow there is a realtime preview being built up as its going along caching the simulation, it’s great as you can just escape out of that if you see something going wrong, but I have not found how to do this with FLIP yet, it’s like i have to blindly bake and then a result is presented. As I said it is probably down to lack of experience with it that has me questioning this.

1 Like

I think he might mean separating particles and mesh baking.

AH! That is probably the hint I needed… Next time I play with FLIP i’ll look into that, it makes total sense. Thanks.

Annotation 2020-04-26 095403

2 Likes

Hi. I am new with Flips, and I am loving it. It is really well done.
I have two questions:

  1. To update the to the last release we need to manually download it or there is any way to update it within Blender?

  2. After baked, will I get keyframes or actions? I would like to be able to move the sim to other part of my timeline. Is that possible ?

Hi, glad to hear you’re enjoying our addon!

  1. You will manually need to download the latest version from the Blender Market and update the addon (Installation Guide). If you had purchased the addon without a Blender Market account, there is an easy way to ad your purchase to a new account: Blender Market Order Finder.

  2. One way to move your baked simulation to another area of your timeline is to set the Playback Offset value in the FLIP Fluids sidebar menu:

    This menu can be opened with the N hotkey in Blender 2.8

    Another method is to export the simulation to the Alembic (.abc) cache format. Imported Alembic caches have settings for setting the offset and also overriding the current frame of the simulation. (Alembic Export Support)

Hope this helps!

Our FLIP Fluids weekly development notes #18 is now posted! Weekly Development Notes #18 – Our Two Year Birthday!.

Weekly Development Notes #18 – Our Two Year Birthday!

Covering the week of April 20th – 24th, 2020.

Hey everyone, this is Ryan with our 18th weekly development update for the FLIP Fluids addon for Blender! I usually update these on Monday, but I am posting this one on Friday because today is a very special day for us. Exactly two years ago, our FLIP Fluids addon launched on the Blender Market!

In this post I’ll be covering last week’s Blender Market sale, Dennis’ latest compositing tests, and the latest development on our upcoming force fields feature! And just letting you know that I’ll be skipping next week’s development update post (covering April 27th – May 1st). It will not be interesting and will mostly involve tax preparation and annual business procedures.

Thank you for an amazing 2 years!

Today on May 1st, marks two years since we released the FLIP Fluids addon on the Blender Market. Before launch, we had never expected our FLIP Fluids simulator to be so well received and loved by the Blender Community. The amount of support from all of you over these years have been incredible and keeps exceeding our expectations. Thanks to the generosity of the Blender Community, we have been able to continue growing and developing the addon for the past 24 months, and it does not look like we will be stopping any time soon!

The FLIP Fluids project has been a life changing experience for the both of us. To be able to work on what we are passionate about has been our dream, and we have truly appreciated all of your support and kind words.

To the Blender Community, the Blender Foundation, CG Cookie & the Blender Market, our families, friends, and many more: thank you for making this all possible.

– Ryan and Dennis, the FLIP Fluids Team

Post Blender Market Spring Sale

Last week was the huge Blender Market 2020 Spring Sale, and it was another successful sale for our FLIP Fluids addon! Although we receive a reduced commission on each sale, being a part of these events is very well worth it for the additional sales volume and traffic. These sales contribute a large amount to our development fund and help us keep running throughout the year.

Due to the increased traffic and new users, sales are usually the busiest times of the year in terms of questions and customer support. Usually the sale’s week and following 1 to 2 week’s of development time are almost all spent on customer support. However, for the first time since release, this sale was the first where time spent on customer support has not been higher than an average development week. I would say that this can be attributed to some recent improvements we have made in the FLIP Fluids project that make it easier for new users to avoid problems and find information:

  • Improved documentation – In January, many common topics were added to our documentation and wiki. This greatly reduced the amount of time spent on support requests due to making it easier to find information. And for common questions received in support requests, it takes little time to point to relevant documentation topics that were missing before.
  • Improved product page – Recently, we have updated our Blender Market product page to better highlight our workflow features and reasons why to choose our addon over the built-in Blender liquid simulators. During previous sales, many questions were related to these topics and having a better product page has reduced the amount of questions.
  • Improved addon usability – In the latest version of the addon, there was a large focus on fixing usability issues. We fixed some of the most common issues that were confusing or frustrating to new users. This has greatly reduced the amount of troubleshooting and support requests received in the following week after a sale.
  • New tutorials for Blender 2.8 – The FLIP Fluids addon was released before Blender 2.8 and our beginner tutorials were using Blender 2.79. Blender 2.8 made huge changes to the Blender UI and our old beginner tutorials were confusing to those using the current version of Blender. New users have mentioned that our new tutorial series, which focuses on all of the FLIP Fluids settings and how to use them, are very useful to beginners of the addon and to beginners of fluid simulation. This has also reduced the amount of support requests in the week following a sale.

Thanks to these improvements, this has greatly helped reduce the amount of support requests, and this means we can spend more time on development of exciting new features and improvements! Being able to run a sale and simultaneously keep developing the code base has been a huge plus for productivity during this sale.

We’re not sure when the next Blender Market sale will begin, but we always give as much notice as we can for upcoming sales on our Facebook, Twitter, and Instagramaccounts.

Compositing Tests

Dennis has been creating some awesome compositing tests in the last few weeks. In this first test, Suzanne the Blender monkey and a bathtub simulation was composited into real footage with the help of the SynthEyes tracking software.

https://gfycat.com/brilliantpointlesskite

Now check out Dennis’ second test: A smaller FLIP Fluids simulation composited into a large lake (Rursee, Germany). The fluid simulation only took 2h30m to run, amazing! 3D tracking using SynthEyes, Davinci Resolve for compositing and grading, and footage shot with a Mavic Zoom drone. Check out the animation and breakdown here:

Signed Distance Fields

The last few weeks of development have largely involved reading and testing different methods for generating signed distance fields.

  • What is a signed distance field (SDF)? A SDF is a very important type of data in our FLIP Fluids simulator for representing volumes. All of our fluid, inflow, outflow, obstacle objects, as well as the fluid surface are represented by SDF data. A SDF is a function that takes a 3D point (such as a point in the fluid Domain), and outputs the distance to the closest point on the volume’s surface. Many SDFs use the convention that a negative distance denotes points inside of the volume while positive distances denote points outside of the volume.
  • Why are signed distance fields useful? In our fluid simulator, they are very useful and efficient for collision handling and detection in the physics calculations. Many of the grid calculations are based on SDFs. A very useful property of a SDF is that, from just the distance values, you can easily derive the nearest point on the surface of a volume (Math Gradient operation).

Signed Distance Fields and our force fields feature

For our upcoming force field feature, we need to add some very expensive computations to extend how our SDF calculations work. These calculations are crucial to a few of our highly requested force field features: surface forces that draw fluid towards the normal of a surface, volume forces and suction forces that draw fluid into a volume, and curve guided forces that allow fluid to flow along a curve.

For regular fluid calculations, SDF generation is much simpler because we do not need to calculate the field for the entire domain grid. We only need to compute a narrow band of SDF values that are within a few grid cells of the fluid or object’s volume, and this is relatively quick and efficient to compute accurately.

But for these force field features, we will need to compute an SDF over the entire domain volume, or at least in a thick band around the object volume. If we were to compute the SDF for the entire grid with 100% accuracy, this would take wayyy too long to compute. For this reason, we will need to approximate the SDF field using quick methods in a way that it is accurate enough for our use case.

Approximate SDF vs Accurate SDF

In the past few weeks I have been reading up on and researching different methods for approximating SDFs. The3D Distance Fields: A Survey of Techniques and Applications paper contained some very helpful information and resources for this type of computation.

For next week’s development I will be testing out a few techniques for approximating SDFs to see what is suitable for our force fields feature. In order to test and implement methods efficiently, I spent some time last week generating 100% accurate SDF data for two objects: modified versions of the Suzanne Monkey (3508 triangles) and the Stanford Bunny (6966 triangles). Accurate data for comparison is needed to make sure I am implementing the methods correctly, and to test how far the approximations deviate from the accurate results.

monkey_bunny_models

Here are some timing results at different grid resolutions in cubic domains. Take a look at just how unreasonable it would be to compute 100% accurate data in our simulator!

Resolution Voxels Suzanne Calculation (s) Bunny Calculation (s)
64 262 K 9 18
128 2 M 77 131
196 7.5 M 233 467
256 16.8 M 556 1057
320 32.8 M 1054 2117
384 56.6 M 1757 3490

Image having to wait 58 minutes for a single frame to compute! We’ll definitely need efficient approximations to reduce this time down to seconds for more reasonable simulation times.

In next week’s development, assuming I finish testing the required methods, I’ll post the results and conclusions of my tests for the next update on May 11th!

Have a great weekend!

8 Likes

Thank you for your fast reply. I was just thinking to manipulate the animation stretch it, or shrink it , but maybe with the offset I am fine. So there is no actual keyframe or action after baking the simulation.

Could be nice to be able to move it and manipulate using the NLA editor.

Thank you and the addon is amazing

No problem! If you want to stretch or shrink the animation to a frame range, you will need to export the simulation to an Alembic cache. When re-importing as an Alembic, there is an Override Frame value that can be keyframed and you can edit the animation of this value for custom control over playback.

I have recently added this Override Frame functionality in the addon so that will be easier in the future.

3 Likes

Thank you ! I will explore the alembic option!

Hi! I am doing some projects at work simulating real elements of showers and sinks water flow.

So far everything worked smooth.
I am doing a shower and I can not make my inflow work.

As you can see in the screenshot only the big ring/torus is working. The problem is that I need only to simulate the small one “inflow”. The other rings are just there to check if the scale is the problem.

I am not understanding why now does not work, since I did a previous scene with a smaller domain size and a small sphere inflow and worked perfectly. The shower head has many sprinklers and though to make a few concentric torus in order to simulate the different inflows. I will try now with tiny spheres.

Also I am wondering if I can make the water only splash against the floor of my shower space. From the screenshot you can appreciate the inflow seems to fill the domain as a cubicle …maybe adding an outflow on the flow…but then I will loose the splashes.

Thank you and great job!

Hi! See this topic for an explanation and how to resolve this type of issue: Scene Troubleshooting: Small inflow not emitting fluid.

This is quite a common problem I see in fluid simulation. This is an issue common to grid-based simulations, so the above topic will also apply to the older Blender Elbeem simulator and the new Mantaflow simulator as well.

If I am understanding this correctly, it may help to add an outflow to the walls of the domain. Placing the outflow above the floor will allow water to pool on the floor and splash, but above a certain height the water will be removed by the outflow against the walls:

outflow_boundary

Hope this helps!

cool compositing tests! I think the second one has a really convincing scale feeling when I look at the overall movement of the water, but I think I would expect much more white water and sprays and overall “mess” from such a big object moving in water. :slight_smile:

1 Like

“Fast Fluid Simulations with Sparse Volumes on the GPU”