Table of Contents

This page provides information on the Phoenix Foam Texture (PhoenixFDFoamTexture).

Overview


The Phoenix Foam Texture can be used in combination with the Ocean Texture to create the effect of foam appearing at the crests of the infinite ocean's waves. It can be created from the Hypershade in Maya.

Since the foam is a texture generated at render time, the simulation does not need to be run again in order to use it.

As a result, the Foam Texture can be especially helpful when you prefer to avoid simulating real foam particles, such as when using a Phoenix Ocean Mesh in Pure Ocean mode.

The foam mask is generated behind the wave crests, and its lifespan is controllable. The texture outputs a color that represents the foam color both above and below the liquid surface.

The texture also outputs an alpha channel, which must be used to blend between the regular liquid material and the color of the Foam Texture. This way, you can use the Foam Texture to color the material of the ocean mesh, and there is an example at the bottom of this page showing how to set it up.


Parameters


Ocean Texture |   ocean – The waves used as a base for the foam texture. You can only specify a Phoenix Ocean Texture here - the foam mask is calculated using internal information from the Ocean Texture which makes it impossible to use the Foam Texture with any other maps.

Life Span (sec.) | lifeSpan –  The time in seconds it takes for the foam to disappear after the wave crest has subsided.

Birth Threshold birthThreshhold – The relative wave height needed to produce foam. The higher the value, the less foam you will get.

Pattern Strength | patternPronunciation –  The foam texture has a built-in pattern generator and this parameter controls the appearance of the patterns. Higher values make the patterns more string-like while lower values make them look like holes in the foam. At a value of zero, all the patterns are disabled and you can use the texture as a mask for custom designed patterns - you can multiply the mask by a noise map or a more complex texture setup.

Pattern Length | patternSizeX – The  size of the patterns along the wave crests.

Pattern Width patternSizeY –  The  size of the patterns behind the wave crests.

Underwater Foam | underWaterFoam – Controls the alpha value in the holes of the patterns. High alpha means better visibility of the underwater foam.  

Foam Color | surfaceFoamColor – The color that will appear in the parts where the generated foam is above water.

Underwater Foam Tint | underWaterTint – What color to appear in the pattern holes.

Use non-displaced vertices (Phoenix FD only) | uvwAsVertexPos – Intended to achieve better foam movement when used with a displaced Phoenix Ocean Mesh. Real foam is shifted by the water movement, so if we map the Foam Texture to the mesh directly using world coordinates, the foam will move unnaturally. To achieve the effect of foam locked to the moving liquid surface, we have to sample the texture using the non-displaced positions of the mesh vertices, and this is what this option does. This option would work only with a Phoenix Simulator with Phoenix Displacement, and won't be able to produce the same results when used for surfaces generated in any other way, e.g. by using Ocean Texture with V-Ray Displacement.

 


Texture Setup


The overall idea is to have a Phoenix Ocean Texture feeding into the Foam Texture. This same Ocean Texture should be used for the displacement of the ocean surface. The 'Water' material would be the same material you would use for shading a water surface. A standard water shader is a material with full reflection and refraction, index of refraction of 1.33, and usually fog color is also needed for large scale ocean surfaces. The 'Foam' material can be less refractive/opaque than the water material and it would represent the areas where foam appears over the wave crests. The Foam Texture serves as a mask for a blend material, so that the Foam material is applied over the wave crests, and the rest of the liquid mesh uses the regular Water material.

The V-Ray Blend Material setup below is used for the V-Ray renderer. The V-Ray setup uses the Alpha of the Foam Texture as the Blend input for the V-Ray Blend Material.