Versions Compared

Key

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

...


 

Section
Column
width40%

Here's the results with the Buffered Conservation method, Quality of 40 and Uniform Density disabled.

Column
width60%

 

Videoautoplayloop
0chair_conserv_buffered.mp4
1800
2450
3true
4false
5true

 


 

Section
Column
width40%
HTML
To add additional realism to the simulation, we use a 
<div class="tooltip" style="display:inline">Phoenix FD Plain Force<div class="tooltiptext" id="PlainForce_info2">CONTENT NOT FOUND</div></div> 
to simulate the effect of wind.
<br />

Go to the Helpers tab → Phoenix FD and add a Phoenix FD Plain Force. The Plain Force is a simple directional force.

Rotate it so it points in the positive X direction and set the Strength to 250.

UI Text Box
sizemedium
typeinfo

To see how a force will affect the simulation, add it to the Forces list under the Preview rollout of the Phoenix FD Simulator. Then, enable Forces.

This will generate a collection of arrows showing you the direction of the force. You can control the density of the arrows with the Detail Reduction parameter at the top of the Preview rollout.

Note: if GPU preview is enabled, the Forces preview will not show up in the viewport.

Column
width60%



 

Section
Column
width40%

After adding the Plain Force, the fire is blown to the right instead of going straight up. Some extra detail in the flames is also revealed.

UI Text Box
sizemedium
typetip

You could experiment with other forces as well. A Phoenix FD Turbulence force with a low Fractal Depth (so that the noise is not grainy) could give you a good result as well.

Column
width60%

 

Videoautoplayloop
0chair_plain_force.mp4
1800
2450
3true
4false
5true



Phoenix FD Render Settings


 

Section
Column
width40%
HTML
Open the <strong>Phoenix FD Simulator</strong>'s  
<div class="tooltip" style="display:inline">Rendering <div class="tooltiptext" id="FireSmoke_Rendering_Overview_info">CONTENT NOT FOUND</div></div> 
rollout. The <strong>Rendering</strong> rollout contains all the shading and rendering parameters necessary for a Fire/Smoke simulation..
<br />
UI Text Box
sizemedium
typetip

You can gain a decent rendering speed-up by increasing the Step% parameter in the Rendering rollout during the look development stage.

The Step% controls 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 this value is more than 100, some cells will start getting skipped and artifacts may appear but rendering will be faster. For the final render, reduce this value back to 20 as the toolbar preset set it.

Column
width60%

 


 

Section
Column
width40%

Here's how a rendered image looks before any tweaks of the volumetric shader:

As you can see, the fire is too bright, and detail in the flames can hardly be noticed.

Column
width60%

 

 


 

Section
Column
width40%
HTML
Click the
<div class="tooltip" style="display:inline">Volumetric Options<div class="tooltiptext" id="FireSmoke_Rendering_VolumetricOptions_info">CONTENT NOT FOUND</div></div> 
button to access the volumetric shading settings.
<br />
HTML
<br />
Open the
<div class="tooltip" style="display:inline">Smoke Opacity<div class="tooltiptext" id="FireSmoke_SmokeOpacity_Overview_info">CONTENT NOT FOUND</div></div> 
rollout and set
<div class="tooltip" style="display:inline">Based on<div class="tooltiptext" id="FireSmoke_SmokeOpacity_BasedOn_info">CONTENT NOT FOUND</div></div> 
to <strong>Smoke</strong>. 
<br /> <br />
Set the second curve point in the Opacity Diagram to <strong>X: 1.0, Y: 0.3</strong>.
<br />

This will tell the volumetric shader to render the smoke such that the densest areas of the smoke channel will render with a maximum opacity of 0.3

Column
width60%

 


 

Section
Column
width40%
HTML
Open the
<div class="tooltip" style="display:inline">Smoke Color<div class="tooltiptext" id="FireSmoke_SmokeColor_Overview_info">CONTENT NOT FOUND</div></div> 
rollout and set the 
<div class="tooltip" style="display:inline">Constant Color<div class="tooltiptext" id="FireSmoke_SmokeColor_ConstantColor_info">CONTENT NOT FOUND</div></div> 
parameter to <strong>RGB (170, 170, 170)</strong> to make the smoke brighter.
<br />
<br />
Change the 
<div class="tooltip" style="display:inline">Scattering<div class="tooltiptext" id="FireSmoke_SmokeColor_Scattering_info">CONTENT NOT FOUND</div></div>
parameter to 
<div class="tooltip" style="display:inline">Approximate+Shadows<div class="tooltiptext" id="FireSmoke_SmokeColor_Scattering_Approximate_info">CONTENT NOT FOUND</div></div>
. <strong>Scattering</strong> controls how the light rays are scattered inside the volume. The <strong>Ray-traced</strong> option tends to be much slower to render but physically-accurate while the <strong>Approximation</strong> options use internal Phoenix FD algorithms to speed up the rendering process. The difference between the Approximate and Approximate+Shadows is that the latter also affects the strength of shadows cast by the volume over the scene geometry.
<br />
Column
width60%

 


 

Section
Column
width40%
HTML
Open the 
<div class="tooltip" style="display:inline">Fire<div class="tooltiptext" id="FireSmoke_Fire_Overview_info">CONTENT NOT FOUND</div></div> 
rollout. This section controls the emissive (fire) color of the volumetric shader and the light emitted by the simulator. Unlike the smoke color which needs an external light to become visible, the fire will be visible immediately. 
<br />
<br />
For this tutorial, the 
<div class="tooltip" style="display:inline">Fire Opacity Mode<div class="tooltiptext" id="FireSmoke_Fire_FireOpacityMode_info">CONTENT NOT FOUND</div></div> 
is set to <strong>Fully Visible</strong>, with a 
<div class="tooltip" style="display:inline">Fire Multiplier<div class="tooltiptext" id="FireSmoke_Fire_FireMultiplier_info">CONTENT NOT FOUND</div></div> 
 of <strong>15</strong>. Reduce the 
<div class="tooltip" style="display:inline">Light Power on Self<div class="tooltiptext" id="FireSmoke_Fire_LightPowerOnSelf_info">CONTENT NOT FOUND</div></div> 
 to <strong>0.3</strong>.

The process of setting up the Intensity and Color Ramp will usually have the greatest impact on the shading of your fire simulation.

As you can see from the screenshot to the right, there are a dozen or so manually placed colors on the ramp, and the curve has been edited too. Since it's not feasible to describe this in a tutorial, we provide you with a Render Preset file that you can load in your scene to get the exact same settings.

To load the provided preset, go to the Rendering → Render Presets button and select the chair_flames_preset.tpr preset file that came with the project files for this tutorial.

Column
width60%

 


 

Section
Column
width40%

Here's how a rendered image looks with the volumetric shader tweaks:

The fire still looks a bit noisy - the resimulation will take care of that.

Column
width60%

 


 

Section
Column
width40%

For a nicer looking image, you can enable Bloom and Glare effects from the Lens Effects panel in the V-Ray Frame Buffer.

Column
width60%

Retiming the Phoenix FD Simulation


 

Section
Column
width40%

Suppose you want to slow the simulation down twice.

To achieve that, you need to take care of two things:

  1. You need to slow down the motion of the objects in your scene
  2. You need to slow down the Phoenix FD simulation by reducing the Play Speed from the Input rollout of the Simulator.

 

To slow down the animation of your scene objects, open the Time Configuration window, click the Re-scale Time button and set the Length to 120 (assuming you are working with the provided scene file which has a total animation length of 60).

The total length of the animation of will now be doubled.

UI Text Box
sizemedium
typewarning

It's very important to stress that this will not affect the Phoenix FD Simulation.

If you have 60 frames simulated, Re-Scale the timeline to 120 frames and hit the Play button, the simulation will play from frame 0 to frame 60, just like before the Re-Scaling.

The play speed of a Phoenix FD simulation can only be tweaked from the Input roll-out of the Simulator.

Column
width60%



 

Section
Column
width40%

Now that the animation speed of the scene objects is reduced in half, we need to do the same for the Phoenix FD Simulation.

 

HTML
Open the
<div class="tooltip" style="display:inline">Input <div class="tooltiptext" id="FireSmoke_Input_Overview_info">CONTENT NOT FOUND</div></div> 
rollout and set the 
<div class="tooltip" style="display:inline">Play Speed<div class="tooltiptext" id="FireSmoke_Input_PlaySpeed_info">CONTENT NOT FOUND</div></div> 
to <strong>0.5</strong>.
<br />
<br />
Set the 
<div class="tooltip" style="display:inline">Frame Blending<div class="tooltiptext" id="FireSmoke_Input_FrameBlend_info">CONTENT NOT FOUND</div></div> 
method to 
<div class="tooltip" style="display:inline">Velocity<div class="tooltiptext" id="FireSmoke_Input_FrameBlend_Velocity_info">CONTENT NOT FOUND</div></div>
.
<br />
UI Text Box
sizemedium
typeinfo

The Play Speed parameter works as a multiplier for the Playback speed. When set to 1, it reads one cache file for each corresponding timeline frame. If the value is not precisely 1, Phoenix FD generates an intermediate frame by blending the two adjacent cached frames.

This Blending process works really well with FLIP (water) simulations as FLIP particles are fixed points in space, and consequently, the in-between particle positions can be easily determined from the previous and next frames' cache files.

For Fire/Smoke simulations, however, more advanced techniques are required to achieve a slow-down effect.

Reducing the Play Speed is good enough for most Smoke simulations but attempting to blend Fire simulations tends to produce flickering in the fire intensity. The way around this issue is to slow down the simulation from the Input → Play Speed and run a Resimulation. Since the Resimulation process reads the cache files as specified in the Input panel, this will recalculate the dynamics at the reduced speed and provide you with a smoothly slowed-down simulation.

Column
width60%



 

Video
0BurningFuel_Comparison_2.mp4
1100%
2100%

 



 

Section
Column
width40%
HTML
Open the
<div class="tooltip" style="display:inline">Resimulation<div class="tooltiptext" id="FireSmoke_Resimulation_Overview_info">CONTENT NOT FOUND</div></div> 
rollout and enable 
<div class="tooltip" style="display:inline">Grid Resimulation<div class="tooltiptext" id="FireSmoke_Resimulation_EnableGrid_info">CONTENT NOT FOUND</div></div>
and 
<div class="tooltip" style="display:inline">Particle Resimulation<div class="tooltiptext" id="FireSmoke_Resimulation_EnableParticle_info">CONTENT NOT FOUND</div></div>
.
<br /> <br />
Note that when you enable <strong>Resimulation</strong>, Phoenix FD will try to read the cache files for preview and rendering from the <strong>Resimulation Output Path</strong> instead of the 'regular' Output. Don't be alarmed if the viewport goes blank - you can always go back to the original cache files by simply disabling the resimulation.
<br />

The Grid Resimulation takes care of the Temperature/Smoke/Velocity Grid Channels while the Particle Resimulation will affect the Drag particles emitted by the fire source.

HTML
<br />
Set the
<div class="tooltip" style="display:inline">Amp.Resolution<div class="tooltiptext" id="FireSmoke_Resimulation_AmpResolution_info">CONTENT NOT FOUND</div></div> 
to 0. This parameter is used to increase the resolution of the grid for the <strong>Resimulation</strong> process only (just like the Cell Size in the Grid rollout controls the simulator's resolution). <strong>Because we simply want to recalculate the cached sequence, we leave the Amplify Resolution at 0</strong>.
<br />
HTML
<br />
Enable  
<div class="tooltip" style="display:inline">Use Time Bend Controls<div class="tooltiptext" id="FireSmoke_Resimulation_UseTimeBend_info">CONTENT NOT FOUND</div></div> 
and set the 
<div class="tooltip" style="display:inline">Method<div class="tooltiptext" id="FireSmoke_Resimulation_TimeBendMethod_info">CONTENT NOT FOUND</div></div> 
to 
<div class="tooltip" style="display:inline">Slow Down<div class="tooltiptext" id="FireSmoke_Resimulation_TimeBendMethod_SlowDown_info">CONTENT NOT FOUND</div></div> 
. This option works great when trying to produce a slower version of your base simulation, as is the case with our fire.
<br />
HTML
<br />
Set 
<div class="tooltip" style="display:inline">Wavelet Strength<div class="tooltiptext" id="FireSmoke_Resimulation_WaveletStrength_info">CONTENT NOT FOUND</div></div> 
to <strong>0.01</strong>. <strong>Wavelet Turbulence</strong> is used to generate wispy detail in a simulation but we're not looking to add additional details so the <strong>Strength</strong> is reduced to its lowest possible value.
<br />
UI Text Box
sizemedium
typeinfo

If you want to use Wavelet Turbulence, you need to Enable Wavelet Grid channel export from the Output rollout of the simulator. Note that it will take effect only if Amplify Resolution is above 0.

Column
width60%



 

Section
Column
width40%

Set Simulator → Dynamics → Steps per Frame to 1 so you don't lose detail in the re-simulation process.

UI Text Box
sizemedium
typeinfo

In general it's not recommended to change any Dynamics settings between the original simulation and Time-Bend Resimulation because all of them will affect the resimulation.

In order to get the closest match, both the original and resimulation should be run with 1 Step per Frame. Simulating continuous burning fire is one of the rare cases where we can get away with changing the Steps per Frame without dramatically changing the shape of the fluid after Time-Bend resimulation.

Column
width60%

 


 

Section
Column
width40%

Hit Start to begin the resimulation.

Column
width60%



 

Section
Column
width50%

Videoautoplayloop
0chair_fire_before_resim.mp4
1600
2337
3true
4false
5true

before Time Bend resimulation

Column
width50%

 

Videoautoplayloop
0chair_fire_after_resim_noAmpRes_noWavelet.mp4
1600
2337
3true
4false
5true

after Time Bend resimulation



 

Section
Column
width40%
HTML
You can use the 
<div class="tooltip" style="display:inline">Amp.Resolution<div class="tooltiptext" id="FireSmoke_Resimulation_AmpResolution_info2">CONTENT NOT FOUND</div></div> 
option to add extra detail to the simulation during the <strong>Re-Sim</strong> process.
<br /> <br />
The <strong>Amplify Resolution</strong> setting controls the number of voxels that will be used for the grid during resimulation
Here's the simulation above, resimulated with <strong>Amp Resolution</strong> of <strong>1</strong>.
<br />
Column
width60%

Videoautoplayloop
0chair_fire_after_resim_ampRes_1_noWavelet.mp4
1800
2450
3true
4false
5true

resimulation with Amp Resolution 1

 


 

Section
Column
width40%

The painted Vertex Color on the chair geometry will heavily affect the simulation result.

You can always go back to the VertexPaint modifier and tweak the color.

Here is a simulation with a different emission pattern, and an Amp Resolution value of 1.0 for the Resimulation:

The difference between this simulation and the video above is the 'density' of the painted vertex color. The vertex paint in the simulation above is sparser while for this simulation, we used a large brush radius and painted entire sections of the chair, relying on the Cellular texture to add that extra detail in the emission.

Column
width60%

 

Videoautoplayloop
0burning_chair_ampRes_1.mp4
1800
2450
3true
4false
5true



Camera and Lighting


 

Section
Column
width40%

As mentioned in the beginning, the only illumination source for this scene is the fire itself.

The scene file called 001_start.max already has the cameras set up for you. However, for reference, here are their properties:

A V-Ray Physical camera is used for the rendering with the following settings:

F-Number: 2.4

Shutter Speed: 200

ISO: 100

Focal Length: 90

Vignetting: Disabled.

Column
width60%

 

Viewtracker
hidetrue
renderusernamesfalse