Versions Compared

Key

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

Overview

...

The rendering process in Chaos Phoenix FD is separated from the simulation, but for ease of operation is performed by the same object that performs the simulation. However, this is only true for the grid's content, not for the particles contained in the cache file. If you want to render the secondary effect particles (foam, splashes, or drag particles), create a Particle Shader object and add the Simulator to it, so the Particle Shader can use the cache data loaded by the Simulator.

medium
UI Text Box
size
typewarning

If you want to render the particle content of the Simulator (e.g. foam, splashes, or drag particles), create a Particle Shader object and add the simulator to it.

You may also check the Volumetric Rendering In-Depth guide for tips on speeding up the rendering of volumetric effects with V-Ray.

The surface rendering modes of the Phoenix Simulator make it behave just like any regular geometry - 3ds Max materials can be applied to the Simulator.

The liquid surface of a PhoenixFD Phoenix simulation is generated from the Liquid Particles. The particles are converted into a mesh and shaded by the material assigned to the simulator object. This section contains the controls for this meshing process.

Advanced control over the shading is provided with the Phoenix Grid Texture which can be used to drive the properties of a material applied to a liquid surface.

medium
UI Text Box
size
typetip

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

...


Actions

...

Render Presets... – Opens a menu for loading and saving different presets. The following options are available:

...

Volumetric – Visualizes the content as a standard 3ds Max atmospheric. This method is used mostly for fire and smoke.
Volumetric Geometry – This method requires V-Ray. It produces the same result as the Volumetric option by using procedural geometry made up from multiple transparent layers. Used when rendering fire/smoke for exporting deep images and render elements such as normals, velocity, multi matte, etc. which would not be available in Volumetric mode. For more information on which render elements are supported in Volumetric and Volumetric Geometry mode, see V-Ray Render Elements Support.

size
UI Text Box
mediumtypenote

Approximate and Approximate+Shadows options for the Scattering parameter in the Smoke color window are not supported in Volumetric Geometry mode.

For a complete list of the supported Render Elements in both Volumetric and Volumetric Geometry mode, please check the V-Ray Render Elements Support page.

Volumetric Heat Haze – This method requires V-Ray. It produces the same result as the Volumetric Geometry option, and also adds a heat haze effect when used with the Heat Haze parameter. Note that you might need to increase the Max depth of a VRayMtl with refraction in case it intersects with the Heat Haze shader.

Anchor
ImplicitSurface
ImplicitSurface
Isosurface – This method requires V-Ray. It produces a procedural isosurface without polygons at render time using the Isosurface Level option. Compared to the Mesh mode, the result is always smooth but will take longer to render. In case in Mesh mode your mesh is too jagged and edgy, and smoothing it out is too slow or impossible, this means you should switch to Isosurface mode instead. 
Mesh
– The content is converted into a standard 3ds Max mesh using the options in the Mesh Smoothing section. This mode is mostly used for liquids but can also be applied to thick smoke using a scatter material or to plumes of smoke to create effects such as large underwater bubbles.
Ocean Mesh – The grid content is extended to a flat area, fitting the camera's view.  In most cases, this mode is used with a displacement texture such as the Phoenix FD Ocean Texture.
Cap Mesh – Only the upper liquid surface is rendered. This mode can be used for swimming pools and other placid liquid surfaces.
Anchor
ImplicitSurface
ImplicitSurface

medium
UI Text Box
size
typenote

The ocean surface can be generated only when the liquid touches the sides and the bottom of the grid, which act as a container for the liquid. The detail of the mesh extension around the simulator depends on the camera resolution - for each pixel of the viewport or the rendered image, one or several polygons are generated, depending on the Ocean Subdivisions option.

Also note that if you use a material with fog color for the ocean mesh, and you have particles submerged below the ocean surface which you render using a Particle Shader, you need to also place a geometry that would serve as a bottom, or you could get flickering and darker rendering of the particles. For more info, see the Render as Geometry option of the Particle Shader.

...

Invert Cutter | invgizmo – When enabled, rendering will occur only outside of the render cutter. This is not the same as a cutter with inverted geometry because any rays that do not intersect the cutter will be shaded as well. 

size
UI Text Box
mediumtypewarning

If using a Render Cutter for a liquid pouring into a glass or otherwise contained into another refractive object, you may need to set the Mode to Isosurface. By default, the mode is set to Mesh which may produce artifacts in the rendered image.

...

Box – Displays voxels as cubes. There is no blending between neighbor voxels. This is the fastest mode.
Linear – Linear blending occurs between neighbor voxels to smooth out the fluid's look. Sometimes this mode may unveil the grid-like structure of the fluid. Up to 20-30% faster than the Spherical option.
Spherical – Uses special weight-based sampling for the smoothest looking fluid. With increasing resolution, the visual advantage of this method over the Linear method becomes less noticeable.

size
UI Text Box
mediumtypenote

The proper value for the Isosurface Level parameter depends on the numerical range of the surface channel. For example, Phoenix FD liquids are kept in the range of 0 to 1. A value of 0 means there is no liquid in a certain voxel, and a value of 1 means the cell is 100% full of liquid. Values in between indicate a certain mixture of air and liquid. For such cache files, an Isosurface Level value of 0.5 is best for visualizing the surface between the air and liquid. Imported caches from Houdini, on the other hand, use positive and negative values to indicate whether a voxel is inside or outside the liquid volume, so a correct "halfway" Isosurface Level value would be 0.0. Please check the Grid Channel Ranges page for information about other grid channels.

Section
Column
width33%

Column
width33%

Column
width33%

 


 

Section
Column
width33%

Column
width33%

Column
width33%

...

Ocean Level | oceanlevel – Used with the Ocean Mesh and Cap Mesh rendering modes. Specifies the water level as a percentage of the total grid height. 

UI Text Box
sizemedium
typetip
  • Ocean Level is a rendering setting which is closely related to the Initial Fill Up simulation setting in the Dynamics rollout.
  • Both should initially be set to equal values, and the Ocean level should be adjusted after the simulation is done, if needed. This has to be done manually because the liquid surface might bounce up or down in the first few seconds until it settles.
  • Depending on a variety of factors, the resulting surface might be a little below or a little above the Initial fill up value, and this cannot be automatically predicted.
  • The Ocean level should remain constant and should not be animated for the duration of the render sequence, otherwise the horizon would start moving up and down.

Ocean Subdivs | meshsubdiv – Used with the Ocean Mesh and Cap Mesh rendering modes. When generating the far areas of the surface, this determines how many vertices will be generated for each pixel of the image. Like with V-Ray subdivisions, the square of the parameter value is used. For example, if you increase the subdivisions twice, the vertices count will grow four times. For more information, see the Ocean Subdivs example below.

medium
UI Text Box
size
typewarning

Increasing the Ocean Subdivs may dramatically increase the amount of consumed RAM.

...

Particle size | prtsz – Used to make the liquid thicker or thinner. Works only when Use Liquid Particles is enabled. This parameter specifies the distance from the mesh surface to the particle centers.

 

Motion blur

...

UI Text Box
sizemedium
typeinfo

To render your simulation with Motion Blur, you need to enable Velocity channel export from the Output rollout of your simulator.

When rendering liquids, the Motion blur of the mesh is obtained by shifting each vertex along the velocity by the shutter time. If rendering a Liquid simulation with secondary particle effects such as Foam, Splashes or Mist, you would also have to enable Velocity export for each particle system under the Output rollout → Output Particles section.

...

Prevent Self Intersection | mbself – In all Mesh modes, some motion blurred vertices might penetrate the opposite side of the geometry. When enabled, this option prevents such situations. The self-intersection analysis is expensive, so enable this parameter only when an intersection is obvious.

medium
UI Text Box
size
typewarning

Phoenix FD meshes are motion blurred in a different way than regular transforming and deforming geometries. When rendering regular meshes with motion blur, the entire mesh is moved along its transformation path back and forward in time, and so each individual vertex of the mesh follows this path. However, for each rendered frame, a new Phoenix mesh must be built from the voxel grid, and so it usually has a different number of vertices than the previous and the next frame. Because of this, individual vertices can not be traced back or forward in time between frames. Instead, motion blur of fluid meshes uses the velocity of vertices which is recorded by the simulation, and moves each vertex back and forward in time along the vertex velocity. This is why the generated liquid mesh does not support frame sub-sampling for motion blur. This may cause a mis-match mismatch between the liquid and transforming/deforming objects in your scene that interact with it. The fluid mesh is generated from data at the exact rendered frame and fluid data for the preceding or following frames is not used, unlike regular deforming meshes. As a consequence, the liquid and the objects in your scene would synchronize best if those objects do not use additional geometry samples for motion blur.

 

Displacement

...

size
UI Text Box
mediumtypetip

Displacement is a technique intended to add detail to the simulation during the rendering. The idea of the Phoenix displacement is similar to the usual geometry displacement: a texture is sampled, and the corresponding point of the fluid volume or surface is shifted in a direction at a distance determined by the texture. You can plug any V-Ray, 3ds Max or Phoenix texture maps.
You can use the Phoenix FD Simulator's Mesh Preview option to check how the attached displacement map is affecting the surface when Mode is set to MeshOcean Mesh or Cap Mesh.

...

Fade Above Velocity | fadebyvel, displvelfade – If the fluid velocity (in voxels/sec) in a voxel is higher than this value, there will be no displacement at all. When the velocity is lower than this value, the higher the velocity, the weaker the displacement will be. This allows you to suppress displacement for the fast moving parts of the fluid where the displacement would visibly disturb the motion in an unnatural manner, and thus you can have only the still ocean surface displaced with waves. This option requires the Grid Velocity channel to be exported to the simulation cache files from the Output rollout.

medium
UI Text Box
size
typetip

The Fade Volume feature can be used when the liquid is in contact with a geometry surface such as a shore or a ship and the displacement breaks the contact by moving the liquid mesh away from, or into the geometry.

...