Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides information on the Foam rollout.

Overview

...

The foam simulation follows several simple rules: underwater bubbles rise up, bubbles in the air fall down, bubbles can stick to each other and can be resistant to external pressure.

The foam may be born from the liquid, splash droplets, a Source, or a script. The foam disappears when it exits the grid (see the Max Outside Age parameter), or randomly (see the Half Life parameter). You can see the FLIP Particles Life Cycle for more information on how Foam particles are created or destroyed.

UI Text Box
sizemedium
typetip

UI Path: ||Select Liquid Simulator | LiquidSim object|| > Modify panel > Foam rollout

 

Parameters

Image Removed

Enable | foam – Enables the birth and simulation of Foam particles.

 

Birth

...

Foam rollout affects the simulation of Foam particles, and enables you to set the conditions for when Foam particles should be born automatically, as well as how the Foam should behave. The simulation of Foam particles can be useful for creating effects like waterfalls, rivers, ocean waves and so forth.

UI Text Box
typeinfo
Note that the Phoenix Liquid Simulator can simulate different types of particles, including Liquid particles, as well as Secondary Particles such as Foam, Splash, Mist, and WetMap particles. These Secondary Particles exist so that you can achieve a variety of different liquid scenarios. In addition, Phoenix enables you to choose which particles to simulate, depending on your needs. 

Foam particles adhere to several simple rules when simulating: underwater bubbles rise up, bubbles in the air fall down, bubbles can stick to each other, and bubbles can be resistant to external pressure. Regarding the generation of Foam particles, Foam can be born from Liquid particles, Splash droplets, a Source, or a script. Meanwhile, the Foam can disappear when it exits the grid (see the Max Outside Age parameter), or disappear randomly (see the Half Life parameter).

UI Text Box
typetip

Each particle type has its own life cycle, with rules for when and how they are born and die off. You can learn more about the life cycle of Foam particles, or how they are created or destroyed, by visiting the FLIP Particles Life Cycle docs page.

UI Text Box
typenote

Note that unlike shading Liquid particles, in order to render Foam particles, you’ll need to use the Phoenix Particle Shader to shade them. The Particle Shader enables you to create various fine-tuned appearances for particles such as Foam, Splash and Mist, in order to achieve realistic looking effects.

For example, when rendering Foam particles, you can use the Particle Shader's Cellular mode to get a look that is very similar to real foam, which makes it possible to shade foam that is close-up to the camera, and have the results look convincing.

UI Text Box
typetip

UI Path: ||Select Liquid Simulator object|| > Modify panel > Foam rollout

Parameters

...

Section
Column
width55%

Expand – Opens a floating dialog that contains the selected rollout and automatically folds the command panel rollout.

Re-Center – Resets the position of the floating rollout.

? – Opens up the help documents for the Liquid Foam.

Enable | foam – Enables the birth and simulation of Foam particles.

Column
width5%

Column
width40%

Image Added


Foam Birth

...

Anchor
BirthRate
BirthRate
Foam Amount | fbirth – How many foam particles are born in the places where the Birth Threshold condition is met, in particles per cubic centimeter, per second. This parameter does not affect the foam born by splashes.

Anchor
BirthThreshold
BirthThreshold
Birth Threshold (units/sec) | fbthres – Foam is born where the liquid movement is turbulent. If the difference in velocity between two neighbor voxels is higher that this threshold, foam particles should be born. This means that the lower this option is, the more foam will be born and also the more places in the Simulator would allow foam to be born. The scale of the option is in units/sec. For more information, see the Birth Threshold example below.

Birth Volume | usefbconfgeom, fbconfgeom – When enabled, allows the foam to be born naturally by the simulation only inside a specified geometry object. This includes foam born according to the conditions set by the Foam Amount and Birth Threshold parameters of the Foam, as well as the Foam on Hit parameters of the Splash. The foam born inside the Birth Volume can travel outside the volume without a problem. The difference between this approach and spawning foam inside a volume manually from a Source object is that using a Birth Volume, the foam birth will follow the simulation criteria of the simulation and will look and behave more naturally.

UI Text Box
typeinfo

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, you can still use the Volume Fade Dist to expand an area around the object where Foam/Splash births are possible. You can convert the geometry to a non-solid from its Chaos Phoenix Properties in order to allow liquid to exist inside it as well.

Also note that birth volumes will interact with the simulation even if they are hidden. If you wish, you can exclude the Birth Volume from the Scene Interaction rollout.

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


Anchor
birthThreshold
birthThreshold

Example: Birth Threshold

...

UI Text Box
typetip

The following video provides examples to show the differences of Birth Threshold values of 50100, and 200.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/3RdhMXTdiMc?version=3&loop=1&playlist=3RdhMXTdiMc" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.30.01 Nightly (02 Oct 2020)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=1W6grNcn1s9YfbRUhsPYcccw8SpWP6BAs


Lifespan

...

Section
Column
width55%

Half Life | fhlfThe time required for the particles to reduce to half of their initial count, in seconds. Affects only the foam bubbles above the liquid surface - those inside the volume will not burst until they reach the surface. You can force this process by increasing the Rising Speed.

Varyhlvary – In nature, not all the bubbles have the same half life. Larger bubbles burst quicker than smaller ones, and bubbles inside foam live longer. When this option is enabled, the Half Life of each bubble is modified taking into account its size and its surroundings.

Anchor
OutsideLife
OutsideLife
Max Outside Age | foutlife – If a particle is outside the grid, and its age (in seconds) exceeds this parameter, the particle will be killed instantly. Note that this is not the time since the particle exited the grid, but the time since the particle was born.

Column
width5%


Column
width40%

Image Added


Anchor
Size
Size

Size

...

Section
Column
width55%

Size | fsize – Specifies the size of the bubbles.

UI Text Box
typenote

Larger bubbles rise faster while they are underwater, while smaller ones rise more slowly.

Variation Small | fshrink – Specifies how much smaller the bubbles can be, relative to the Size parameter. 0 means that all bubbles are always at least as big as Size1 means that the smallest bubbles are two times smaller than Size10 means that the smallest bubbles are 11 times smaller than SizeFor more information, see the Variation Small example below.

Variation Large | fsizevar – Specifies how much larger the bubbles can be, relative to the Size parameter. 0 means that all bubbles are never larger than Size1 means that the largest bubbles are two times larger than Size10 means that the largest bubbles are 11 times larger than Size. You can also use the Distribution parameter to control the balance between the number of small and large bubbles. For more information, see the Variation Large example below.

Size Distribution | fszdstrb – Specifies how many times the amount of bubbles with radius Size exceeds the amount of the largest bubbles. This option has no effect if Variation Large is 0. Setting Size Distribution to 0 means that all sizes will be equally distributed. 100 means that there will be 100 times more bubbles with radius of Size than the largest ones. For more information, see the Size Distribution example below.

Column
width5%


Column
width40%

Image Added


Anchor
variationSmall
variationSmall

Example: Variation Small

...

UI Text Box
typetip

The following video provides examples to show the differences when Variation Small is set to 01, and 50.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/dDbpPGBE6Ow?version=3&loop=1&playlist=dDbpPGBE6Ow" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.40.01 Nightly (13 May 2021)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=1cZucXutG7kwDGF6TK8eBucgxjGHWquRL


Anchor
variationLarge
variationLarge

Example: Variation Large

...

UI Text Box

Birth Volume | usefbconfgeom, fbconfgeom – When enabled, allows the foam to be born naturally by the simulation only inside a specified geometry object. This includes foam born according to the conditions set by the Foam Amount and Birth Threshold parameters of the Foam, as well as the Foam on Hit parameters of the Splash. The foam born inside the Birth Volume can travel outside the volume without a problem. The difference between this approach and spawning foam inside a volume manually from a Source object is that using a Birth Volume, the foam birth will follow the simulation criteria of the simulation and will look and behave more naturally.

UI Text Box
sizemedium
typeinfo

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 |  fbconfgeomfade – Controls how far the foam particles will spawn around the specified Birth Volume geometry object.

 

...

 

...

Example: Birth Threshold

UI Text Box
sizemedium
typetip

The following video provides examples to show the differences of Birth Threshold values of 50100, and 200.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/Lvy798xoCEo?version=3&loop=1&playlist=Lvy798xoCEo" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.30.01 Nightly (02 Oct 2020)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=1W6grNcn1s9YfbRUhsPYcccw8SpWP6BAs

 

Lifespan

Image Removed

UI Text Box
sizemedium
typenote

The particle Age channel must be exported in order for these options to take effect (from the Source or from the Output panel, depending on the way the foam is generated).

Half Life | fhlf – The time required for the particles to reduce to half of their initial count, in seconds. Affects only the foam bubbles above the liquid surface - those inside the volume will not burst until they reach the surface. You can force this process by increasing the Rising Speed.

Vary | hlvary – In nature, not all the bubbles have the same half life. Bigger bubbles burst quicker than smaller ones, and bubbles inside foam live longer. When this option is enabled, the Half Life of each bubble is modified taking into account its size and its surroundings.

...

 

...

Size

Image Removed 

Size | fsize – Specifies the size of the bubbles.

UI Text Box
sizemedium
typenote

Larger bubbles rise faster while they are underwater, while smaller ones rise more slowly.

Variation Small | fshrink – Specifies how much smaller the bubbles can be, relative to the Size parameter. 0 means that all bubbles are always at least as big as Size. 1 means that the smallest bubbles are two times smaller than Size. 10 means that the smallest bubbles are 11 times smaller than Size. For more information, see the Variation Small example below.

Variation Large | fsizevar – Specifies how much larger the bubbles can be, relative to the Size parameter. 0 means that all bubbles are never larger than Size. 1 means that the largest bubbles are two times larger than Size. 10 means that the largest bubbles are 11 times larger than Size. You can also use the Distribution parameter to control the balance between the number of small and large bubbles.

Distribution | fszdstrb – Specifies how many times the amount of average bubbles exceeds the amount of the biggest bubbles. 0 means that all sizes will be equally distributed. 100 means that there will be 100 times more bubbles with the average size than the biggest ones. For more information, see the Distribution example below.

...

 

Example: Variation Small

medium
Section
UI Text Box
size
typetip

The following video provides examples to show the differences when Variation

Small

Large is set to 0

1

3, and 

50

6.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/
AIqbTdr2fH8
BxINA7_6i_M?version=3&loop=1&playlist=
AIqbTdr2fH8
BxINA7_6i_M" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.30.01 Nightly (

...

27 Jan 2021)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=

...

1M-Os-NPTdIySOyv-hUILsJYjAlHhEUxf


Anchor
distribution
distribution

 

...

Example: Size Distribution

...

medium
UI Text Box
size
typetip

The image below provides more details on the differences between Size Distribution values of 1, 20, and 100.

Align
aligncenter

Image Modified

Software used: Phoenix FD 4.30.01 Nightly (02 Oct 2020)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=10Q0PeJsBgRQmQlZOq8_lI1n4BTJGDURa

...


Dynamics

...

Section

...

Column

...

width

...

55%

Anchor
B2BInteraction
B2BInteraction

...

Foam Volume | fcycles – Controls the internal interaction between bubbles (bubble-to-bubble interaction). This option is used when the foam should have a volume. It forces a proper distance between the bubbles and keeps them stuck together. This parameter controls the number of interactions per second. Higher values result in better preservation of the foam's volume. This parameter has linear growth order. In other words, the time taken for calculation is longer when the value is higher.

...

For more information, see the 

...

Foam Volume example below.

Rising Speed | frise

...

 – Affects only the foam particles which are inside the liquid volume. This is the maximal speed of ascent of the average-sized bubbles. Bubbles larger

...

than Size

...

 rise faster and smaller bubbles rise more slowly. Note that bubbles inside the liquid volume are carried by the velocity of the liquid, and also affected by this parameter. The scale of the option is in units/sec. If

...

the Rising Speed

...

 is too high, foam particles will shoot past the liquid surface into the air, like bubbles from a carbonated drink - you can compare the value of this option to the height of the Simulator to get an idea of it's too high or too low. For more information, see

...

the Rising Speed

...

example below.

Falling Speed | ffall

...

 – Affects only the foam particles which are outside of the liquid volume. This parameter controls the drag force of foam flying through the air. The Falling Speed is also affected by

...

the size

...

 of the individual bubbles. Lowering this parameter towards zero would cause foam to rapidly slow down when flying in the air, or hang in the air for a long time until it falls down. Note that this parameter affects only foam which is outside the liquid volume, while foam inside of the liquid mesh or which is mixed up with flying Liquid particles would have the same velocity as the liquid. In the second case, if the Falling Speed

...

size

 is too low, the foam might abruptly slow down at the moment it separates from the liquid that carries it. The scale of the option is in units/sec. For more information, see the Falling Speed example below.

UI Text Box
medium
typewarning

The Falling Speed parameter affects how far a flying foam particle may travel. A higher Falling Speed may lead to separate bubbles thrown far away from the Simulator which leads to huge bounding box and thus slower rendering. 

Therefore, this parameter can dramatically affect the rendering speed.

...

Sticky Foam | fsticky

...

 – Controls the ability of the bubbles to stick to a geometry. This option requires that

...

the Foam Volume is greater than zero.

Surface Lock | fsrflock

...

 – Affects the bubbles placed on the liquid surface. It controls the influence of the liquid movement over the surface bubbles.

...

This parameter can be used together with the

...

Foam Pattern options.

Column
width5%


Column
width40%

Image Added

...


Anchor
b2b_interaction
b2b_interaction

 

...

Example:

...

Foam Volume

...

medium
UI Text Box
size
typetip

The following video provides examples to show the differences when

B2B Interaction

Foam Volume is set to 0500, and 1000.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/
-V0LqvTCXPo
0O5iIx4bIMg?version=3&loop=1&playlist=
-V0LqvTCXPo
0O5iIx4bIMg" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.30.01 Nightly (02 Oct 2020)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=

...

1N2I7AdQqorKJ2OcAN43eY5MTNnwI5DBT


Anchor
risingSpeed
risingSpeed
 

...

Example: Rising Speed

...

medium
UI Text Box
size
typetip

The following video provides examples to show the differences when Rising Speed is set to 020, and 100.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/
yLazNHWxaUk
qx9jp2DqtvA?version=3&loop=1&playlist=
yLazNHWxaUk
qx9jp2DqtvA" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.

...

41.

...

02 Nightly (

...

20 Sept 2021)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=1SbsisBu3WkQqNw9tRkpsQRaOuDC9Am1h

...


Anchor
fallingSpeedfallingSpeed
 

...

fallingSpeed

Example: Falling Speed

...

medium
UI Text Box
size
typetip

The following video provides examples to show the differences when Falling Speed is set to 1035, and 100.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/
-E6-uuZzvFo
Gc3xB0N8Kk8?version=3&loop=1&playlist=
-E6-uuZzvFo
Gc3xB0N8Kk8" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.30.01 Nightly (02 Oct 2020)

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=1NOdDaRnjlhDi8PzcY-eIfjaVhJX31NNA


Anchor
Patterns
 
Patterns

Patterns

Image Removed

...

...

Section
Column
width55%

Formation Speed | fptrn – Controls the

...

rate of formation of

...

foam patterns. In nature, these are caused by

...

liquid flows rising to the surface and pushing the foam aside. For more information, see the

...

Formation Speed example below.

Radius | fptrnsz – The average radius in scene units of a single circular

...

pattern core.

Size Variation fptrnszvar – Creates several larger patterns and many smaller ones. If set to 0, all patterns will have equal sizes.

Stringy  | fptrnstringy – Higher values will cause the formation of thin, long strings between the patterns.

Column
width5%


Column
width40%

Image Added


Anchor
FormationSpeed
FormationSpeed

Example: Formation Speed

 

...

 

...

...

medium
UI Text Box
size
typetip
Strength

The following video provides examples to show the differences of

Pattern 

Formation Speed values of 00.5, and 1.0.

Align
aligncenter
HTML
<iframe width="720" height="405" src="https://www.youtube.com/embed/
oo9bUW3pC5Q
vEmQLfBNwCU?version=3&loop=1&playlist=
oo9bUW3pC5Q
vEmQLfBNwCU" frameborder="0" allowfullscreen></iframe>

Software used: Phoenix FD 4.

...

50 Official

UI Button
sizelarge
icondownload
titleDownload Example File
urlhttps://drive.google.com/uc?export=download&id=

...

1BJUkrPFt-3p46n1Sg0CaQz9wBlAY0QkQ