What's New in Simulation and Effects

BOSS — Bifröst Ocean Simulation System

The Bifröst Ocean Simulation System lets you create realistic ocean surfaces with waves, ripples, and wakes. You start with a flat mesh, and then layer and mix solvers and influences on top. Each element is independent of the resolution of the others, and can be cached separately for faster playback. You can use the resulting deformed mesh directly, or transfer the result to another mesh. You can also use the cached EXR files as vector displacement maps when rendering.

For more information, see BOSS — Bifröst Ocean Simulation System.

Bifröst General Improvements

Motion Fields

You can now influence particles' velocities directly by selecting a Bifröst object and selecting Bifrost > (Add) Motion Field. You can:
  • Activate and control various components individually, like Drag and Turbulence.
  • Transform the field property in space. Note that the field's scaling affects its magnitude by default.
  • Select a Boundary Shape to restrict the effect to a specific volume with an optional falloff, or simply to alter the axis used by the options Along Axis, Around Axis, and Away From Axis.

For more information, see Control velocity with Bifröst motion fields.

Kill Fields

Use kill fields to delete unwanted liquid, foam, or aero particles in a Bifröst simulation. The available options allow you to affect particles based on certain criteria, when the particles are within a specific volume. See Delete particles with kill fields.

Mesh properties

When you add a mesh to a simulation, for example as an emitter or collider, a Bifrost attribute group no longer gets added to the mesh's shape node. Instead, there are new nodes which can be shared if you want the same settings to be used by multiple meshes. These new nodes replace the AttrNotif nodes in the scene graph.

There is a specific Bifröst property type for each of the mesh types that you can add to a simulation, such as emitters, colliders, and others. In addition to attributes specific to each property type, you can use the boundary controls to limit the effect to the intersection of the mesh and an implicit shape. You can also specify a voxel scale factor so that, for example, you can use different voxel scales for different colliders.

When adding an object to a simulation, you can choose whether or not to share an existing property:

  • To add a mesh with a new unshared property, select both the mesh and the bifrost fluid object, and then select the corresponding command from the Bifrost > Add menu as before.
  • To add a mesh and share an existing property, select both the mesh and the property, and then select the corresponding command from the Bifrost > Add menu.

Alternatively, it is also possible to share a property by connecting a mesh shape's World Mesh output into one of a Bifröst mesh property's available Meshes inputs in the Node Editor.

Resolution near colliders

The Refine Nearby Fluids on colliders prevents the fluid resolution from being coarsened in regions that are close to the collider when Spatial Adaptivity is enabled on the container. Turn this option off on colliders where less detail is needed, for example, on the bottom and sides of pools, and turn it on for colliders where you want full detail. This does not affect the free surface (air boundary), which always uses full resolution.

Updates to the Bifröst node structure

Creating a Bifröst liquid now generates a bifrostLiquidPropertiesContainer node in addition to the bifrostLiquidContainer and liquidShape nodes. The attributes available on the bifrostLiquidPropertiesContainer node control the properties of the liquid, while the bifrostLiquidContainer node contains the global controls for the simulation. Similarly, creating an aero simulation creates bifrostAeroPropertiesContainer and bifrostAeroContainer nodes.

Adding foam to a liquid now generates a bifrostFoamPropertiesContainer for Foam attributes. Foam attributes are no longer added to the bifrostLiquidContainer node.

Each container and property node has an Evaluation Type attribute, which should be left at its default value.

Cache file management

A new Bifröst cache file structure makes it easier to locate and identify cache files, especially when caching scenes that include multiple Bifröst containers. When you cache a Bifröst simulation, the default Maya project rules create the following cache file structure:

cache/bifrost/<scene name>/<container name>/<object name>.

Miscellaneous Bifröst improvements

  • When you translate, rotate, or scale a Bifröst simulation, its results are transformed in world space. This is particularly useful when loading a cache into a new scene with other elements. However, to keep a simulation aligned with its emitters, colliders, and other input objects, leave it untransformed.

  • Scratch cached frames now display dark green () when the simulation settings or input object have been modified. The cached frames get flushed automatically when you return to the first frame of the simulation.

  • When displaying channel values as vectors, you can now scale the vector lengths.

  • Bifrost > Display Bifrost HUD now shows the number of time steps per frame, in addition to the number of particles and voxels.

Bifröst Liquid Improvements

Guided liquid simulations

It is now easier to set up guided liquid simulations. You can now simply use a deforming plane or other flat mesh as a guide, instead of using a deforming closed volume as an emitter. In addition, you can restrict the simulation to specific regions, as well as simulate a layer on top of the guide for extra splashes. See Guide Bifröst liquid with a mesh.

Viscosity

You can set a physically-correct value for viscosity on the bifrostLiquidPropertiesContainer node. The non–physically-correct Scale setting is still available as a velocity-smoothing factor for faster results in situations where accuracy is not required.

See Bifröst Viscosity attributes.

Liquid churn and curvature channels

New curvature and churn channels let you see where curvature and churn is being generated in a liquid. When enabled, Bifröst computes curvature and churn values, which you can display as color channels in the viewport. This way, you can visualize the potential locations for foam emission in the liquid before adding a foam object. You can also use this information to determine accurate Min Liquid Churn and Min Liquid Curvature values for the foam before simulating.

Access Curvature Enable and Churn Enable in the Optional Channels attribute section of the bifrostLiquidPropertyContainer node Attribute Editor. If your liquid simulation does not include foam particles, leave these options off to avoid unnecessary computations.

Erosion

New Erosion attributes control how closely the liquid boundary gets shrinkwrapped back to the particle positions. Use these attributes to avoid problems in various situations, such as still water versus thin flows or energetic splashing.

In turbulent liquids, use them to avoid problems, such as fast particles "surfing" ahead of boats wakes, fluid repulsion, particle clumping, or particles climbing near the walls of colliders. Erosion settings can also help achieve equilibrium in still-water situations.

See Bifröst Erosion attributes.

Bifröst Aero Improvements

Dissipation and Wind

You can use the Dissipation Rate attribute to control the dissipation of the smoke channel to reproduce effects like evaporation. In addition, you can control the velocity of the wind and the strength of its effect on aero simulations using the Wind X, Wind Y, Wind Z, and Wind Magnitude attributes, as well as mimic turbulence using Randomize Velocity. For more information, see Bifröst Air attributes (aero only)

Smoother Aero Voxel Renders

The option Reduce Flow Noise increases the smoothness of aero voxel renderings. This is most effective when smoke spreads out over large volumes, resulting in insufficient particle sampling.

  1. Reduce Flow Noise off.
  2. Reduce Flow Noise on.

For more information, see Bifröst Particle Density attributes.

Preview the smoke channel

You can now visualize the smoke channel in your Aero simulations. In the aeroShape node Attribute Editor, select Smoke from the Color Channel list to display smoke as a color ramp.

Bifröst Foam Improvements

New Bifröst Foam attributes

New Bifröst foam attributes add more control and increased accuracy to foam simulations. With these new attributes you can:

  • Eliminate overlapping particles to help reduce high foam particles counts without reducing emission rate or foam density using Overlap Pruning.
  • Emulate the look of spray by applying Air Drag to foam particles that emit above the liquid surface.
  • Add more detail and realism to foam in small-scale liquid simulations by adding Surface Tension or by using the new SPH-based Compression Model.
  • Control the size of rendered foam particles using the Render Particle Size attribute on the foamShape node.

Masking foam emission

You can limit foam emission to the volume of a polygon object using a Foam Mask. This gives you more control over which regions of a liquid generate foam particles. For example, add a masking object around a boat and its wake so that foam only generates in this area of the liquid.

Foam Mask attributes are added to the shape node of the masking polygon object. Use these attributes to toggle the mask on and off as well as to set the voxelization Thickness and Mode.

A Mask Falloff Distance attribute on the bifrostFoamPropertiesContainer node lets you set a falloff region, in voxels, to eliminate hard boundaries around the input mesh.

See Mask Bifröst foam emission.

Other Foam improvements

Bifröst killplanes now eliminate foam particles.