Page History
Overview
...
The rendering process in Chaos Phoenix is separated from the simulation , but process, because simulated caches contain only simulation data, and no render settings.
However, for ease of operation is performed by the same object that performs the simulation. However, this is only true for the use, the Liquid Simulator object also contains a Rendering rollout, which provides flexible options for rendering the simulator 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.
The Rendering rollout offers multiple render modes, that can be divided into two types: Surfaces and Volumetric.
UI Text Box | ||
---|---|---|
| ||
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 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.
UI Text Box | ||
---|---|---|
| ||
UI Path: ||Select Liquid Simulator | LiquidSim object|| > Modify panel > Rendering rollout |
...
Render Presets... – Opens a menu for loading and saving different presets. The following options are available:
Fancy Bullets | ||
---|---|---|
| ||
|
Parameters
...
width | 60% |
---|
...
Mode | rendMode – Specifies the method for visualizing the grid content.
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.
UI Text Box | ||
---|---|---|
| ||
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. |
...
| |
Liquid simulations are typically rendered using one of the surface render modes. Meanwhile, volumetric modes are typically used for rendering fire and smoke. |
Surface render modes generate a mesh surface, which is based on the channel specified in the Surface Channel parameter.
This is especially useful for liquid simulations, where by default, the Grid Liquid Channel is exported during simulation, which enables the simulator to voxelize Liquid Particles into a Grid Channel. This way, Liquid Particles can be used to indirectly generate a liquid surface, that can be rendered as a mesh using one of the surface render modes, such as Mesh, Isosurface, Cap Mesh or Ocean Mesh.
The meshed liquid then behaves just like any regular geometry, meaning you can assign 3ds Max or V-Ray materials to the Simulator, and there is no need for a dedicated shader. The Rendering rollout also contains additional controls for this meshing process, to customize the appearance of the surface.
UI Text Box | ||
---|---|---|
| ||
Since Phoenix is very flexible, it also enables you to render liquid simulations using a volumetric render mode, to create more advanced types of effects. |
UI Text Box | ||
---|---|---|
| ||
When rendering as a mesh, Liquid Particles are shaded by a material assigned to the Liquid Simulator object. However, secondary effect particles such as Foam, Splash, Mist and WetMap particles must be shaded using the Phoenix Particle Shader. The Particle Shader can shade a specified Particle System as either Points, Bubbles, Cellular, Splashes, or Fog, depending on the mode you select. |
For even more advanced control over the shading, you can use the Phoenix Grid Texture. It reads from the simulation’s Grid Channels to generate a procedural texture, which can then be used to shade the simulation wherever colors are needed.
It can also be plugged into the texture slots of a material. For example, if you want to mix together liquids with multiple RGB colors emitted from different Liquid Sources, the Grid Texture can be used to read and transfer the RGB colors to the Liquid mesh's material for shading.
Similarly, a Phoenix Particle Texture can be used to read particles and color their positions. When used to read WetMap particles, it can act as a mask to blend between two materials, for example, a wet material and a dry surface material. This way, geometry covered by WetMap particles can appear wet, and the rest of the geometry can appear dry.
UI Text Box | ||
---|---|---|
| ||
UI Path: ||Select Liquid Simulator object|| > Modify panel > Rendering rollout |
Actions
...
UI Text Box | ||
---|---|---|
| ||
Render settings are not stored within the caches themselves, so if you want to use the same render settings for another simulator or project, there is the option to save and load them as Phoenix Render Presets in the “.tpr” file format. |
Render Presets... – Opens a menu for loading and saving different presets. The following options are available:
Fancy Bullets | ||
---|---|---|
| ||
|
Parameters
...
Section | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
UI Text Box | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
The proper value for the Isosurface Level parameter depends on the numerical range of the surface channel. For example, Phoenix 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.
|
Ocean
...
Section | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Anchor UnderwaterGoggles UnderwaterGoggles
Example: Underwater Goggles
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Mesh Smoothing
Anchor | ||||
---|---|---|---|---|
|
...
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Motion Blur
...
Section | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Displacement
...
Section | ||||
---|---|---|---|---|
|
...
UI Text Box | ||
---|---|---|
| ||
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.
UI Text Box | ||
---|---|---|
| ||
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. |
Surface Channel | sarg – Specifies the channel that will define the surface of the fluid. It is used for solid rendering and displacement.
Texture - the values of a custom texture will define the mesh surface. You can see how this works in this How-to video.
Liquid - the Liquid channel will define the liquid surface. Liquid is typically in the range 0-1 for Liquid simulations.
Smoke - the Smoke channel will define the liquid surface. Smoke is typically in the range of 0-1 for Fire / Smoke simulations.
Speed - the Speed channel will define the liquid surface. Speed channel output has to be enabled for this to work. Speed is calculated as the length of the velocity vector for each voxel.
Fuel - the Fuel channel will define the liquid surface. Fuel channel output has to be enabled for this to work.
Viscosity - the Viscosity channel will define the liquid surface. Viscosity channel output has to be enabled for this to work.
Invert Liquid Volume | solidbelow – By default, grid values above 0.5 are assumed to be liquid, and values below 0.5 are assumed empty. When enabled, the convention switches to the opposite such that values above 0.5 are assumed empty, and values below 0.5 are assumed to be liquid.
Isosurface Level | surflevel - Allows you to specify a threshold value for the generation of the liquid surface. Grid cells below this value will be ignored. By default, the Isosurface Level is set to 0.5 and should only be modified if there is flickering in the generated geometry. Isosurface Level is used only in Isosurface, Mesh, Ocean Mesh and Cap Mesh Modes.
Isosurf. Sampler | sampler – Determines the blending method between adjacent grid voxels. Used to balance between rendering speed and quality. This parameter is only used when Mode is set to Isosurface.
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.
Column | ||
---|---|---|
| ||
|
Column | ||
---|---|---|
| ||
...
type | note |
---|
The proper value for the Isosurface Level parameter depends on the numerical range of the surface channel. For example, Phoenix 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 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Ocean
Section | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Mesh smooth
Section | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Motion blur
Section | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Displacement
Section | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|