Weekly Development Notes #10 – FLIP Fluids addon v1.0.8 release!

Covering the week of February 24th – 28th, 2020.

Hello! This is Ryan here with our 10th development update for the FLIP Fluids addon. Last week mainly involved preparing the addon for a the new release of FLIP Fluids v1.0.8. The release and this post was a bit delayed due to a hardware failure over the weekend that affected our ability to build the addon for macOS systems, but that has been resolved!

In this post I’ll provide detailed release notes on for this new version as well as what is coming in the next FLIP Fluids version 1.0.9.

FLIP Fluids addon v1.0.8

Version 1.0.8 of the FLIP Fluids addon is now available on the Blender Market. The FLIP Fluids product includes lifetime updates, so there is no need to repurchase if you already own a copy.

Release Notes

FLIP Fluids v1.0.8 is mostly a maintenance update that fixes many reported issues in the addon. Many fixes change small ways in how the addon behaves and prevents potential errors or frustrations from occurring. This is a type of update where if you don’t notice much of a difference, that means we will have done something right!

Changes and Additions

  • New World Scaling Modes: Relative and Absolute – World scaling system has been rewritten to include two modes for setting physical size of domain: Relative mode for proportional world scaling when resizing domain and Absolute mode for specifying an exact length of the domain. (Documentation)
    • Compatibility with older .blend files – Due to this system being rewritten, .blend files created in older versions of FLIP Fluids may have their world scaling attributes rewritten and defaulting to 1 Blender Unit = 1 meter. It will be a good idea to check that the world scaling is correct upon loading an older .blend file. If you had not altered the world scaling in your .blend file, you will not need to change anything.
  • Options to set Start/End timing values in the FLIP Fluid Simulation panel have been removed – Timing is now set by using either the scene frame rate or by specifying a custom frame rate. The Start/Time values were confusing to users and not intuitive for adjusting timing of the simulation. These values were only included to be consistent with how the internal Elbeem simulator timing worked. Now that Mantaflow has removed this system, it is a good time for us as well. Setting frame rate is much easier.
    • Compatibility with older .blend files – Due to this system being rewritten, .blend files created in older version of FLIP Fluids may have their frame rate attributes rewritten and defaulting to the scene frame rate. If will be a good idea to check that the frame rate is correct upon loading an older .blend file.
  • Added operators for copying command line baking/rendering commands to clipboard (Windows Only) – Due to bugs/conflicts in other addons or a security feature of Windows, it’s possible that the operators that automatically launch command line baking/rendering could not be run. Additional operators have been added that copy the commands to your clipboard so that you can manually paste them into Windows CMD to start a command line bake/render.
  • Operator that automatically launches command line render no longer requires a FLIP Fluids Domain in the scene (Windows Only) – There was a limitation in the UI where this operator was blocked when not using the FLIP Fluids addon. We have removed this limitation so that you can still use the operator to render your scenes without a FLIP Fluids simulation.
  • Removed unsafe cache operators from UI – The move/copy operators in the FLIP Fluid Cache panel have been removed. These operators could cause potential dataloss/corruption of the cache if Blender happens to crash while modifying files. It would be much safer for the user to manually move/copy their cache using their filesystem.
  • Removed the Compute Chunks setting (automatic/manual) from the FLIP Fluids surface panel – This was originally for debugging purposes when developing the mesh generator, but now is no longer needed. The user should not have to be concerned about this option, so it is now hidden from the UI.
  • Particle Scale will be displayed in red if the value is set to less than 1.0 – Mesh artifacts can occur if this value is set to less than 1.0, but in some use cases it is still okay to use these values. This change is to prevent a common issue we receive in support where a user has set this value less than 1.0. The goal for this UI change is to alert the user and guide the user towards the tooltip or documentation which explains the issue.
  • Gravity mode (Scene or Custom) in the FLIP Fluid World panel has been changed to a horizontal selector – rather than a vertical drop down menu to be consistent with other UI elements.
  • Removed optimization and performance settings from FLIP Fluid Advanced panel – These settings were generally used for testing decreased memory usage at the cost of an increased simulation time. At this point in development, they are no longer considered useful and no longer reduce memory by a significant amount.

Bug Fixes

  • Fixed: Issue where velocities could be ignored on deformable meshes – This issue may have resulted in deformable animated meshes not interacting with fluid correctly. Details in issue #485.
  • Fixed: Issue where velocities of animated objects would be ignored if an inverse obstacle was present in the scene – This would cause animated objects to not interact with fluid correctly.
  • Fixed: Issue that would cause mesh geometry not to export correctly if the Hide from Viewports object option (monitor icon in outliner) is used – This could cause unexpected mesh geometry in this simulator. This is caused by a limitation of how Blender exports object meshes. A workaround has been added to automatically enable the option during export so that the mesh geometry is correct within the simulation.
  • Potential fix for 1st frame not rendering whitewater particles – There is a design issue in Blender that can cause crashes and random odd behavior in addons that update the scene on a frame change. This is the reason why the Blender interface should be locked in order to fully prevent render crashes. A side effect of this issue is that it can cause whitewater particles not to render on the first frame of an animation, but we may have found a workaround that has been added to the addon. Please let us know if this issue still persists.
  • Fixed: Issue where edge split modifiers would not be ignored during mesh export – Edge split modifiers split edges which cause non-manifold geometry. It is desirable to never process this modifier when the addon exports object geometry. There was a regression during the FLIP Fluids update to Blender 2.8 that would cause this modifier not to be ignored.
  • Fixed: Incorrect default fluid_surface mesh type for OctaneRender – The fluid_surface mesh type defaulted to the wrong type in OctaneRender for Blender which would cause server crashes. The default type has been corrected from Global to Reshapable Proxy. This fix will only affect new scenes. For scenes created in v1.0.7, update the mesh type manually.
  • Fixed: Issue where the fluid_surface object could become unrecoverable if deleted within the viewport – Details in issue #483.
  • Fixed: Issue where OpenGL point size for particle debugging could not be set in Blender 2.8 – Details in issue #484.
  • Fixed: Issue where special filesystem characters could not be used in object name – Using special characters or names reserved for your OS filesystem would result in an error. These characters and names are now supported. Details in issue #462.
  • Fixed: Potential errors if simulation contained over 120 million particles – This error is related to a limit on how large of a file you could read/write on some systems. This has been fixed by buffering reads/writes for large files/ Details in issue #477.
  • Fixed: Issue where simulation data could become corrupted when running out of storage space – This could result in failures when attempting to resume a simulation. A failsafe has been added so that you will lose at most one frame of simulation data in the case that you run out of storage space during simulation.
  • Fixed: Incorrect frame loading when playback offset set to -1 or 1 – Details in issue #488.
  • Fixed: Compositing uses the wrong cached frame during render – A bug that could cause the loaded FLIP Fluids frame to be switched during render if using the compositor. Details in issue #489.
  • Fixed: Potential crashes when rendering example scenes – FLIP Fluids simulations should have the interface locked during render to fully prevent crashes. Some example scenes were missing this option, which could lead to crashes and confusion.
  • Fixed: Issue that could trigger an error during command line baking – If command line baking was terminated in the middle of a simulation, the addon would not process some cache files and this could generate an error when resuming a bake from the command line. This has been fixed by making sure the addon finishes processing the cache files when starting the next command line bake.
  • Fixed: Baking error message when switching a FLIP Fluids Domain to another simulation type – This could happen if you had copied the domain object and switched the copied object’s type before baking the simulation.
  • Fixed: Issue that could cause a baking crash if an obstacle object was located entirely outside of the domain – A rare edge case bug that has managed to exist within the simulator for years!

New Documentation Topics

What’s coming in FLIP Fluids Version 1.0.9 and later?

The last few version (1.0.6, 1.0.7, and 1.0.8) may not been very exciting in terms of new exciting features, but were very necessary for the FLIP Fluids project. These past versions mainly involved further polishing the addon for usability, stability, and improved documentation to make the simulator easier to use. These versions have also included some large structural changes within the simulator that benefit future development.

For future versions of the FLIP Fluids addon, we’ll be trying out a more consistent release schedule every 3 to 4 months with smaller maintenance updates in between if needed.

We’ll have something more exciting for you in the next version. Version 1.0.9 is already in development, and much of the work has been in progress over the past year. So what’s coming? The long awaited FLIP Fluids force field features! This is a huge feature that adds functionality for controlling fluid with force fields. This feature will include some of the built-in Blender force fields types as well as adding our own force types that are common and useful in liquid fluid effects.

The next version after, v1.1.0, is planned to involve a major engine restructuring in order to greatly improve performance. Our simulation grid system will be overhauled to add support for a fully adaptive simulation grid as well as for functionality in animating domain position. But more on this in later development!