©BBB3viz

Table of Contents

This page contains chapter 5 of the Houdini to 3ds Max Alembic Workflow tutorial, covering the export of FLIP Fluids.


Overview


A FLIP Fluid simulation consists of two components – the FLIP particles and the fields used to guide the simulation. For the purposes of this tutorial, we are not bringing any of those fields into 3ds Max but be aware that a volume-based workflow is also an option. The V-Ray Volume Grid can load and render a field in Mesh Mode with a material applied to it.

When exporting a FLIP Fluid simulation out of Houdini as Alembic, you need to turn it into a mesh (by using the VDB from Particle Fluid SOP, for example), transfer the velocity information (for motion blur with V-Ray) and export the sequence.


You can download the project's files from here: 

Download Project Files (260MBs)


Setup and Export



Here's the setup used in this chapter.

  1. The river_bed SOP contains the collision geometry for the water as well as a bunch of boxes scattered inside the bed of the river to use as Initial Fill liquid for the purpose of saving some simulation time. A regular FLIP source at the top end of the river is also present inside.
  2. The FLIP_SIM DOP Network contains the actual simulation nodes. A Static Object DOP is used to bring the collision geometry, and a regular FLIP setup using a FLIP Object, FLIP Solver and a Source Volume DOP in FLIP mode are used to simulate the river itself.
  3. Finally, the FLIP_export node holds the setup used to turn the simulation into a mesh and export it as Alembic.




You can bring the FLIP sim into SOPs using a DOP Import Fields with the Preset option set to FLIP Fluid.

This gives you the FLIP particles, the DOP Surface field and the Velocity field.

We need the FLIP Particles to generate the meshed liquid surface, and the Velocity field for motion blur.

You may want to cache the simulation to disk by using a ROP Output Driver before going through the meshing process.




To turn the FLIP particles into a mesh, a VDB from Particle Fluid SOP is used.

The resulting VDB SDF is then converted to a Polygon Soup using a Convert VDB SOP.

An Attribute from Volume SOP is used to transfer the velocity information over to the liquid mesh (you could also use an Attribute Transfer SOP for this purpose).

Finally, a ROP Alembic Output is used to save the simulation to disk.

Note the Alembic File output path - it is intentionally set to river_$F4.abc instead of river.abc.

Fluid simulations tend to be really heavy - usually in the millions of polygons. Outputting dozens of frames, each one of them in the Gigabytes, into a single Alembic file is not a good idea in this case. The primary reason you would like to keep things in a single Alembic file is instancing - Alembics can save you disk space by only storing the transformations/deformations of a mesh with unchanging topology. This is not the case for FLIP simulations - their topology changes on every frame, thus the main benefit of storing into a single file is lost.

You can optimize further by removing FLIP particles which are not inside the camera's frustum.

Another option is to partition the particles and mesh and export each piece as a separate alembic file.


Import into 3ds Max



Back in 3ds Max you can load the Alembic sequence through a V-Ray Proxy and assign a V-Ray Material to it.

The equivalent to Houdini's $F4 is #### so the file path becomes \\river_####.abc

Set the Diffuse to Black and the Reflection and Refraction to White, with an IOR of 1.33 for a basic water material.