Page History
This page provides information on the Rendering rollout for a FireSmoke object Fire/Smoke Simulator and how the grid's content is rendered and controlled.
Overview
...
...
Overview
...
The rendering process in Chaos Phoenix
...
is separated from the simulation
...
process, because simulated caches contain only simulation data, and no render settings.
However, for ease of use, the Fire/Smoke Simulator object also contains a Rendering rollout, which provides flexible options for rendering the simulator grid's content, as well as shading controls for volumetrics.
The Rendering rollout offers multiple render modes, that can be divided into two types: Volumetric and Surfaces.
UI Text Box | ||||
---|---|---|---|---|
size | medium |
| tip | |
For a list of supported Render Elements, please check the V-Ray Render Elements Support page. |
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 | PHXFoam object and add the simulator to it. |
Phoenix FD is able to operate in multiple rendering modes that can be divided into two main branches: volumetric and surfaces. The volumetric modes are used for fire and smoke. 3ds Max materials can't be used to shade volumetrics, so their shading is described in the Fire and Smoke color windows. The surface modes can be used for some interesting fire-related effects, like freezing flame or cartoon-style smoke. Unlike the volumetric modes, surface modes have no dedicated shader; they use the 3ds Max material applied to the simulator.
Advanced control over the shading is provided with the Grid Texture which can be used to drive the properties of a V-Ray material applied to the Phoenix mesh or isosurface. For Volumetric rendering, Phoenix FD provides you with the ability to drive the color and opacity of Fire / Smoke simulations through any of the supported channels (such as Smoke, Speed, RGB, etc.), as long as they are present in the cache files.
UI Text Box | ||||
---|---|---|---|---|
| ||||
UI Path: ||Select Fire Smoke Simulator | FireSmokeSim object|| > Modify panel > Rendering rollout |
Actions
...
Render Presets... – Opens a menu for loading and saving different presets. The following options are available:
Fancy Bullets | ||
---|---|---|
| ||
|
...
Mode | rendmode – Specifies the method for visualizing the grid content.
...
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. |
...
| |
The volumetric modes are typically used for rendering fire and smoke, meanwhile, liquid simulations are typically rendered using one of the surface render modes. |
Since volumetric modes do not have surfaces, 3ds Max and V-Ray materials cannot be used for shading. Instead, their shading is described in the Volumetric Render Settings window, which you can open with the Volumetric Options... button.
UI Text Box | ||
---|---|---|
| ||
The Volumetric Render Settings enable you to shade the Color and Opacity of fire and smoke, using simple color gradients and graph diagrams that you can tweak with curves, to achieve a wide variety of different results. |
Meanwhile, the surface render modes generate a mesh surface, which is based on the channel specified in the Surface parameter dropdown.
Unlike volumetric modes, surface render modes cause the Simulator to behave just as any regular geometry. Thus, a Smoke simulation can be rendered as a polygon mesh with a 3ds Max or V-Ray material applied to it, and there is no need for a dedicated shader. This can be used to create more advanced effects, such as a freezing flame, cartoon-style smoke, or rendering fire as a liquid.
UI Text Box | ||
---|---|---|
| ||
Note that the Fire/Smoke Simulator’s Rendering rollout controls do not apply to any particles contained in the cache file. 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, so the Particle Shader can read the cache data loaded by the Simulator. The Particle Shader can then shade the particles as either Points, Bubbles, Cellular, Splashes, or Fog, depending on the mode you select. |
UI Text Box | ||
---|---|---|
| ||
For a list of supported Render Elements, please check the V-Ray Render Elements Support page. You may also check the Volumetric Rendering In-Depth guide for tips on speeding up the rendering of volumetric effects with V-Ray. |
UI Text Box | ||
---|---|---|
| ||
UI Path: ||Select Fire Smoke Simulator object|| > Modify panel > Rendering rollout |
Actions
UI Text Box | ||
---|---|---|
| ||
Volumetric shading 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. |
Section | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
UI Text Box | ||
---|---|---|
| ||
When the Pin icon is enabled, the Volumetric Render Settings window will remain open even after deselecting the Simulator, Voxel Shader, or V-Ray Volume Grid. The option's default state is set to "Pinned", but if you need to change its behavior, you can do so from the Phoenix FD Global Preferences menu. |
Parameters
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Example: Step %
...
UI Text Box | ||
---|---|---|
| ||
This example shows how the Step % value can be used to improve the quality of the ray-marching. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
Anchor | ||||
---|---|---|---|---|
|
Example: Heat Haze
...
UI Text Box | ||
---|---|---|
| ||
Heat Haze adds refraction at each ray-marching step through the volume. This only affects the camera's view. Heat Haze will not affect shadows cast through a volume. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
Anchor | ||||
---|---|---|---|---|
|
Surface Channel
...
UI Text Box | ||
---|---|---|
| ||
This section controls the conversion of the grid content into geometry. If Mode is set to Mesh, Ocean Mesh, Cap Mesh or Isosurface, the Surface channel needs to be set and an appropriate Isosurface Level must be chosen from this section. The controls in this section also denote the surface used in Gradient and Surface-driven displacement. This way it can affect all render modes, not just the surface modes. The technique for generating the surface is based on the isosurface concept. The resulting surfaces are mostly used to render liquids, but can be used for smoke and fire as well to create effects like underwater bubbles, freezing fire, etc. |
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. For Phoenix smoke, the proper value is about 0.01, and for Phoenix temperature, which is in Kelvins, the value is several hundred. Please check the Grid Channel Ranges page for information about other grid channels.
|
Motion Blur
...
UI Text Box | ||
---|---|---|
| ||
To render your Volumetric Simulation with Motion Blur, you need to enable Velocity channel export from the Output tab of your simulator. |
Section | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Example: Volumetric Motion Blur for Fire
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Example: Volumetric Motion Blur for Explosions
...
Section | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Displacement
...
UI Text Box |
---|
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. |
Cap Mesh – Only the upper liquid surface is rendered. This mode can be used for swimming pools and other placid liquid surfaces.
Div | ||||
---|---|---|---|---|
| ||||
Volumetric Options... – Opens the Volumetric Render settings window which contains the following rollouts:
|
Parameters
...
Step % | rendstep – Specifies the ray marching step of the camera rays as a percentage of the cell size. As the renderer traces rays through the simulator, this value controls how often to get information from the grid. If the this value is more than 100, some cells will start getting skipped and artifacts may appear. If rendering volumetrics with a specific transparency curve, a lower percentage might be necessary so that fine details are not lost. On the other hand, increasing the this value increases the rendering speed. This parameter is used when Mode is set to Volumetric, Volumetric Geometry, Volumetric Heat Haze and Isosurface modes. See the Step % example below.
Shadow Step % | rendshadstep – Specifies the ray marching step of the rays used to evaluate the lighting (shadow rays) as a percentage of the cell size. Usually this value can be higher than Step %, as generally shadows will not need so much detail. Increasing the Shadow Step % will also speed up rendering performance, particularly with dome and area lights.
Fade out | softb – Makes the content near the grid's boundaries more transparent to prevent sharp edges from being rendered. This parameter controls how far from the boundaries the transparent effect should start, in voxels.
Heathaze | heathaze, hhfactor – Traces the ray changing direction according to the gradient of the Surface channel. A value of 1 corresponds approximately to the normal heat haze in air caused by the temperature. If smoke or other channel is selected as source, a larger value might be necessary to achieve a visible result. A value of 0 produces no heat haze. This parameter is available only when Mode is set to Volumetric Heat Haze. See the Heat Haze example below.
Sampler type | sampler – Determines the blending method between adjacent grid cells.
Box – Displays cells as cubes. There is no blending between neighbor cells. This is the fastest mode.
Linear – Linear blending occurs between neighbor cells 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 between this method and the Linear method becomes less noticeable.
...
Inverse 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 Cutter Geom 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. |
...
Example: Step %
UI Text Box | ||||
---|---|---|---|---|
| ||||
This example shows how the Step % value can be used to improve the quality of the ray-marching. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
...
Example: Heat Haze
UI Text Box | ||||
---|---|---|---|---|
| ||||
Heathaze adds refraction at each ray-marching step through the volume. This only affects the camera's view. Heat haze will not affect shadows cast through a volume. |
Section | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|
...
Surface
UI Text Box | ||||
---|---|---|---|---|
| ||||
This section controls the conversion of the grid content into geometry. If Mode is set to Mesh, Ocean Mesh, Cap Mesh or Isosurface, the Surface channel needs to be set and an appropriate Isosurface Level must be chosen from this section. The controls in this section also denote the surface used in Gradient and Surface-driven displacement. This way it can affect all render modes, not just the surface modes. The technique for generating the surface is based on the isosurface concept. The resulting surfaces are mostly used to render liquids, but can be used for smoke and fire as well to create effects like underwater bubbles, freezing fire, etc. |
Surface | 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/Temperature - the Liquid/Temperature channel will define the liquid surface. Temperature is typically in the range 0-1 for Liquid simulations and 600-2000 for Fire / Smoke 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.
Texture | stex – If the Surface channel is set to Texture, this slot specifies the texture. In Mesh, Ocean Mesh, Cap Mesh and Isosurface render modes, the selected map will completely replace the cache files that have been loaded, if any.
Invert volume | solidbelow – By default the values above the surface level are considered internal. When enabled, this option swaps the inside and outside.
...
UI Text Box | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||
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. For Phoenix FD smoke, the proper value is about 0.01, and for Phoenix FD temperature, which is in Kelvins, the value is several hundred.
|
Motion Blur
UI Text Box | ||||
---|---|---|---|---|
| ||||
To render your Volumetric Simulation with Motion Blur, you need to enable Velocity channel export from the Output tab of your simulator. |
...
Multiplier | mbmult – Specifies a multiplier that affects the strength of the motion blur. May also be a negative value.
Prevent self intersection | mbself – The motion blur of the mesh is obtained by shifting each vertex toward the velocity by the shutter time. In certain cases the shifted vertex may penetrate the opposite side of the geometry, causing problems in the rendering. When enabled, this option prevents such situations. The self-intersection analysis is expensive, so enable this parameter only when the issue is noticeable.
Displacement
UI Text Box | ||||
---|---|---|---|---|
| ||||
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. |
...
Section | |||||
---|---|---|---|---|---|
|
...
| ||||
size | medium |
|
---|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
|
...
...
|
...
|
...
|
...
|
...
|
...
...
|
...
|
...
|
...
|
...
|
below.
Anchor | ||||
---|---|---|---|---|
|
Example: Advection Displacement
...
Section | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
Anchor | ||||
---|---|---|---|---|
|
Example: Advection Displacement with a Monochrome Map
...
UI Text Box | ||||
---|---|---|---|---|
| ||||
This example illustrates how displacement is affected when a monochrome map is passed when a vector map is needed. |
Section | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...