The instructions on this page guide you through the process of creating explosion plume using Chaos Phoenix 4, V-Ray Next and tyFlow v0.16089 (Beta).

Overview


This Advanced Level tutorial guides you through Phoenix simulation settings and the final shot setup. Note that creating a production quality shot of a similar nature may require some tweaks to lighting, materials and/or the Phoenix simulation. Understanding of tyFlow is beneficial but not required.

In this tutorial we show how Phoenix works together with tyFlow.

We generate particles using tyFlow. When bombs hit the ground, bounced particles are procedurally created.

tyFlow's particles contain velocity data and Phoenix can use this data as a source for fire and smoke to produce realistic explosion plumes.

The structure of this tutorial is very similar to another tutorial - Artillery Explosion. However, in this article, we put more attention on the pyro shader and add more details to the fire components. The explosion and rising dust are set to different RGB colors. Together with the color gradient in the volumetric shading, we get colorful and rich result in the final shading.

We take advantage of the Time Base - Particle Age, a powerful feature of the Fire/Smoke Source. It allows you to animate the emission of fluid based on the age of each individual particle.

This simulation requires tyFlow v0.16089 (Beta), Phoenix 4.10 Official Release and V-Ray Next Official Release for 3ds Max 2015 at least. You can download official Phoenix and V-Ray from https://download.chaos.com. If you notice a major difference between the results shown here and the behavior of your setup, please reach us using the Support Form.

 

Press the Download button below to get an archive with the start and end scenes.

This download package does not contain the HDRI maps used in the scene. However, you can download the HDRI maps (quarry_02, made by Sergej Majboroda) from the HDRIHeaven website.

 

<iframe width="800" height="450" src="https://www.youtube.com/embed/pxnFMhTwnhs?version=3&loop=1&playlist=pxnFMhTwnhs" frameborder="0" allowfullscreen></iframe> 

 

Units Setup


Scale is crucial for the behavior of any simulation. The real-world size of the Simulator in units is important for the simulation dynamics.

Large scale simulations appear to move slower, while mid-to-small scale simulations have lots of vigorous movements.

When you create your Simulator, you must check the Grid rollout where the real-world extents of the Simulator are shown. If the size of the Simulator in the scene cannot be changed, you can cheat the solver into working as if the scale is larger or smaller by changing the Scene Scale option in the Grid rollout.

The Phoenix solver is not affected by how you choose to view the Display Unit Scale - it is just a matter of convenience.

As the focus of this tutorial is a large-scale simulation, setting the units to Meters is a reasonable choice.

Go to Customize → Units Setup and set Display Unit Scale to Metric Meters. Also, set the System Units such that 1 Unit equals 1 Meter.

 

Scene Layout


The final scene consists of the following elements:

  1. Plane-bomb-emitter is the plane where the bombs are generated;
  2. Five tyFlow nodes: tyFlow-Bombs, tyFlow-major_explo, tyFlow-V_dust, tyFlow-falling_fire and tyFlow-ground_fire;
  3. Phoenix Fire/Smoke Simulator;
  4. There are total of four Phoenix Fire/Smoke Sources, each representing different component of the explosion;
  5. V-Ray Light Dome for lighting;
  6. V-Ray Physical Camera for rendering;
  7. Shelled Plane001- collision for ground plane;
  8. A car object for creating a sense of scale in the scene;
  9. Phoenix Plain Force as a wind force in the scene;
  10. A point helper for camera shake.

 


 

Underneath the ground plane, at the right corner, you can find geometries that produce the explosion procedurally.

  1. Bomb as the bomb itself;
  2. Cone_V_Dust, Cylinder-ground-fire, Sphere_core001, and Sphere_core002 are the geometries appearing when the bomb hits the ground. They provide the position for the particle emission, allowing us to generate the raised dust and particles for the major explosion.

 


 

In this tutorial we have many fire/smoke Sources that need to be added and the steps can get rather complicated. So let's focus only on the Phoenix related steps and feel free to use the camera and light settings in the provided sample scene.

For your reference, below you can find the camera and light settings.

 


Camera Setting


Add a Command Panel → Cameras → V-Ray → VRayPhysicalCamera.

The exact position of the Camera is XYZ: [ -2.54, -82.2, 4.48 ].

The exact position of the Camera Target is XYZ: [ 0.66, -3.13, 14.89 ].

Aperture → F-Number is set to 4.0.

Aperture → Shutter Speed is set to 200.

Motion Blur is Enabled.

Color & Exposure → White Balance is set to D50.



 

The camera target is linked to a Point helper. The Point has a Noise controller and Ease Curve applied. This way we can have a camera shake effect.


Lighting


Add a Command Panel → Light → V-Ray → VRayLight, create a V-Ray Light in the scene.

The exact position of the V-Ray Light is XYZ: [ 35.6, 0.3, 0.0 ].

Plug a VRayHDRI map to the map slot. Here we use a map called quarry_02_2k.hdr for the HDRI. You can download this map from HDRIHeaven website.

Increase both Overall multi and Render multi to 1.5.

Check the Ground project option, set the Radius to 50.0.

 

tyFlow settings


This section contains information about the tyFlow settings. The setup is not discussed in-depth, it is only provided as a starting point for the Phoenix Simulation.

Here is a preview animation of the particle simulation in its current state.

 

The bomb particles are generated from the emission plane. Once the bombs hit the collision plane, four different helper geometry instances are created at that spot: Cone_V_Dust, Cylinder-ground-fire, Sphere_core001, and Sphere_core002. This way our setup looks like this:

1. tyFlow-Bombs particles are generated from the surface of Plane-bomb-emitter;

2. Major_explo particles are generated from the surface of Sphere_core001;

3. V_dust particles are generated from the surface of Cone_V_Dust;

4. Ground_fire particles are generated from the surface of Sphere_core002;

5. Falling_fire particles are generated from the surface of Cylinder-ground-fire.

<iframe width="800" height="450" src="https://www.youtube.com/embed/QpnAUa30IjA?version=3&loop=1&playlist=QpnAUa30IjA" frameborder="0" allowfullscreen></iframe>

 


 

Here is a list of tyFlow particle groups. It summarizes all the different particles and the geometry instances they are using. Every group is color-coded, so you can easily recognize it in the viewport.

Which particles are emitted from which helper geometries determines the characteristic of an explosion. It could be a landmine explosion, missile or a traditional bomb. For example, if v_dust emits from Cone_V_Dust, the dust rises with 45 degrees and forms a V-shape. If the v_dust emits from the Cylinder-ground-fire, then the particles stream is more straight-up.

You can customize your explosion with different combinations. Here we give you one example per possibility. You can use the scene as a template.

Particles

Emit From

Wireframe Color

Geometry Instance

Bomb

Plane_bomb_emitter

White

Bomb

major explo

Sphere_core001

Orange

-

V_dust

Cone_V_Dust

Green

-

Falling_fire

Sphere_core002

Purple

-

Ground_fire 

Cylinder-ground-fire

Blue

-

 


 

tyFlow-major, tyFlow-V_dust, tyFlow-ground_fire and tyFlow-falling_fire use the tyFlow-Bombs node as their source flow. Therefore, if you want to change the frequency or the numbers of bombs, you have to adjust that in the tyFlow-Bombs node.

 


 

If you want tyFlow particles as an emission source for Phoenix, you need to check the Enable Particle Interface option in your tyFlow - this way Phoenix interprets it as a proper particle system.

 

Note that when the interface is enabled, Phoenix uses the whole particle system. If you want to use only a specific event - you can use the Export Groups in the Particle Groups operator to define which particles the interface to export. 

 

Take the tyFlow-major_explo as an example. For Event_003 we have added the Particle Groups operator, set the Export Groups as group C. Same idea applies to Event_002, as its Export Groups is set to B.

Then in the tyFlow-major_explo Interfaces rollout, click on the C button for the Export Groups. By doing so, we limit only the Event_003 particles to be used for the Phoenix Fire/Smoke source.

 


 

Anatomy of the Artillery Explosion

Here are sample renders of the final simulation, so you can have a better idea of the result each particle group produces.

 

 

Phoenix Simulation


Go to Modify Panel → Create → Geometry → PhoenixFD → FireSmokeSim.

The exact position of the Phoenix Simulator in the scene is XYZ: [ -8.5, 0.25, 0.0 ].

Open the Grid rollout and set the following values:

  • Cell Size: 0.087 m;
  • Size XYZ: [ 132, 157, 86 ] - we keep the Simulator size small enough to cover only a single explosion on the left. For the final simulation, the Size is increased to cover all of the explosions;
  • Container Walls → Wall Z: Jammed (-) - the bottom of the simulator is jammed (closed) so that the smoke does not leave the bounds of the simulation as it travels down;
  • Adaptive Grid: Smoke - the Adaptive Grid algorithm allows the bounding box of the simulation to dynamically expand on-demand. With a Threshold of 0.002, the Simulator expands when the Cells near the corners of the simulation bounding box reach a Smoke value of 0.002 or greater;
  • Enable Expand and Don't Shrink - this way the Adaptive grid does not contract back when there is very thin smoke at the borders of the grid;
  • Enable Max Expansion: X: (104, 69), Y: (214, 0), Z: (0, 339) - to save memory and simulation time by limiting the Maximum Size of the simulation grid.

 


 

Select the Phoenix Simulator → Output rollout and enable the output of Temperature, Smoke, RGB, Velocity and Fuel Grid Channel

If you'd like to perform a Resimulation using Wavelet Turbulence for increasing the simulation detail, enable the Wavelet Grid Channel output.

Any channel that you intend to use after the simulation is complete needs to be cached to disk. For example:

  • Velocity is required at render time for Motion Blur;
  • Temperature is usually used at render time to generate Fire;
  • Wavelet is used for Wavelet turbulence when performing a Resimulation.

 



List of Fire/Smoke Sources and their settings 

We are going to create four different Fire/Smoke Sources. As an overview, we list them here first. Among those sources, only major_explo emits fuel and explodes, as the name implies.

The other sources are:

  • Ground_fire emits the fire on the ground;
  • falling_fire creates the fire trail, coming out of the big explosion;
  • V_dust is created when the bomb hits the ground and rises up in a V-shape. 

Let's create the sources.

Fire / Smoke Source

Emit Mode

Inject Power

Noise

Temperature

Smoke

Fuel

RGB

Motion Velocity

Prt Size

Major Explo

Volume Inject

Frame 17 – 22

1 → 0

0

2200

0.9

 

1

10, 10, 10

1

0.15m

V_Dust

Volume Inject

Frame 17 – 24

1.5 → 1

0.4

-

0.2

-

223, 199, 184

1

0.15m

Falling Fire

Surface Force

Animated over the entire timeline

3

1800

0.03

-

49, 49, 49

1

 

0.4m

Ground Fire

Surface Force

Animated over the entire timeline


3

16001545

0.2

-

49, 49, 49

1

0.3m

 

Adding V-dust Fire/Smoke Sources


Create a Phoenix Fire/Smoke Source in the scene: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename it to PHXSource_V_dust.

Press the Add button to choose which geometry to emit and select the tyFlow-V_dust entry in the Scene Explorer.

 


 

For PHXSource_V_dust:

Set the Emit Mode to Volume Inject and Smoke to 0.2. Disable the Temperature option. Enable the RGB option and set it to light gray color (RGB: 223, 199, 184); Motion Vel. to 1.0; Prt Shape to Sphere, custom; Custom Prt Size to 0.15 m.

From frame 17 to 24, animate the value of Inject Power from 1.5 to 1.0.

We animate the Inject Power, beginning with frame 17 as the first bomb hits the ground at frame 17. If your particle system changes, you need to adjust the timing accordingly.

In this scene the ratio of high temperature and smoke amount is key for the final appearance of the explosion. We deliberately keep the amount of smoke low, so that during rendering the light from the explosion core scatters through the thin smoke and produces convincing-looking result.

Leave the Time Base to its default value (Absolute), we change that later.

 


 

Go to Graph Editors/Track View → Curve Editor and check the curve of PHXSource_V_dust's Inject Power.

Set the first key frame to Tangents to Slow and the second key frame to Tangents to Fast.

 


 

Set the Phoenix Simulator → Simulation rollout → Start Frame to 16 so that it matches the first frame when tyFlow's bomb hits the ground.

The Timeline checkbox needs to be disabled for the numerical field to become editable. By default, the Timeline checkbox specifies the Start Frame as the first frame on the Timeline.

 


 

Here is a Preview Animation of the simulation up to this step.

<iframe width="800" height="450" src="https://www.youtube.com/embed/HCjkGE6xJdQ?version=3&loop=1&playlist=HCjkGE6xJdQ" frameborder="0" allowfullscreen></iframe>

 

Adding Major Explosion Fire/Smoke Source


Add a Phoenix Fire/Smoke Source: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename it to PHXSource-major_explo.

Press the Add button to choose which geometry to emit from and select the tyFlow-major_explo entry in the Scene Explorer.

 


 

For PHXSource-major_explo:

Set the Emit Mode to Volume Inject, Temperature to 2200 and Smoke to 0.9. Enable the Fuel option, and set it to a value of 1.0. Enable the RGB option and set it to a dark gray color (RGB: 10, 10, 10); Prt Shape to Sphere, custom; Custom Prt Size to 0.15 m.

From frame 17 to 22 animate the value of Inject Power from 1.0 to 0.0.

 


 

You can go to Graph Editors/Track View → Curve Editor and check the curve of PHXSource-major_explo's Inject Power.

Set the first key frame to Tangents to Slow and the second key frame to Tangents to Fast as shown.

 


 

To allow Phoenix to burn the fuel from Major_Explo source, select the Simulator and go to the Fuel rollout. Check the Enable Burning option and leave all settings as default for now.

If you want your explosion to emit less smoke and have more fiery look, you can increase the Smoke Threshold amount here. If you want the explosion to swell faster, you can increase the Propagation value. All of these affect the character of the explosion. We'll tweak those parameters a bit later.

 


 

Here is a preview animation of the simulation after the last step. Now we see the explosion and the burning fuel, but the smoke looks too thin.

Let's see how to enhance it.

<iframe width="800" height="450" src="https://www.youtube.com/embed/aAgYBE-xmtE?version=3&loop=1&playlist=aAgYBE-xmtE" frameborder="0" allowfullscreen></iframe>



 

The default render setting of the Smoke color is Constant Color for the entire smoke volume. Let's change it and get more variation.

Select the Phoenix Simulator → Rendering rollout and press the Volumetric Options button.

In the Volumetric Render Settings window set the Smoke Color to be Based on RGB. Set the Smoke Opacity to be based on Smoke and then adjust the curve as in the screenshot.

 

Make sure to enable the RGB channel in the Simulator's Output rollout before you simulate, otherwise you get only black smoke when switching to Based on RGB in this step.

 


 

When you adjust the curve, make sure to reset the left corner point from XY: [ 0.1, 0.0 ] to XY: [ 0.0, 0.0 ]. Otherwise you get smoke with a clamped appearance in the rendering.

 


 

Instead of manually creating the smoke curve yourself, you can load the render preset file from the provided example scene files here.

Note that this action replaces all your rendering and preview settings.

Go to Rendering RolloutRender Presets Load from file and open up the Smoke_Opacity_curve.tpr file.

 


 

Here's a preview of the simulation with the render settings changed.

Now we have thicker smoke appearance and the color variation of the smoke looks more convincing. However, V_dust appears too uniform. Let's tackle that.

<iframe width="800" height="450" src="https://www.youtube.com/embed/q7HRM26PmYU?version=3&loop=1&playlist=q7HRM26PmYU" frameborder="0" allowfullscreen></iframe>

 

Adding Smoke Noise to the V_dust


Let's give the V_dust some randomness.

Set PHXSource_V_dust's Noise to 0.4.

 


 

Run the simulation again.

Let's see a preview animation. Notice that V_dust now looks more organic. However, although many bombs hit the ground, we can only see one fiery explosion in the preview. In the next step, we are going to take care of that.

<iframe width="800" height="450" src="https://www.youtube.com/embed/RYTiLHhseLA?version=3&loop=1&playlist=RYTiLHhseLA" frameborder="0" allowfullscreen></iframe>

 

Time Base


In the previous steps we animated the Outgoing Velocity for each Fire/Smoke Source. The keyframe starts at frame 17 because that is when the first missile hits the ground. However, we have 13 more missiles in the scene. They explode at frames 17, 19, 22, 24, 27, 32, 34, 38, 41, 44, 47, 49, 51 and 54 respectively. Though we can manually set keyframes every time when a bomb explodes, if the particle animation changes, we have to move the keyframes accordingly and that can be very tedious.

Instead we can do something else...

 


 

Thanks to the Time Base option in the Fire/Smoke Source, we can do it in a smarter way.

Set the Time Base to Particle Age instead of Absolute. We simply shift-move the keyframes to begin at frame 0. The Fire/Smoke Source reads the particle age information from tyFlow, so we can have sources emitting fluid with animated strength procedurally.

 

Time Base Particle Age is used when emitting from particle systems. It allows you to animate the parameters using the age of the particle instead of the timeline frame time. It is a very powerful feature of the procedural pyro effect.

This is one of the most important steps for this tutorial. Make sure to change the Time Base to Particle Age, and shift-move the keyframes for every source so they begin at frame 0. In Particle Age Time Base mode, the frames on the timeline denote the age of the particles, so any Source animation at frame 0 is applied to each individual particle at the time of its birth, and then the following animation unfolds throughout the lifetime of the particle. This way particles born at different frames each go though their own emit animation starting from their birth.

Here we show only one example for the V_dust Fire/Smoke Source. Be sure to do the same for the Major_explo Fire/Smoke Source too.

 


 

Shift-move all the keyframes of the two Fire/Smoke Sources to the first frame. This table shows the positions of the new keyframes.

Go to the Phoenix Simulator → Simulation rollout and enable the Start Frame Timeline.

Fire / Smoke Source

Old keyframes position

New Keyframes position

V_dust

Frame 17, 24

Frame 0, 7

Major_explo

Frame 17, 22

Frame 0, 5

 


 

With the new position of the keyframes and the Time Base set to Particle Age, run the simulation again.

Now we start to see multiple explosions in the scene. To improve the fluid simulation, let's switch the conservation method to PCG Symmetric in the next step.

<iframe width="800" height="450" src="https://www.youtube.com/embed/hkgkoAy7sFA?version=3&loop=1&playlist=hkgkoAy7sFA" frameborder="0" allowfullscreen></iframe>

 

PCG Solver


Select the Phoenix Simulator and change the Conservation Method to PCG Symmetric, with a Quality of 40. The PCG Symmetric option is the best method to use for smoke or explosions in general, preserving both detail and symmetry. The high Conservation Quality allows the dust to swirl better. For in-depth information, check the Conservation documentation.

 


 

With the new Conservation Method, run the simulation again. As you can see, our fluid simulation's movement is more realistic now.

<iframe width="800" height="450" src="https://www.youtube.com/embed/esuW5mM1u-U?version=3&loop=1&playlist=esuW5mM1u-U" frameborder="0" allowfullscreen></iframe>

 

Adding Ground_fire Fire/Smoke Source


Add a Phoenix Fire/Smoke Source: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename it to PHXSource-ground-fire.

Press the Add button to choose which geometry to emit from and select the tyFlow-ground_fire entry in the Scene Explorer.

 


 

Set the Emit Mode to Surface Force and Smoke to 0.2. Enable the RGB option and set it to dark gray color (RGB: 49, 49, 49); Motion Vel. to 1.0; Time Base to Particle Age. Prt Shape to Sphere, custom; Custom Prt Size to 0.3 m.

From frame 0 to 70 animate the value of Outgoing Velocity.

Also, from frame 0 to 90, animate the value of Temperature from 1600 to 1545. Details of the animation curve are shown in the next step.

 


 

Go to Graph Editors/Track View → Curve Editor and set keys to the curve of PHXSource-major_explo's Outgoing Velocity and Temperature. We set keyframes to Outgoing Velocity and Temperature, so both change over time. Each frame and value are shown in the screenshots. All keyframes are set to Tangents to Linear.

The idea here is to allow the ground fire to gradually grow and die out, instead of popping out suddenly. You can draw your custom curve as you like.

 


 

Run the simulation again.

Here is a preview animation of the simulation after the last step. Although we have added the ground_fire source to the sim, we still can't see any ground fire in the preview and this is the next thing we will take care of.

<iframe width="800" height="450" src="https://www.youtube.com/embed/CdMByY2sfis?version=3&loop=1&playlist=CdMByY2sfis" frameborder="0" allowfullscreen></iframe>

 

Adding Smoke Noise to the Ground Fire


Let's give V_dust some randomness.
Set PHXSource_V_dust's Noise to 3.0.

 

The Noise parameter can introduce variation in the Outgoing Velocity across the surface or the volume of the emitting geometry or particle. The variation also changes over time. This is a shortcut, instead of using an animated noise texture in the Mask slot.

 


 

Run the simulation again.

Let's see a preview animation of this simulation run. Now we start to see ground fire in the preview. The fire grows gradually once the bombs hit the ground.

<iframe width="800" height="450" src="https://www.youtube.com/embed/uipPcwhxxpQ?version=3&loop=1&playlist=uipPcwhxxpQ" frameborder="0" allowfullscreen></iframe>

 

Adding Falling_fire Fire/Smoke Sources


Create a Phoenix Fire/Smoke Source in the scene: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename it to PHXSource_falling_fire.

Press the Add button to choose which geometry to emit from, and select the tyFlow-falling_fire entry in the Scene Explorer.

 


 

For PHXSource_falling_fire:

Set the Emit Mode to Surface Force and Smoke to 0.03. Set the Temperature to 1800. Enable the RGB option and set it to dark gray color (RGB: 49, 49, 49); Motion Vel. to 1.0; Time Base to Particle Age. Prt Shape to Sphere, custom; Custom Prt Size to 0.4 m.

From frame 0 to 90 animate the value of Surface Force. Details of the animation curve are explained in the next step.

 


 

Go to Graph Editors/Track View → Curve Editor and set keys to the curve of PHXSource_falling_fire's Outgoing Velocity. We set keyframes to Outgoing velocity, so it can change over time. Each frame and value are shown in the screenshots. All keyframes are set to Tangents to Linear.


Again, the idea here is to allow the falling fire to gradually grow and die out, instead of popping out suddenly. You can draw your custom curve as you like.

 


 

Run the simulation again.

Here is a Preview Animation of the simulation up to this step.

<iframe width="800" height="450" src="https://www.youtube.com/embed/U4uDAc4ROGQ?version=3&loop=1&playlist=U4uDAc4ROGQ" frameborder="0" allowfullscreen></iframe>

 


 

As the viewport preview is just an approximation of the final rendering, let's run test renders for frame 50 and frame 90.

We choose two representative frames (frame 50 and 90) for test rendering. However, you can render out other frames as you like.

 


 

We want our explosion to be more fiery and volatile. So, increase the Smoke Threshold in the Simulator's Fuel rollout to 0.1.

Smoke Threshold controls how much of the burning Fuel produces Smoke. Higher values cause less of the burning fuel to produce Smoke.

 


 

Run the simulation again.

Here is a Preview Animation of the simulation up to this step.

<iframe width="800" height="450" src="https://www.youtube.com/embed/eDLJTgNB9_w?version=3&loop=1&playlist=eDLJTgNB9_w" frameborder="0" allowfullscreen></iframe>

 


 

Test render for frame 50 and frame 90. Now the results became brighter with thinner smoke.

 

 


 

We want the bomb to be even more explosive. Let's increase Propagation to 14.0, so the fluid expands faster when the fuel burns.

Propagation controls the speed of expansion of the fire and smoke, generated by the burning fuel. 

 


 

Run the simulation again.

Here is a Preview Animation of the simulation up to this step.

<iframe width="800" height="450" src="https://www.youtube.com/embed/zvBL5zznpkU?version=3&loop=1&playlist=zvBL5zznpkU" frameborder="0" allowfullscreen></iframe> 

 


 

Test render for frame 50 and frame 90. You can see the explosion expands faster.

The default black body volumetric shading looks a bit dull, so let's make it more interesting in the following steps.

 

Volumetric Shading Settings


Go to the Fire/Smoke SimulatorRendering rollout, click on Volumetric Options. Adjust the color gradient and the curve as shown in the image.

The color gradient is set to black-red-orange-yellow representing fire color at different temperatures, from coolest to hottest. Note that the region green highlighted in blueish-green shows the temperature data range for the current timeline frame. When you scrub the timeline, this area changes as the grid content changes. In this case we have fire temperatures ranging from 0 to around 2500 Kelvins. When you set the color ramp and curve, make sure they are within the range of the green area because this is the data that will actually be rendered for this frame.

We used an S-shaped curve. Why did we set it like this? From left to the right, the curve begins with the highest value of Y, then goes down at the highest temperature. By doing so, we can make sure we retain most of the details at a higher temperature, avoiding color washout.

 



Alternatively, load a Rendering Preset from the Smoke_Opacity_curve_and_Fire_color_gradient.tpr file, provided with the sample scene.

 


 

Test render for frame 50 and frame 90. With the new color gradient and curve, the fire and smoke become more vivid and violent in terms of color and shading. However, we need more details in the explosion.

 


 

To alleviate the washout problem in the shading, let's reduce the Light Power on Self and Light Power on Scene to 0.2.

 


 

Render out frame 50 and 90 again. Now we see more details in the explosion.

However, we would also like to see more details in the white smoke in the beginning (frame 50).

 


 

Lower the External Scatter Multiplier to 0.2.

 


 

Render out frame 50 and 90 again. As you can see, more details in the white smoke appear.

 


 

For additional realism to the simulation, we use a Phoenix Plain Force to simulate the effect of wind.

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

Rotate it so that it points in the positive X direction and set the Strength to 1.5 m. Set the Drag to 0.01. Enable the Apply Force Behind Icon option.

The exact Position of the Plain Force in the scene is XYZ: [ -30, 0, 14 ].

When enabling the Apply Force Behind Icon option, the force is applied behind the helper icon. Otherwise, the fluid behind the icon is not affected by the Plain Force.

 


 

With the Plain Force in the scene, simulate again.

Now the explosion shifts slightly to the right as the wind blows.

<iframe width="800" height="450" src="https://www.youtube.com/embed/aktf8LRNORo?version=3&loop=1&playlist=aktf8LRNORo" frameborder="0" allowfullscreen></iframe> 

 

Final Simulation


Since the whole explosion covers a large region, we have to expand the Simulator grid. In order to get a more detailed result we also increase the grid resolution by lowering the Cell Size for the final simulation.

Move the Phoenix Simulator to XYZ: [ 0.365, 0.25, 0.0 ].

Open the Grid rollout and set the following values:

  • Cell Size: 0.07 m;
  • Size XYZ: [ 640, 320, 108 ];
  • Adaptive Grid: Smoke - Threshold of 0.02;
  • Adjust the Max Expansion to: X: (436, 509), Y: (415, 360), Z: (0, 586).

 


 

Here is a Preview Animation of the final simulation.

<iframe width="800" height="450" src="https://www.youtube.com/embed/IZuZ5ZQn_Is?version=3&loop=1&playlist=IZuZ5ZQn_Is" frameborder="0" allowfullscreen></iframe> 


V-Ray Frame Buffer


The final image is rendered using the V-Ray Frame Buffer with the Color Corrections set to:

Exposure:

  • Exposure: 2.69;
  • Highlight Burn: 0.69;
  • Contrast: 0.25.

White Balance:

  • Temperature: 7362.

Bloom/Glare Effect is enabled from the Lens Effects panel:

  • Size: 16.98;
  • Bloom: 0.29;
  • Intensity: 1.51.

 


 

And here is the final rendered result.

There are several parameters affecting the rendering speed of Phoenix volumetric data. You can find some useful tips for rendering optimization in this article: Volumetric Rendering In-Depth.

<iframe width="800" height="450" src="https://www.youtube.com/embed/pxnFMhTwnhs?version=3&loop=1&playlist=pxnFMhTwnhs" frameborder="0" allowfullscreen></iframe>