Page Contents

 

Overview


This rollout affects the splash and mist simulation. Because these systems are closely related and share many properties, they are controlled by a common user interface.

A splash/mist rollout, separate from the liquid simulation, is provided in order to optimize memory and CPU usage. While normal liquid simulation can produce splash, and if you increase the resolution to incredible values it will produce mist as well, such a simulation would run slowly and consume an incredible amount of resources. Besides saving on resources and rendering time, there is another strong advantage to controlling splash and mist separately from the liquid itself: different shaders can be used for splash/mist and the liquid.

Splash and mist can be simulated in two different ways: as fully separated systems (non-physical mode), or as part of the liquid simulation (physical mode, the default). In physical mode, the liquid, splash and mist systems can be seen as a single system with adaptive levels of detail. Following certain rules, the liquid can be converted into splash, the splash can be converted into mist or back into liquid, and the mist can be converted into liquid.

Users of previous versions should note an important difference about splash regarding particle size. In version 2.2 the splash size was controlled directly, like the foam. While foam really needs direct size control, especially for the most popular usage of pouring a glass of beer or soda, the size and volume of a splash should be directly related to the amount of liquid being displaced rather than a user-specified value. In other words, in order to have a seamless transition between the splash and the liquid, the volume of the splash droplets must be equal to the volume of the liquid converted into splash. Phoenix 3.0 and newer simulates splashes according to this rule. Here is an image that may help visualize this process - FLIP Particles Life Cycle.

UI Path: ||Select Liquid Simulator | LiquidSim object|| > Modify panel > Splash/Mist rollout

 

Parameters


 

 

Enable | splashes – Enables splashes in the simulation.

Splash Birth



Splash Amount | spbirth – Controls the amount of splash relative to the liquid. This value determines how many splash particles are equal to a single liquid particle in volume. This value also affects the particle size, where larger values decrease the size of splash particles. Note: This parameter is the nearest in functionality to the "birth rate" parameter in previous versions. For more information, see the Splash Amount example below.

Threshold | spbthres – Controls the condition for splash birth. The lower this value is, the more places on the liquid surface will produce splash.

By Free Fly | spfreefall – The probability of a free falling/flying liquid particle converting into splash. At 0.0, no free falling/flying liquid is converted into splashes. The main usage of values above 0.0 is in waterfall simulations. It is not recommended that this parameter be changed to a value other than 0.0 for ocean simulations because the main body of liquid might sometimes be in a temporary state of free fall.

Birth Volume | usespbconfgeom, spbconfgeom – When enabled, allows the splash to be born naturally by the simulation only inside a specified geometry object. The splash born inside the Birth Volume can travel outside the volume without a problem. The difference between this approach and spawning splash inside a volume manually from a Source object is that using a Birth Volume, the splash birth will follow the simulation criteria of the simulation and will look and behave more naturally.

By default, the birth volume geometry is not automatically converted to a non-solid and it will behave as a rigid body in your simulation. In this case, the Volume Fadeout can be used to expand an area around the object where Foam/Splash births are possible. You can convert the geometry to a non-solid from its PhoenixFD properties.

Volume Fade Dist | spbconfgeomfade – Controls how far the splash particles will spawn around the specified Birth Volume geometry object.

 

Mist Birth



 

Splash to Mist | spsplit – Controls how fast the splash particles are converted into mist. This value determines the portion of the splash volume that is turned into mist after traveling one meter (3.3 feet). During its motion, a splash particle constantly produces mist particles, decreasing the volume of the splash. When the entire volume is exhausted, the splash particle disappears. This parameter controls how fast this happens. If the value is 0.0 the mist is not simulated at all, and if you restore a simulation containing mist, the mist will be deleted.

Mist Amount | spmistmult – Controls the amount of mist. This value determines how many mist particles are spawned by a single splash particle.

Birth Volume | usemistbconfgeom, mistbconfgeom  – When enabled, allows the mist to be born naturally by the simulation only inside a specified geometry object. The mist born inside the Birth Volume can travel outside the volume without a problem. The difference between this approach and spawning mist inside a volume manually from a Source object is that using a Birth Volume, the mist birth will follow the simulation criteria of the simulation and will look and behave more naturally.

By default, the birth volume geometry is not automatically converted to a non-solid and it will behave as a rigid body in your simulation. In this case, the Volume Fadeout can be used to expand an area around the object where Foam/Splash births are possible. You can convert the geometry to a non-solid from its PhoenixFD properties.

Volume Fade Dist | mistbconfgeomfade – Controls how far the mist particles will spawn around the specified Birth Volume geometry object.

 

Foam On Hit




Foam Amount | sp2foam – Controls how many foam bubbles are created when a single splash particle hits the surface. This parameter works in terms of probability. Non-integer values can be used. 

Min. Age | spfohminage – Minimum age for foam production. Only splash particles with a particle age above this limit will produce foam when they hit the liquid surface.

For the Min. Age parameter to work, you need to Enable the export of the Age channel for your Splash particles from the Output menu of the Phoenix FD Simulator.

Depth | fohdepth – When a splash particle hits the liquid surface and produces foam, this parameter specifies how far in front of the splash particle the new foam particles will be born. This parameter is used mostly to create underwater foam that will be colored by the fog color of the liquid.

 

Properties


 

 

Splash Air Drag | airfr – The air friction of the splash droplet. A value of 1 represents the air friction of an average rain droplet.

Mist Air Drag | mistdrag – The air friction of the mist. This value determines not only how fast the speed decreases, but also the influence of the wind. The larger this value, the larger the wind's influence.

Max Outside Age | timeout – If a particle exits the grid and its age exceeds this parameter, it will be killed instantly. This parameter affects both splash and mist.

For the Max Outside Age parameter to work, you need to Enable the export of the Age channel for your Splash particles from the Output menu of the Phoenix FD Simulator.

Initial Vel. Mult. | spvmult – When the splash particles are born, they are initialized with the velocity of the nearest liquid multiplied by this value. This parameter greatly affects the general appearance of the splash. When it is below 1, the droplets fly in front of the splash and produce a clearly visible track of droplets.

Initial Vel. Rand. | spvrand – Controls the randomness of the velocity direction when splash particles are born.

Liquid-Like | spstick – Controls the ability of the splash particles to stick to each other, forming different strings and tentacles. The higher this value, the larger the acceleration needed to break the connection. As this parameter controls the bubble-to-bubble interaction of the foam and its viscosity, larger values increase calculation time. For more information, see the Liquid-Like example below. 

Affect Liquid | affectlq – Controls the conversion of liquid to splash, and splash back into liquid. When this value is not zero, the splash birth causes some of the liquid to disappear, and then when the splash enters the liquid the splash particles are replaced by liquid. A value of 1 with splashes and mist enabled produces a physically accurate simulation where liquid, splash and mist are constantly converted into one another, and the sum of all three at any point during the simulation is the same as the original liquid.

 When a Splash particle is converted into a Liquid particle, it inherits the Default RGB and Default Viscosity values set under the Dynamics roll-out.

 

Example: Splash Amount


 The following video provides an example of Splash Amount parameter to show the differences between values of 0.02.0, and 10.0.

 

 

Example: Liquid-Like


The following video provides an example of Liquid-Like parameter to show the differences between values of 0 and 3

 


Liquid-Like = 0

 


Liquid-Like = 3