-
Notifications
You must be signed in to change notification settings - Fork 192
Alembic Export Support
Exporting to the Alembic (.abc) cache can be useful for archiving simulation data or for submitting jobs to render farms that do not support the FLIP Fluids addon.
- How to export to Alembic: Automatic Method
- How to export to Alembic: Manual Method
- Important Notes and Known Issues
- Alembic export for use in other software
- Rendering Alembic Whitewater
Use the FLIP Fluids Sidebar > Command Line Alembic Export tool to automatically set up the Alembic export and to ensure a stable and correct export of the simulation.
This tool automatically sets up the simulation meshes for export and can also export the surface/whitewater velocity attributes for motion blur rendering. This tool also adds optimizations that can speed up the export process compared to using the default Blender Alembic exporter.
Warning: The Blender Alembic Exporter can suffer from instability and incorrect mesh export due to the same issue that can result in incorrect or unstable renders. We recommend using the automatic method in the above topic to ensure a stable and correct export.
The FLIP Fluids simulation meshes can be exported through the Blender topbar with Blender > File > Export > Alembic (.abc).
Tip: Often you will only want the simulation surface or whitewater meshes exported and to ignore the other scene objects. This can be done by selecting the objects you want exported and enabling Only Selected Objects in the Alembic Export Settings.
There are known issues in Blender that can affect Alembic export of simulation meshes. The FLIP Fluids addon will automatically initialize the Blend file and simulation meshes to work around these issues:
- To prevent crashes during Alembic export in Blender 2.81 or later, the Blender interface must be locked (Blender > Render > Lock Interface). This option is automatically set by default when creating a new FLIP Fluids Domain object.
- To have Blender correctly identify the simulation mesh objects as animated meshes for export, a modifier is required to be placed on the object (any modifier should work). The addon will automatically place a smooth modifier with zero smoothing on the fluid surface and whitewater objects upon initializing the meshes.
The resulting Alembic cache after export works well for importing back into Blender, but we cannot guarantee that this will work for importing into other software that use different standards for how the Alembic cache is structured. However, many users have had success in exporting a FLIP Fluids simulation to Alembic for use in other software.
A common problem with exporting FLIP Fluids whitewater meshes is that some third-party softwares cannot import this data properly. The Blender Alembic exporter does not support exporting particles or instances, so whitewater simulation meshes are structured as vertex-only meshes where each vertex represents the position of a whitewater particle. Some softwares do not recognize vertex-only meshes as valid geometry.
Another limitation is that the Alembic exporter does not have features to export generic attributes, so most of the FLIP Fluids addon attributes will not be exported (Attribute documentation). The Alembic exporter currently only supports exporting the velocity attribute for usage in motion blur rendering and this attribute must be named exactly as velocity
on the mesh to be exported. A developer task discussion for adding generic attribute export features can be found on the Blender tracker here: Alembic/USD Attribute Export #101092.
If you would like to test Alembic export using the FLIP Fluids addon in your workflow, try our free demo.
The whitewater Alembic meshes are vertex-only meshes where each vertex represents the location of a particle. When rendering a FLIP Fluids simulation, the addon will automatically set up whitewater rendering. An important note for rendering the Alembic whitewater meshes is that you will need to set up particle rendering manually since the addon does not have control over these objects.
In Blender 3.1 or later, vertex meshes can be converted to a new Point Cloud object type as an alternative to instancing. Rending point clouds greatly improves render efficiency in both render time and resource requirements compared to instancing, and also improves render stability. This will allow you to render a much larger amount of whitewater particles that requires less time to render and less memory requirements compared to instancing. Another benefit of Point Clouds is that the viewport can remain responsive when there are a large number of particles.
See the Domain Attributes > Whitewater Point Clouds topic for more information.
Basic point cloud setup:
This particle rendering method uses instancing to place icospheres (or another object) over the mesh vertices.
Blender Documentation for how to instance particles over an object vertices can be found here: https://docs.blender.org/manual/en/latest/scene_layout/object/properties/instancing/verts.html
Basic instancing setup: