This component is intended to shade particle-based splash and foam, but may be used to render smoke as well. Usually it is targeted to the particles exported by the simulator, however any particle systems in 3ds Max may take advantage of it.

Generation and receiving of caustics is disabled by default.



Particle system (MXS: System) - The particle system that will be shaded (Foam, Splash or Drag particles).

Color (MXS: color) - The particle color.

Refractive index (MXS: ri) - The IOR of the liquid. Set bigger refractive indices for more pronounced reflection and refraction. This parameter is also used to control the opacity in point mode, assuming that the bigger IOR produces less transparent bubbles.

Diffuse multiplier (MXS: difmul) - Additional option to multiply the brightness.

Size multiplier (MXS: szmul, szmul_pa) - This acts as an additional parameter for controlling the bubbles/splashes size, independent of their particle system. This parameter can be animated by particle age using the PA button to switch the time source. The value for this parameter is not set as a constant, instead is affected by the Size variation and Size distribution parameters. This allows us to introduce randomness in a particle system where the particles have the same size.

Size variation (MXS:szvar) - Relative range of variation for the size multiplier.

Size distribution (MXS:szdist) - How many times the count of the smallest multipliers exceeds the count of the biggest multipliers.

Size limit (MXS:sizelimit) - If the count of the particles is huge and most of them are indiscernible from the camera position, one can achieve better results if the small and the big particles are rendered using separate shading techniques. This parameter works in combination with the Subgroup parameter and is intended to do exactly this. When the Subgroup parameter is set to above/below the limit size, the shader renders only the particles satisfying the condition. With another PHXFoam object you can render the rest of the particles setting the opposite condition and thus you can have different shading for the big and the small bubbles or droplets.

Velocity multiplier (MXS:velmult) - Multiplier for the motion blur. May also be a negative number.


Scattering (MXS: scattering) - Affects the GI lighting.

  • Enabled - The scattering is enabled.
  • Disabled - The scattering is disabled and the diffuse multiplier is used to correct the brightness.
  • Analytic - An analytic formula is used to calculate the contribution of the scattering to the illumination.
  • Analytic+shadows - Same as Analytic, but geometry is also affected via the shadows.

Mode (MXS: mode) - Select the mode of shading. There are five different modes of shading - bubbles, cellular, splashes (droplets), point and fog.

  • Bubbles - Each particle is shaded as a spherical foam bubble ignoring the neighbor bubbles.
  • Cellular - Similar to the previous mode, but builds a curved wall between the bubbles in contact and hides the internal sphere surface. This mode is about two times slower than the simple bubbles, but is suitable for close-up foam. Both foam modes change their optical properties under water, when the transition is water to air or air to water. The rays crossing the border between two underwater bubbles are shaded in the same manner as the ones above the water.
  • Splashes - Each particle is shaded as a spherical droplet. The internal surfaces are hidden.
  • Point - Each particle is shaded only in a single pixel. This mode is suitable for large scale foam and splash, over an ocean surface for example, as well as for rendering smoke or ink.
  • Fog - Each particle is put into a grid and the smoke shader is used to visualize the grid's content. This mode is an alternative to the Point mode.
Bubble mode close-upCellular mode close-upSplashes mode close-up
Bubble/Cellular modeSplash modePoint mode

Subgroup (MXS:subgroup) - Selectively shades particles, depending on their position relative to the water. See the Liquid geometry parameter.

  • All - All the particles are shaded.
  • Under water - Only particles inside the water are shaded.
  • Above water - Only particles outside the water are shaded.
  • Above the size limit - Only particles bigger than the value set in the Size limit parameter will be rendered.
  • Below the size limit - Only particles smaller than the value set in the Size limit parameter will be rendered.

Motion blur (MXS:moblur) - Controls the motion blur on/off.

  • By V-Ray - The V-Ray motion blur switch is used.
  • Force on - The content is rendered with motion blur, regardless of the global setting.
  • Force off - The content is rendered without motion blur, regardless of the global setting. 

Geometry mode (MXS: geommode)
 - This method requires V-Ray. Used mostly to export deep images and render elements such as normals, velocity, etc.

Light cache (MXS: lightcache) - Enables light caching and this way speeds up rendering considerably.

Disable liquid shadows (MXS: nolqshadows) - Used to control the lighting of the underwater bubbles, enables direct lighting without caustic photon map and avoiding the liquid color.

Liquid (MXS: useliquid, liquid) - Used to change the shading of the bubbles under the water. Currently only a Phoenix FD object can be set as liquid geometry. 

Gizmo (MXS: useGizmo, gizmo) - When set, only the volume inside the gizmo geometry is shaded. If the normals are inverted, the volume outside the geometry is shaded.

Invert gizmo (MXS: invgizmo) - Enable the shading only outside the gizmo geometry. This is not the same as a gizmo with inverted geometry, because any rays that do not intersect the gizmo will be shaded, too.

Cellular/bubbles/splash mode

Bounces (MXS: bounces) - The maximum depth of reflection/refraction branches. When the limit is reached, the environment map will be used instead of starting new rays.

Reflection cut-off (MXS: minw) - Starting a reflection ray is an expensive operation, because it produces an avalanche of rays that can consume all the resources very quickly. Because of this, a reflection ray is only started if its result is important, i.e. quite visible. This parameter is used to determine the critical visibility at which new reflection rays will start. If the visibility is less than its value, the environment map will be used instead of tracing a new ray.

Highlights width (MXS: hlwidth) - The width of the specular highlights.

Highlights multiplier (MXS: hlmult) - Multiplier of the brightness of the highlights.

Pressure variation (MXS: pvar) - This parameter matters only in cellular mode. The cellular mode produces a wall between each two bubbles in contact. To avoid the unnatural appearance, this wall is slightly curved. This parameter assigns random "pressure" to the bubbles. Larger values result in more curved walls between the bubbles.

Optimize bad sources (MXS:optimize) - When the particles are highly overlapped, the performance sharply decreases and the shader becomes useless due to the huge resource consumption. With this option, an optimization preprocess is performed that deletes the fully overlapped particles and decreases the sizes of the significantly overlapped ones. It's highly recommended to keep this option switched on.

Reflection coloring (MXS: usereflmap, reflmap) - Used to represent the coloring of the reflection of the real foam, due to the interference. The texture is sampled using the direction, instead of the explicit coordinates.

Environment (MXS: useenvmap, envmap) - This map is used when the reflection depth is reached or the visibility is less than the cut off. The texture is sampled using the direction, instead of the explicit coordinates.

Glass (MXS: useglass, glass) - Used to introduce some corrections in the foam-glass interface. Note that the foam should penetrate the glass geometry, otherwise this option has no effect.

Foam rendered with glass correctionFoam rendered without glass correction


Point mode

Ignore particle size (MXS: ignoresize) - By default the point shader calculates the alpha considering the size of the particle and the distance to it. This option is used when the particle system contains too big particles that leave hard tracks with motion blur.

Motion blur step (MXS: mbstep) - Unlike foam and splash modes, the motion blur in point mode is calculated by "cloning" the particle several times and placing the copies along the trajectory. This parameter controls the distance between the copies. The smaller the step is, the higher the quality is. The rendering, however, is slower.

Motion blur limit (MXS: mblimit) - If the particle system contains very fast particles, or the motion blur step is too small, there is a possibility of rendering overloading, due to the huge count of particle copies. This parameter sets a limit of the clone's count, keeping a reasonable rendering time.


Fog mode

Fog resolution (MXS:fogres) - If the fog mode is enabled, this specifies the cell size of the smoke grid.

Decreasing the fog resolution twice will increase the consumed memory eight times! Save the scene before each attempt!

Fog multiplier (MXS:fogmult) - Multiplier of the fog density.

Page viewed 21,112 times