FLIP Fluids Addon: A liquid fluid simulation tool for Blender

Our FLIP Fluids weekly development notes #32 is now posted! Weekly Development Notes #32 – Curve Guided Force Fields.

Weekly Development Notes #32 – Curve Guided Force Fields

Covering the week of September 7th – 11th, 2020.

Hey, this is Ryan with our 32nd development update for the FLIP Fluids liquid simulation addon for Blender! Last week’s development mainly involved completing our curve guided force field feature – a feature that I’ve been very excited about!

FLIP Fluids Experimental v9.0.9.04 is now available

We have updated our Force Field Experimental Builds with a new version: v9.0.9.0 4, which largely consists of the new curve guided force field feature. Check out the documentation and notes on this feature here.

In this example scene, a curve guided force field is used to direct fluid to flow along and spin around a Bézier Curve object.

To help you get started with our new curve guided force field feature, this example scene can be found in the force field experimental build downloads.

Release Notes

version 9.0.9.0 4 (September 16 2020)

  • Added curve guided force field mode.
  • Added options to Fluid/Inflow object to emit fluid from the object’s negative local axis (in addition to the existing positive axis options).
  • Fixed export error that could be triggered by exporting an Empty type object as a force field.
  • Added UI warnings if the type of Blender object is not suitable for the selected force field mode (Ex: using an Empty type object as a Surface Force).
  • Added note to Inflow Enabled tooltip that this option can be disabled to stop fluid emission.
  • Performance improvements in handling FLIP Fluid Obstacle objects.
  • Performance improvements in grid initialization.

What’s Next?

The next force field feature we will be adding is the turbulence force field mode – a force field that randomly directs and propels fluid.

We’ll also be adding a drag force option to most of the force field types. This will work similar to friction, which helps slow down fluid when in contact with an obstacle. Except that the drag option will slow down fluid when inside of a force field. Due to the nature of how the physics of force fields work, fluid under the influence of a force will accelerate (speed up) over time, similar to how an object under the force of gravity will speed up the longer it falls. A drag option will help reduce this amount of acceleration, which may not be desirable in certain effects.

The next experimental update will be available next week (September 23rd) and will largely consist of speed optimizations! Over the last week I have found some areas that can be easily optimized and provide a nice performance boost. In early tests, these optimizations can speed up the simulator by 10% – 15% without sacrificing simulation quality or accuracy.

4 Likes

I sure do appreciate the time and effort you take to do this. Thank you.

That example is worth many a positive comment… Wow. Excellent progress.
Off to play.

1 Like

Thanks for the kind words! The addon has been a pleasure for us to develop!

1 Like

I have known the code for Flip Fluids since before it was an addon for Blender. I even tried to make it compatible with my render engine. That being said, I am very happy with the trajectory this great code has followed. Good job Ryan !!

1 Like

I’ve been using FLIP Fluids for a while and I generally love it, but I also hit a lot of limitations (and these are not exclusive to FLIP Fluids actually).
Mainly I have issues with viscosity and friction. Right now it seems that anything with a high viscosity is sticky by default and will stick even to surfaces with friction set to 0.
How feasible would it be to make those things separate? Let’s say we want to make a simulation of a very thick tar sliding on ice - afaik right now that’s impossible - the fluid will just stick to any surface it touches. If implemented this could also work as a hydrophobic surface - where the fluid doesn’t mesh against the surface and just slides along it.

Another thing I wanted to ask about is the feasibility of an outflow object that doesn’t delete fluid right away, but does it at a certain rate. So this could ‘simulate’ fluid soaking into fabric, wood, sand etc.
I thought about it and I think the way it could be programmed is that it would act as a normal collision object except it would have a random (specified by user) chance to remove a particle every time it interacts with it. That way it would still interact physically with the simulation, but would remove fluid over time.

And while we’re at fabric - how about a semi permeable obstacle - where fluid sticks to it because of surface tension, but is able to pass through it like through a sieve?

Now back to viscosity a bit - I’ve noticed that for very viscous fluid it seems that touching any obstacle makes the fluid collapse and flow as if the viscosity is greatly lowered - is that even fixable?
Edit: It seems someone else also had a similar issue - the one with the cupcake and melting cream. For them the fluid melts against the cupcake, but doesn’t against the domain, but I also experienced the fluid melting against the domain itself.

FLIP Fluids Addon Mini Development Update

Hey, this is Ryan with just a mini development update today. I’ve been recovering from an illness (not life threatening) lately and haven’t been able to work to full capacity. I’m pretty far into an antibiotic treatment to fix some GI issues and it has been wreaking havoc on my stomach and ability to think clearly and focus on the more difficult parts of simulation! It shouldn’t be much longer until I’ve recovered.

For this week I have been working on some more simple tasks: creating scripts to automate some of our business processes so that we have more time for the important things! But mostly to reduce the tedium of some tasks.

The next update will be pushed back to next week, which includes some nice performance improvements that can speed up the simulator by 10% - 15%. In a recent test

1 Like

Just letting you know that I haven’t forgot about this message! I’ll be able to get back to you in the next few days.

Thanks! Take care of yourself!

1 Like

Indeed. Be well soon.

1 Like

Thanks for the feedback and suggestions!

In fluid simulation, these two topics of how the fluid interacts with objects (or domain walls) are known as ‘Boundary Conditions’. Boundary conditions are what make the fluid simulation interesting, because without them, the fluid just keeps on moving forward and doesn’t do much of anything (Newtons 1st law: object in motion stays in motion).

Boundary conditions in fluid simulation are also complicated and difficult to get right! We are using boundary conditions that are a part of existing simulation methods, such as the FLIP method and viscosity method (Accurate Viscous Free Surfaces for Buckling, Coiling, and Rotating Liquids). We are not computer graphics researchers and do not have experience in creating new methods, we are just implementing existing methods.

Personally, I find modifying the existing boundary conditions very complex and is outside of my area of knowledge, especially modifying the boundary conditions of the implemented viscosity method. I am sorry to say that it will be unlikely that we will be able to modify the simulation methods to handle frictionless viscosity for this method. Swapping out the simulation methods for more advanced methods with different boundary conditions is likely outside of the scope of this project.

I think this is something we could take into account in the future. We would likely implement this as a property of the Obstacle type object.

This is likely the cause of the viscosity solver becoming unstable. The viscosity solver is given a limited amount of ‘processing time’ or ‘attempts’ to find the right solutions. After a specified number of attempts, the solver will give up and disregard viscosity for the timestep/frame. It is often okay for the solver to fail for a single timestep, but if several consecutive timesteps fail, this can lead to what you describe.

The fix for this is to increase the minimum number of timesteps in the FLIP Fluid Advanced panel. This decreases the amount of time between timesteps and puts less stress on the solver, which helps it run more stable.

Tip: if you open the Blender System Console window (Blender > Window > Toggle System Console) while the simulation is running, or check the simulation log files (cache_director/logs), you can check how the viscosity solver is running:

solver_iterations

If the viscosity solver iterations number reaches 700, this can indicate that it is failing or is very close to failing. If it has truly failed, there will be a FAILED message underneath.

Hope this helps explain the situation!

Small update on this: I’ve recovered very well and the next update is on schedule for Wednesday! Thanks for the patience and kind words!

3 Likes

Weekly Development Notes #33 – Simple Performance Optimizations

Covering the week of September 21st – 25th, 2020.

I’m back with our 33rd development update for the FLIP Fluids liquid simulation addon for Blender! There was no update last week as I had to take some time off to recover from an illness. I’m fully recovered now and am feeling great!

Lately I have noticed some areas in the simulator where I could make some simple modifications to improve performance, and after some testing, these changes turned out to have a larger impact on speed than I had thought! And that is what I’ll cover in this post.

Simple Performance Optimizations

I noticed there were some areas in the simulator, that with a few small modifications, could benefit performance. These changes mainly involved how memory is accessed and how memory is copied and moved around in the simulator. After a week of simulation compute time testing different simulation features, it looks like these simple changes provide a 10% – 15% boost in performance for medium to large simulations.

Removing Memory Safety Checks

One of that changes was to remove some of our ‘memory safety checks’ from the simulation engine. When our simulator accesses memory on the grid, we had put some checks in place to make sure the memory region being accessed was correct and valid. If an area of memory being accessed was not valid, an ‘Index Out of Range’ error was generated, which users could report to us.

These memory checks were very useful to us during the FLIP Fluids Beta over two years ago as it let us easily debug issues related to out-of-bounds memory errors. But now that our simulation engine has matured, these memory error bugs are much more rare. I can only recall one report over the last 9 months of this type of error, and this was caused by a bug that has been hiding in the simulator for over 3 years.

Toggling Memory Safety Checks On/Off

These memory checking features are still useful to us. Bugs like this can still happen and we mostly catch them during our internal testing and development. Since memory checks are still useful to us, we will now be distributing two versions of the simulation engine with the addon: a fast release version without memory checks, and a slightly slower debug version of the engine that can report memory errors. The debug or release version engine can be toggled in the addon preferences.

Although the changes were simple, this now complicates building the addon for distribution a bit. We now need to distribute and test 6 versions of the simulation engine with the addon. Two engines for each supported OS: Windows, MacOS, and Linux. To work around these complications, I spent some time last week creating some scripts to automate the process of building and testing the addon for each OS. This helps remove any human error during building and testing.

Performance Results

Here’s the results of a test between the debug version of the engine (formerly the engine used in versions older than 9.0.9.05) and the new release engine with memory checks removed and a few other optimizations.

This test was a relatively heavy simulation that stresses the simulator: 350x350x350 resolution, mesh subdivisions set at 1, a high poly dynamic obstacle, and a peak number of 56 million fluid particles.

Overall, the release version of the engine runs about 12.7% faster in this simulation! Saving almost 1.5 hours on this bake is a nice boost!

Sidenote: rendering the above simulation pushed my system to it’s limit! The largest frame contained a fluid surface mesh with 21M vertices and 42M triangles, requiring a mesh files size of 722 MB. I had to close all applications and render on the CPU from the command line in order not to run out of my 32GB of RAM during the Cycles BVH building stage of the render.

Here’s a breakdown of the timing result by calculation category (times are in HH:MM:SS):

Timing Category Version 9.0.9.04 Version 9.0.9.05 Speedup %
Mesh Generation 02:10:50 2:03:55 +5.3%
Velocity Advection 01:36:43 1:32:19 +4.5%
Fluid Particles 03:32:32 2:50:54 +19.6%
Pressure Solver 02:38:23 2:22:53 +9.8%
Simulation Objects 01:06:10 00:53:02 +19.8%
Other 00:14:20 00:09:35 +33.1%
Total 11:19:00 09:52:40 +12.7%

Force Field Experimental Version 9.0.9.05

Want to try out the latest optimizations? These performance improvements have been added to our Force Field Experimental Builds Package in the latest version!

Release Notes v9.0.9.05

Release notes for other versions can be found here.

  • Added optimizations that can speed up simulation baking for medium to large simulations by 10% – 15%
  • Addon now includes two versions of the fluid simulation engine that can be switched in the addon preferences menu. Notes:
    • Engine Debug Mode enabled: uses a debugging version of the simulation that can generate error messages after a simulation crash, but runs slightly slower
      • This is the version of the simulation engine used in versions older than v9.0.9.05
    • Engine Debug Mode disabled: includes performance optimizations, but is unable to generate error messages after a simulation crash
      • If you are experiencing a persistent simulation crash, switch to the debugging engine and resume/re-run simulation to check for error messages
    • Running the debug engine or normal engine will not affect the results of the simulation
  • Addon can now be built/compiled using a Python script (build.py) rather than running CMake and GNU Make directly. The new Python script automates building both versions of the fluid simulation engine.
  • Addon packaging and distribution for Windows/MacOS/Linux is now automated to reduce issues related to human-error
  • Fixed potential crash that can be triggered when using Surface, Volume, or Curve Guided force fields
  • Default value change: FLIP Fluid Simulation -> Update Settings on Resume is now enabled by default
  • Default value change: FLIP Fluid Surface -> Subdivisions is now set to 1 by default
    • Note: this produces a more desirable mesh with less artifacts and issues, but takes some extra time to compute. If you want to maximize baking speed during testing, set this value to 0
  • New Documentation: FLIP Fluids Helper Menu
  • New Documentation: FLIP Fluids Preferences Menu
  • New Documentation: Current Status of the Preset System
6 Likes

Yeah that’s okay, I suspected this wasn’t an easy fix.

That would be awesome! More options means more possibilities to create cool stuff so it’s always welcome!

Thanks! I’ll try that.

Happy to hear that, keep up the good work and take care of yourself!

1 Like

Covering the week of September 28th – October 2nd, 2020.

Hello and welcome to our 34th development update for the FLIP Fluids liquid simulation addon for Blender! Over the last week I have decided to finally get around to adding some requested workflow features. Some that have been on the backlog for quite some time now and in this post I’ll detail these new features.

Most of these workflow features have been added to the FLIP Fluids Helper Menu. If you haven’t used this section of the FLIP Fluids addon before, this menu can be found in Blender’s Toolbox menu in the 3D viewport, which can be expanded with the hotkey N.

‘Smart‘ Domain Creation Operator

We have added an operator to the FLIP Fluids Helper Menu to help you quickly generate a domain object for your simulation (Documentation).

The Create Domain operator will generate a domain object depending on the context of what objects are selected and what type of objects are contains in your scene. Here are the specific details for how this operator will generate your domain:

  • When no objects are selected:
    • If there are FLIP Fluid objects in your scene, a new domain object will be created to contain all of these objects
    • If there are no FLIP Fluid objects in your scene, a new empty domain will be created
  • When one object is selected:
    • If the object is already set as a FLIP Fluid object type, a new domain object will be created to contain this object
    • If the selected object is not set as a FLIP Fluid object, and this object is a valid domain shape (Cube/Rectangle, aligned to X/Y/Z axis), this object will be converted into a domain object
    • If the selected object is not a valid domain shape, this object will be converted into an Inverse Obstacle in wireframe mode and a new domain will be created to contain this object
  • When multiple objects are selected:
    • A new domain will be created to contain all selected objects
  • More Notes:
    • This operator will only be available if there is no domain object set in the .blend file
    • When objects are selected, this operator will only consider objects that possible to use as a simulation object (Mesh, Empty, or Curve type objects). A camera or light source type object would not be considered a valid simulation type object and would be ignored, for example.
    • Helpful feature: If there are FLIP Fluid objects present in your scene that are too small to show up on the simulation grid (See this topic), the domain resolution will be automatically increased so that the smallest object will have enough grid coverage.
      • This is just a simple method that uses the object’s bounding box and works best on basic geometry (ex: icospheres, cubes). This feature may not work as well for more complex geometry and is unable to detect thin-walled objects in many cases.

Outliner Organization Operators

We have added a set of operators to the FLIP Fluid Helper Menu to help you organize your FLIP Fluid objects in separate collections (Documentation).

  • The FLIP Objects to Collections operator will organize all FLIP Fluid simulation objects into separate collections based on the object type.
  • The Unlink FLIP Object Collections will unlink all FLIP Fluid simulation objects from their organized collections and place them into a flat list within the default FLIPFluid collection. This operator will not delete any objects.
  • There are also similar operators for the simulation surface and whitewater meshes. Separating the simulation mesh objects into collections can be useful for quickly setting up view and render layers!

Select FLIP Fluid Objects by Type

We have added a set of operators to the FLIP Fluids Helper Menu to quickly select all FLIP Fluid simulation objects by type (Obstacle/Fluid/Inflow/Outflow/Force) (Documentation).

helper_select_objects

If you have a large simulation or a heavy scene, the viewport can become laggy and responsiveness of selecting objects in your scene can suffer. These operators will select these common objects faster than selecting by hand in the viewport. Being able to select the simulation meshes quickly will be helpful for setting materials, for example.

Link Existing Exported Geometry Data to Cache

This is a feature for power users! (Documentation)

When you start a FLIP Fluids simulation, the first stage of the baking process is to export all of your scene geometry data into a format that the simulation engine understands. If you have complex animations and a large amount of geometry, this can be a lengthy process.

We have added functionality to the FLIP Fluid Cache Panel to link the exported geometry data from another cache. By using this in combination with our Skip Re-export feature, you can save time by avoiding re-exporting data that already exists in another cache.

cache_link_geometry_data

Select an existing cache directory. If a directory is set, the addon will link exported geometry data from another cache directory.

Use this feature if you want to re-use exported geometry data from another cache. Useful if you have a lot of animated geometry data in your scene that you do not want to re-export. Useful for if you have multiple simulation caches from the same scene for testing different simulation settings.

Force Field Experimental Version 9.0.9.06

Want to try out these new features? Theses workflow features have been added to our Force Field Experimental Builds Package in the latest version!

Release Notes v9.0.9.05

Release notes for other versions can be found here.

  • This version mainly consists of requested features to help with your simulation workflow
  • Added functionality to link exported geometry data from another cache directory in FLIP Fluid Cache panel (Documentation).
    • Use if you want to re-use exported geometry data that is located in another cache directory.
    • Useful if you have a lot of animated geometry data in your scene that you do not want to re-export.
    • Useful for if you have multiple caches from the same scene for testing different simulation settings.
  • Added ‘Create Domain’ operator to FLIP Fluids Helper Menu to generate a domain depending on the context of what type of objects are selected and in your scene (Documentation).
  • Added operators to FLIP Fluids Helper Menu to help organize your simulation objects in the Blender Outliner (Documentation).
    • Separate your FLIP Fluid objects into collections by type
    • Separate the generated simulation methods into collections (useful for creating view layers)
  • Added operators to FLIP Fluids Helper Menu to select all simulation objects of a certain type (Obstacle/Fluid/Inflow/Outflow/ForceField) (Documentation).
  • New Documentation: Whitewater Rendering Tips.

What’s Coming Up Next

During this week and the next, I’ll be continuing work on our next force field mode: the Turbulence Force Field. There may not be a new experimental release next week as this is a bit of a complex feature which may take more than a week’s worth of work to complete and merge into our force fields branch. It’ll also be a short development week since I’ll be away during Friday to Monday for Canadian Thanksgiving!

Four Years of FLIP Fluids Development

It has now been four years since we had teamed up and started creating the FLIP Fluids addon back in October 2016! And prior to beginning the addon, the simulation engine began development in January 2015. It feels like time has really flown by. We had never expected so much success with our software and are very grateful for being able to continue developing our FLIP Fluids addon.

I have found this old compilation of animations showing our progress from the beginning until the official FLIP Fluids release in May 2018:

6 Likes

A question that probably has an obvious answer I’ve missed - is there a setting to make it so fluids pass through the walls of the domain rather than colliding with it?

Hi, all simulated fluid must be contained inside of the domain and the simulator is not able to simulate fluid outside of the domain bounds. At the moment we don’t have a setting to make the domain boundary ‘open’ and have the fluid be removed instead of colliding with the domain walls. A workaround is to add Outflow type objects to the side of the domain to remove fluid.

Hope this helps!

1 Like

The outflow workaround should do the trick when I need it! Thanks!

Note: I have removed a direct link to our blog post as we are working on getting a security certificate error resolved. We’ll be posting this update on our social media channels as usual once this issue is resolved.

Weekly Development Notes #35 – Override Frame Feature And Bug Fixes

Covering the week of October 5th – October 9th, 2020.

Hello! It’s our 35th development update for the FLIP Fluids liquid simulation addon for Blender! Just a small update as it was a short development week. I was away for a four day weekend during Canadian Thanksgiving.

I didn’t expect on having enough changes in the addon this week to warrant a new experimental release ready for this week, but I ended up finding some time to add a small, but well-needed and convenient Override Frame feature to the addon.

Override Frame

This has been a common request. When importing an Alembic cache into Blender, the modifier has an Override Frame setting that allows the user to set or keyframe the current loaded frame of the Alembic cache (screenshot). This would be a useful setting to add to the FLIP Fluids Helper Menu.

We have had users ask how to create an animations like these:

  • Playback the simulation normally, then freeze frames while the camera rotates around the fluid, and then resume playback normally.
  • Playback the simulation in reverse.
  • Playback only every second or third frame for a claymation/stopmotion type effect.

At the moment, the workaround to render an animation like this is to export the simulation to Alembic and then keyframe the override frame setting. Another workaround is to render out multiple animation sequences and stich them together for the complete animation. These workarounds are both inconvenient.

Last week I had a chance to implement an Override Frame feature for the FLIP Fluids Helper Menu (Documentation) and this can be tested in today’s experimental release (v9.0.9.07):

override_frame_implementation

Some settings in the Helper Menu have been re-arranged and there is now an option to select different playback modes

  • Timeline: The default, just loads the simulation according to the current timeline frame.
  • Override Frame: Set a custom frame value for which simulation frame is loaded. This value can be keyframed for complex control over animation playback, and is also compatible with Blender’s driver features.
    • There is also an operator to automatically set the interpolation mode in the graph editor to Linear
  • Hold Frame: Works the same as how the hold frame feature worked before: hold a single frame in place regardless of timeline position. Useful for when you only need to render a single frame.

Force Field Experimental Version 9.0.9.07

Want to try out new features and bug fixes? Theses changes have been added to our Force Field Experimental Builds Package in the latest version!

Release Notes v9.0.9.07

Release notes for other versions can be found here.

  • A minor update that mainly consists of an Override Frame feature similar to Blender’s Alembic Mesh Cache setting and some bug fixes.
  • Added Override Frame settings to FLIP Fluids Helper Menu that works similar to the setting of the same name in Blender’s Alembic Cache modifier.
    • TIP: Keyframing the override frame number can allow for complex control over simulation playback (ex: start/stop freeze frames, reverse animation)
    • The addition of this feature caused some settings to be re-arranged in the Helper Menu and some settings have moved into a separate Simulation Playback submenu (Documentation).
  • The FLIP Meshes to Collections operator in the Helper Menu now groups all of the whitewater meshes into a single WHITEWATER collection instead of separating them each into separate collections.
  • Bug Fix: Fixed error that could be triggered when using the FLIP Objects to Collections operator in the Helper Menu.
  • Bug Fix: Fixed potential crash issues that could be triggered when using Blender’s Undo (Ctrl+Z) after using the Create Domain operator in the Helper Menu.

Featured Artwork

I saw some beautiful animations over the last week that I wanted to share! Post on our Facebook Page, or tag us @FLIPFluids on Twitter or @flip.fluids on Instagram for a chance to be featured.

Re-imagining the App Store icon – created by Jonathan Nash

@offshootuk on Twitter | @offshoot.3d on Instagram

offshootuk_feature

Viscous liquid over FIB-SEM mitochondria imaging data – created by Peter I.

@pitvandyck on Twitter

pitvandyck_feature

FLIPFluids waterfall – created by cgDroid

@cgdroid65 on Instagram | cgDroid on YouTube

cgdroid_feature

Cute fluid test – created by arc4g

@arc4g on Instagram | @arc4g on Twitter | Join the discussion on Reddit

arc4g_feature

4 Likes

3 Likes

Weekly Development Notes #36 – UI Organization And Noise Generation

Covering the week of October 12th – October 16th, 2020.

Hey, it’s our 36th development update for the FLIP Fluids liquid simulation addon for Blender!

Last week’s development mainly involved learning and implementing some 3D noise generation techniques as port of an in-progress turbulence force feature. I had also found some time to organize, cleanup, and fix some bugs related to the addon UI – many from user feedback and testing, thanks!

3D Noise Generation

Procedural noise generation is something I’ve had little experience with in the past, but I’m finding these Unity + C# resources from Catlike Coding excellent for learning and understanding some techniques:

We need to develop some noise generation methods directly within our FLIP Fluids simulation engine in order to efficiently generate noise data to drive an in-progress turbulence force field feature. We’re developing our own methods because as an addon, we do not have access to the data of Blender’s noise generation features. And even if we did have access to the data, exporting and sending the data to our simulator would require long export times and large file sizes. By implementing our own methods, all we have to do is export a few parameters – just a small set of numbers – from the addon to the simulator and the engine will do all of the hard work of generating the data.

Here is a visualization of 3D Perlin Noise generated by our simulator! I’ve been importing the data into Blender to help debug and visualize the noise. In this animation, a 2D plane slices through a 3D grid of noise data. The intensity of the noise is visualized on the slice by displacing the plane like a height-map.

Next up I’ll be implementing more noise techniques extending these generators to 4D so that the 3D noise can be animated to evolve smoothly over time.

Force Field Experimental Version 9.0.9.08

This new experimental version update does not have any changes related to our in-progress force fields feature set, but includes many small changes to the UI including organization, bug fixes, and small features – many requested by testers!

Want to try out these change? They can be tested in our Force Field Experimental Builds Package in the latest version!

Release Notes v9.0.9.08

Release notes for other versions can be found here.

  • Update mainly consists of changes to the UI including bug fixes, organization, and small workflow features.
  • Blender Market product downloads have been renamed to use more consistent naming format that includes the date that the file was last updated (See FLIP Fluids Downloads).
  • Added a README.html file to the Blender Market product downloads that contains info and links for how to get started with the addon.
  • Added Force Re-Export On Next Bake feature for FLIP Fluid/Obstacle/Inflow/Outflow/ForceField objects. Notes:
    • When enabled, this option will force the addon to re-export the object’s mesh data the next time that the user bakes or resumes the simulation.
    • This option overrides the Skip Re-Export option.
    • After the object has been re-exported, the force export option will be automatically disabled.
    • This option is only applicable if the _Skip Re-Export option is enabled.
    • Useful for if you have a complex animation or object with a lot of geometry with the Skip Re-Export option enabled to save time during export. Use this option if you make an update to your mesh and want to easily mark the object to update the next time you bake/resume the simulation.

force_reexport_option

  • FLIP Fluids Helper Menu organization and cleanup – many changes based on user feedback, thanks!
    • Submenus can now be collapsed/expanded.
    • Renamed submenus and rearranged operators within submenus.
    • Check For Updates operator has been removed from the Helper Menu and is now only available in the FLIP Fluids Preferences Menu.
    • Bake Simulation submenu now includes the current cache directory.
    • Added prompt/warning to Bake Simulation submenu to warn that the .blend file has not been saved. Includes operator to open the save file menu.
      • Note: it is not required to save the .blend file in order to run a simulation, but some addon features were designed to work better if the file is saved.


unsaved_file_warning

  • FLIP Fluid Simulation > Settings and Mesh Export submenu organization and cleanup.
    • Submenu can now be expanded/collapsed.
    • Object list can now be filtered to display objects by motion type: Static, Keyframed, Animated, or all objects.
    • Added the new Force Re-Export On Next Bake option to be displayed in the list.
    • Added operators to Enabled or Disable Skip Re-Export or Force Re-Export On Next Bake_ options for all objects in list.

  • The Enable Stable Rendering operator now toggles to Disable Stable Rendering if enabled, as a quick way to undo the operator (Blender 2.8+ only).
  • Obstacle Friction list in FLIP Fluid World panel can now be expanded/collapsed.
  • Default name of the domain object has been renamed to FLIP Domain when using the Create Domain operator.
  • Whitewater Wavecrest/Turbulence/Dust Emission Rate settings have been renamed to Max Wavecrest/Turbulence/Dust Emission Rate as better descriptions for the settings.
  • Bug Fix: Fixed error that could be triggered if the Organize Outliner operators were used without a Domain object in the the scene.
  • Bug Fix: Fixed bug where stray FLIP Fluid objects could remain behind after using the FLIP Objects to Collections operator.
  • Bug Fix: Fixed bug where toggling render visibility for a FLIP Force Field object would not also toggle Cycles ray visibility.
  • Bug Fix: Fixed bug in Blender versions 2.9+ where toggling a FLIP object’s render visibility would not update the object visibility in the viewport rendered mode.
  • Bug Fix: Fixed bug where command line tools would not be displayed for MacOS/Linix operating systems.
  • Bug Fix: Fixed bug in versions of Blender 2.9+ where newly created Domain objects would not be highlighted after using the Create Domain operator.

Featured Artwork

Post on our Facebook Page, or tag us @FLIPFluids on Twitter or @flip.fluids on Instagram for a chance to be featured!

Viscosity Comparison – Created by Kevin Nolan

@nolankucd on Twitter | Join the discussion on Reddit | Jupyter Notebook

Kevin Nolan is using Blender to create visualizations that help teach fluid mechanics to students as part of their New Dimensions project! You can vote for New Dimensions in the 2020 Media and Learning Awards here.

kevin_nolan_feature

Blender River Simulation + Breakdown – Created by Sebastian Pawlicki

Sebastian Pawlicki on Vimeo

pawlicki_feature

Infomercial – Created by Morten Jensen

@mortenlu.kungfu on Instagram | Morten Lu on YouTube

Wash your hands!

jensen_feature

Is this green enough? – Created by Janine Pauke

@liandi_cgi on Instagram | Liandi CGI – 3D Product Animation

Using the experimental curve guided force field feature!

liandi_cgi_feature

Lyric Video for Royalty – Created By Junsuina Yüri

@junsuinayuri on Instagram |juyuri.com

The Royalty music video can be watched on Visiteur’s YouTube channel!

royalty_feature

1 Like