Versions Compared

Key

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

The instructions on this page guide you through the process of creating an artillery explosion effect using Phoenix FD 4, V-Ray Next and thinkingParticles 6.

Overview


UI Text Box
sizemedium
typeinfo

This is an Advanced Level tutorial. The workflow for setting up the shot and the Phoenix FD settings involved in the simulation are explained in detail. However, creating a production quality shot of a similar nature may require some changes to the lighting, materials and/or the Phoenix FD simulation. Understanding of thinkingParticles is beneficial but not required.

Section
Column
width45%

In this tutorial we demonstrate how to work with thinkingParticles in tandem with Phoenix FD. We generate bombs using thinkingParticles. When missiles hit the ground, bounced debris are procedurally created.

thinkingParticles contain velocity information and Phoenix FD can use them as sources for fire/smoke in order to produce realistic artillery explosions.

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

This simulation requires thinkingParticles 6, Phoenix FD 4.00 Official Release and V-Ray Next Official Release for 3ds Max 2015 at least. If you notice a major difference between the results shown here and the behavior of your setup, please send an email to support@chaosgroup.com.

 

The Download button below provides you with an archive containing the start and end scenes.

UI Button
sizelarge
icondownload
titleDownload Project Files
urlhttps://drive.google.com/uc?export=download&id=1YfGVUhFHxEqtsc3OiKr-diKRFdm9QpvV

Column
width55%
HTML
<iframe width="720" height="480" src="https://www.youtube.com/embed/e3kdkMJ9WwY?version=3&loop=1&playlist=e3kdkMJ9WwY" frameborder="0" allowfullscreen></iframe>

Units Setup


 

Section
Column
width40%

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 FD 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 seems like 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.

Column
width60%

Scene Layout


 

Section
Column
width40%

The final scene consists of the following elements:

  1. Plane-bomb-emitter is a plane where bombs are generated;
  2. thinkingParticles node (Thinking001);
  3. Phoenix FD Fire/Smoke Simulator;
  4. There are total of7 Phoenix FD Fire/Smoke Sources, each representing different component of the explosion;
  5. V-Ray Sun&Sky for lighting;
  6. V-Ray Physical Camera for rendering;
  7. Shelled Plane001-collision for ground plane;
  8. Car and Posts geometry for additional detail, as well as for creating a better sense of scale in the scene;
  9. PlainForce as a wind force in the scene;
  10. A point helper for camera shake.
Column
width60%

 


 

Section
Column
width40%

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

  1. Bomb-Geo as the bomb itself;
  2. Rock 01 ~ 06 are six geometries for debris;
  3. Pointy, Cone_smaller, Con_bigger, Cylinder and Sphere_core are the geometries generated when the bomb hits the ground. They provide the position of the particle emission, allowing us to generate the raised dust, debris or particles for the major explosion.
Column
width60%

 


 

Section
Column
width40%

Notice that these helper geometries affect the bouncing angle of the particles. For example, for the Cone_bigger geometry, the slope is roughly 45 degrees. Therefore, when the dust particles rise, the slope gets to be 45 degrees.

You can customize your explosion by adjusting the helper geometry.

Column
width60%

 


 

UI Text Box
sizemedium
typetip

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

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

 

Expand
titleClick here to see the Camera and Light Settings...

 Camera Setting


 

Section
Column
width40%

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

The exact position of the Camera is XYZ: [ 0, -73, 5 ].

The exact position of the Camera Target is XYZ: [ -2, -0.9, 13 ].

The Aperture → F-Number is set to 8.0.

The Aperture → Shutter Speed is set to 1000.

Motion Blur is Enabled.

Color & Exposure → White Balance is set to D50.

Column
width60%



 

Section
Column
width40%

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.

Column
width60%


Lighting



Section
Column
width40%

Add a Command Panel → Light → V-Ray → VRaySun, create a V-Ray Sun & Sky system in the scene.

The exact position of the V-Ray Sun is XYZ: [ -209.5, -208, 55.5 ].

The exact position of the V-Ray Sun Target is XYZ: [ -39, -2.5, 0 ].

Set sky model to CIE Overcast.

Column
width60%

thinkingParticles Simulation


The next couple of sections contain instructions for caching the thinkingParticles simulation. The setup is not discussed in-depth, it is only provided as a starting point for the Phoenix FD Simulation.


 

Section
Column
width40%

To cache the thinkingParticles simulation to disk, select the thinkingParticles node (Thinking001) in the Scene Explorer and open the Properties window.

Select Master Dynamic → Artillery_Explosion.

Column
width60%

 


 

Section
Column
width40%

Under the Playback Cache section, select the Output Path for the cache files and press Record.

That's all. Once the thinkingParticles simulation is cached, we can proceed with the Phoenix FD Simulation.

Column
width60%

 


 

Section
Column
width40%

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

As you can see, bomb_geo is generated from Plane_bomb_emtter. Once the missiles hit Plane001_collision, five different helper geometry instances are placed at that spot: Pointy, Cone_smaller, Con_bigger, Cylinder and Sphere_core. Then,


1. Major_explo particles are generated from the surface of Pointy_geo;
2. Upward_dust particles are generated from the surface of Sphere_geo;
3. Falling_dust particles are generated from the surface of Cone_smaller_geo;
4. V_dust particles seed A and V_dust particles seed B are generated from the surface of Cone_bigger_geo;
5. V_dust_A particles are generated based on the surface position of V_dust particles seed A. Similarly, V_dust_B particles are generated based on the surface position of V_dust particles seed B;
6. shockwave short particles are generated from Cylinder_geo;
7. shockwave long particles are generated from Cylinder_geo;
8. Debris particles are generated from Cone_bigger_geo, and use 6 of the rock geometries as instances.

UI Text Box
sizemedium
typenote

V_dust_A and V_dust_B are essentially the same particles. As we want some color difference in the dust smoke, we split them into two particle groups.

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

 


 

Section
Column
width40%
UI Text Box
sizemedium
typetip

The preview animation above is done with the Show Mesh option in the thinkingParticles enabled. You can turn that off for better viewport performance.

Column
width60%

 


 

Section
Column
width50%

Here is a list of thinkingParticles. It summarizes all the different particles and their geometry instances. All are color-coded, so you can easily recognize them in the viewport.

UI Text Box
sizemedium
typeinfo

Which particles are emitted from which helper geometry 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_bigger_geo, the dust rises with 45 degrees and forms a V-shape. If the v_dust emits from the Sphere_geo, then the particles stream is sprayed out.

You can customize your explosion with different combinations. Here we give you different examples and you can use the scene as a template.

Column
width50%

Particles

Emit From

Wireframe Color

Geometry Instance

Missile

Plane_bomb_emitter

red

Missile_geo

upward dust

Sphere_geo

red

-

falling dust

 Cone_smaller_geo

yellow

-

major explo

Pointy_geo

orange

-

v_dust A

Cone_bigger_geo

Bright green

-

v_dust B

Cone_bigger_geo

Dark green

-

shockwave_short

Cylinder_geo

blue

-

shockwave_long

Cylinder_geo

purple

-

Debris 

Cone_bigger_geo

white

Rock 01 ~ 06

 


 

Section
Column
width40%

Anatomy of the Artillery Explosion

Here we show the final result of the explosion, so you can have a better idea of how the different elements look like.

Column
width60%

Phoenix FD Simulation


 

Section
Column
width40%

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

The exact position of the Phoenix FD Simulator in the scene is XYZ: [ -15, 0, 0 ].

Open the Grid rollout and set the following values:

Fancy Bullets
typecircle
  • Cell Size: 0.08 m;
  • Size XYZ: [ 239, 230, 65 ] - at the start of the tutorial the Simulator size covers only one single explosion on the left. For the final simulation, the Size is increased so that every explosion is confined in the grid;
  • 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.001, the Simulator expands when the Cells near the corners of the simulation bounding box reach a Smoke value of 0.001 or greater;
  • Extra Margin: 8 - the Extra Margin option is useful when the Adaptive Grid algorithm is unable to expand fast enough to accommodate for quick movement in the simulation (e.g. an explosion). The Extra Margin parameter attempts to remedy this by expanding the grid preemptively with the specified number of voxels on each side;
  • Enable Expand and Don't Shrink so the grid does not shrink when a Cell is empty. This may cause clipping issues for very thin smoke;
  • Enable Max Expansion: X: (0, 0), Y: (0, 0), Z: (0, 625) - to save memory and simulation time by limiting the Maximum Size of the simulation grid.
Column
width60%

 


 

Section
Column
width40%

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

UI Text Box
sizemedium
typetip

If you'd like to perform a Resimulation using Wavelet Turbulence, enable the Wavelet Grid Channel.

UI Text Box
sizemedium
typeinfo

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

Fancy Bullets
typecircle
  • 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.
Column
width60%

 


We are going to create seven 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: Upward dust  is white dust that flies upward; falling_dust  is the dust that creates dust trails as particles fly; V_dust  is created when the bomb hits the ground and rises up in V-shape. We have two types of shockwaves: one runs slower (shockwave_short) and the other runs faster (shockwave_long).


Section
Column
width40%

List of Fire/Smoke Sources and their settings

Let's create the sources.

Column
width60%

Fire / Smoke Source

Emit Mode

Inject Power

Noise

Temperature

Smoke

Fuel

RGB

Motion Velocity

Prt Size

Upward Dust

Volume Inject

Frame 17 25

10 → 0

0

-

1

 

-

220, 215, 212

1

0.04m

Falling Dust

Volume Inject

Frame 17 67

10 → 0

0

-

1

-

92, 70, 52

1

0.06m

Major Explo

Volume Inject

Frame 17 20

2 → 0

0

Frame 17 20

2500 → 300

1

1

1, 1, 1

1

 

0.2m

V_Dust A

Volume Inject

Frame 17 – 26

1.5 → 0

0.5

-

1

-

64, 61, 59

1

0.15m

V_Dust B

Volume Inject

Frame 17 – 26

1.5 → 0

0.5

-

1

 

-

36, 27, 23

1

0.15m

Shockwave_Short

Volume Inject

1.0

0

-

0.25

-

176, 152, 126

1

0.15m

Shockwave_Long

Volume Inject

Frame 17 – 19

1.0 → 0

0

 

-

0.25

-

123, 94, 64

1

0.05m

 

Adding V-dust Fire/Smoke Sources


 

Section
Column
width40%

Create two Phoenix FD Fire/Smoke Sources in the scene: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename them to PHXSource_V_Dust_A and PHXSource_V_Dust_B respectively.

Pressthe Add button to choose which geometry to emit and select the thinkingParticles node (Thinking001) entry in the Scene Explorer.

A pop-up window appears listing all Particle Groups of the thinkingParticles simulation. Choosethe Particles [V_dust_A] group and press OK.

Repeat the process above for V_dust_B by adding the [V_dust_B] group in its Emitter Nodes.

Column
width60%

 


 

Section
Column
width40%

1. For PHXSource_V_dust_A

Set the Emit Mode to Volume Inject and Smoke to 1.0. Enable the RGB option and set it to dark gray color (RGB: 64, 61, 59); Motion Vel. to 1.0; Prt Shape to Sphere, custom; Custom Prt Size to 0.15 m.

From frame 17 to 26, animate the value of Inject Power from 1.5 to 0.0.

2. For PHXSource_V_dust_B

We name this source V_dust because its shape looks like V as the dust rises.

Set the Emit Mode to Volume Inject and Smoke to 1.0. Enable the RGB option and set it to dark gray color (RGB: 36, 27, 23); Motion Vel. to 1.0; Prt Shape to Sphere, custom; Custom Prt Size to 0.15 m.

From frame 17 to 26, animate the value of Inject Power from 1.5 to 0.0.

 

UI Text Box
sizemedium
typenote

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 will need to adjust the timing accordingly.

UI Text Box
sizemedium
typetip

The settings of V_dust_A and V_dust_B are the same except for the RGB color. We use two different colors to give the rising dust some variation.

The Custom Prt Size affects the amount of fluid emitted from a source. In this case the appropriate value for this scene is (0.15 m) . If your scene differs, you can try and experiment with different values.

 


 

Column
width60%

 


 

Section
Column
width40%

Go to Graph Editors/Track View → Curve Editor andcheck the curve of PHXSource_V_dust_A's Inject Power.

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

Same applies for PHXSource_V_dust_B.

Column
width60%

 


 

Section
Column
width40%

Set the Phoenix FD Simulator → Simulation rollout → Start Frame to 16 so that it matches the start frame of the thinkingParticles simulation.

UI Text Box
sizemedium
typetip

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

Column
width60%

 


 

Section
Column
width40%

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

UI Text Box
sizemedium
typetip

To enable the GPU Preview as seen in the video, select the Phoenix FD Simulator → Preview rollout → GPU Preview → Enable in Viewport.

Column
width60%
HTML
<iframe width="800" height="450" src="https://www.youtube.com/embed/ej9Qz2Q-3R8?version=3&loop=1&playlist=ej9Qz2Q-3R8" frameborder="0" allowfullscreen></iframe>

Adding Major Explosion Fire/Smoke Source


 

Section
Column
width40%

Add a Phoenix FD 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 thinkingParticles node (Thinking001) entry in the Scene Explorer.

A pop-up window appears listing all Particle Groups of the thinkingParticles simulation. Choose the Particles [Major_Explo] group and press OK.

Column
width60%

 


 

Section
Column
width40%

Set the Emit Mode to Volume Inject and Smoke to 1.0. Enable the Fuel option. Enable the RGB option and set it to dark gray color (RGB: 1, 1, 1); Motion Vel. to 1.0; Prt Shape to Sphere, custom; Custom Prt Size to 0.2 m.

From frame 17 to 20 animate the value of Inject Power from 2.0 to 0.0.

Also, animate the value of Temperature from 2500 to 300.

UI Text Box
sizemedium
typenote

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

We also animate the Temperature of the exploding bomb - hot in the initial phase and then cools down to room temperature.

Column
width60%

 


 

Section
Column
width40%

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

For the Inject Power, set the first key frame to Tangents to Fast and the second key frame to Tangents to Slow as shown. For the Temperature, set the first key frame to Tangents to Slow andthe second key frame to Tangents to Fast.

Column
width60%

 


 

Section
Column
width40%

To allow Phoenix FD to burn the fuel from Major_Explo source, select the PhoenixFDFire Simulator and go to the Fuel rollout. Check the Enable Burning option and leave all settings at their defaults.

UI Text Box
sizemedium
typetip

If you want your explosion to emit less smoke and have a more fiery look, you can decrease the Smoke Amount here. If you want the explosion to swell faster, you can increase the Propagation value. All of these options will affect the character of the explosion.

Column
width60%

 


 

Section
Column
width40%

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

Let's see how to enhance it.

Column
width60%
HTML
<iframe width="800" height="450" src="https://www.youtube.com/embed/Na-s5Rg0H-Y?version=3&loop=1&playlist=Na-s5Rg0H-Y" frameborder="0" allowfullscreen></iframe>

 


 

Section
Column
width40%

The default setting of the Smoke color is Constant color. Let's tweak the Smoke Color to get more variation.

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

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

Column
width60%

 


 

Section
Column
width40%
UI Text Box
sizemedium
typetip

Instead of manually creating the smoke curve yourself, you can load the preset file from the provided sample.

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

Column
width60%

 


 

Section
Column
width40%

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

As you can see now, we now have thicker smoke appearance. The color variation of the smoke looks more convincing. However, V_dust appears too uniform and the smoke rises too fast. Let's tackle that.

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

Adding Smoke Noise to the V_dust


 

Section
Column
width40%

Let's give V_dust some randomness.
Set both the PHXSource_V_dust_A and PHXSource_V_dust_B's Noise to 0.5.

Column
width60%

 


 

Section
Column
width40%

Select the PhoenixFDFire Simulator in the scene. Go to Dynamics rollout. Set the Smoke Buoyancy to -2.0.

Column
width60%

 

 


 

Section
Column
width40%

Run the simulation again.

Let's see a preview animation. Notice that V_dust now looks more organic. And the smoke rises more gently, it even falls on the ground with time.

UI Text Box
sizemedium
typetip

There are a few ways to randomize your fluid:

1. The one we described here - the noise parameter in a Fire/Smoke source;

2. Using the Randomize Amount in the Dynamics rollout of a Simulator;

3. Adding a Phoenix FD turbulence in the scene.

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

Adding Upward_dust Fire/Smoke Source


 

Section
Column
width40%

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

Pressthe Add button to choose which geometry to emit from and select the thinkingParticles node (Thinking001) entry in the Scene Explorer.

A pop-up window appears, listing all Particle Groups of the thinkingParticles simulation.

Choose the Particles [Upward_dust] group and press OK.

Column
width60%

 


 

Section
Column
width40%

Set the Emit Mode to Volume Inject and Smoke to 1.0.

Enable the RGB option and set it to white color (RGB: 220, 215, 212); Motion Vel. to 1.0; Prt Shape to Sphere, custom. and Custom Prt Size to 0.04 m.

From frame 17 to 25 animate the value of Inject Power from 10.0 to 0.0.

Column
width60%

 


 

Section
Column
width40%

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

For Inject Power, set the first key frame to Tangents to Slow and the second key frame to Tangents to Fast.

Column
width60%

 


 

Section
Column
width40%

With the PHXSource-upward_dust in the scene, run the simulation again.

We start to see more details in the explosion.

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

Adding the Falling_dust Fire/Smoke Source


 

Section
Column
width40%

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

Pressthe Add button to choose which geometry to emit from and select the thinkingParticles node entry in the Scene Explorer.

A pop-up window appears listing all Particle Groups of the thinkingParticles simulation.

Choose the Particles [falling_dust] group and press OK.

Column
width60%

 


 

Section
Column
width40%

Set the Emite Mode to Volume Inject and Smoke to 1.0. Enable the RGB option and set it to brown color (RGB: 92, 70, 52); Motion Vel. to 1.0; Prt Shape to Sphere, custom.; Custom Prt Size to 0.06 m.

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

Column
width60%

 


 

Section
Column
width40%

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

For the Inject Power, set the first key frame to Tangents to Slow and the second key frame to Tangents to Slow.

Column
width60%

 


 

Section
Column
width40%

With the Falling_dust Fire/Smoke in the scene simulate again. The smoke trails are visible in the explosion now.

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

Adding Shockwave Fire/Smoke Sources


 

Section
Column
width40%

Create two Phoenix FD Fire/Smoke Sources in the scene: Modify Panel → Create → Helpers → PhoenixFD → PHXSource. Rename them to PHXSource_shockwave_short and PHXSource_shockwave_long respectively.

Pressthe Add button to choose which geometry to emit from and select the thinkingParticles node (Thinking001) entry in the Scene Explorer.

A pop-up window appears listing all Particle Groups of the thinkingParticles simulation. Choose the Particles [Shockwave_short] group and press OK.


Repeat the process above for Shockwave_long particle group.

Column
width60%

 


 

Section
Column
width40%

1. For PHXSource_shockwave_short: Set the Emit Mode to Volume Inject; Inject Power to 1.0; Smoke to 0.25. Enable the RGB option and set it to light brown color (RGB: 176, 152, 126); Motion Vel. to 1.0; Prt Shape to Sphere, custom.; Custom Prt Size to 0.15 m.

2. For PHXSource_shockwave_long: Set the Emit Mode to Volume Inject; Smoke to 0.25. Enable the RGB option and set it to brown color (RGB: 123, 94, 64); Motion Vel. to 1.0; Prt Shape to Sphere, custom.; Custom Prt Size to 0.05 m.

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

UI Text Box
sizemedium
typenote

We don't want the shockwave to be too thick, that's why we reduce its amount to 0.25. Same goes for the Custome Prt Size that affects the overall amount of smoke emission.

Here we give you the appropriate value for this scene, but in real production you have to try and find an optimal value for your scene.

Column
width60%

 


 

Section
Column
width40%

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

For Inject Power, set the first key frame to Tangents to Fast and the second key frame to Tangents to Slow.

Column
width60%

 


 

Section
Column
width40%

The shockwave is faster and expands to larger scale, so let's extend our Simulator Grid to be slightly bigger. 

Open the Grid rollout and set the following parameters:

Fancy Bullets
typecircle
  • Size XYZ: [ 239, 230, 65 ];
  • Adjust the Max Expansion to: X: (150, 36), Y: (108, 0), Z: (0, 625).
Column
width60%

 


 

Section
Column
width40%

With the two shockwave sources in the scene, run the simulation again.

You can now see the two layers of shockwaves: one runs faster and the other slower. All these seven Fire/Smoke sources complete the single explosion.

With this we completed the settings for a single explosion from frame 17. We have added the whole set of Fire/Smoke sources in the scene. Now it's time to simulate all the explosions in the scene.

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

The Final Simulation


Section
Column
width40%

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 FD Simulator to XYZ: [ -22, 0, 0 ].

Open the Grid rollout and set the following values:

Fancy Bullets
typecircle
  • Cell Size: 0.07 m;
  • Size XYZ: [ 654, 262, 74 ];
  • Adaptive Grid: Smoke - Threshold of 0.001;
  • Adjust the Max Expansion to: X: (479, 380), Y: (454, 454), Z: (0, 714).
Column
width60%

 


 

Section
Column
width40%
UI Text Box
sizemedium
typewarning

Not only the Simulator Grid needs to be changed, but we also have to adjust every Fire/Smoke source in the scene.

In the previous steps we animated the Outgoing Velocity of each Fire/Smoke Sources. The keyframe starts at frame 17 because that is when the first missile hits the ground. However, we have 5 more missiles in the scene. They explode at frames 17, 23, 29, 35, 41 and 47 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...

Column
width60%

 


 

Section
Column
width40%

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. By doing so, we don't need to set multiple follies of keyframes to the Fire/Smoke. We simply shift-move the keyframes to begin at frame 0. The Fire/Smoke source reads the particle age information from thinkingParticles, so we can have sources emitting fluid procedurally.

 

UI Text Box
sizemedium
typenote

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 the most important step for the tutorial, make sure to change the Time Base to Particle Age, and shift-move the keyframes for every source to begin at frame 0. Otherwise, the emission for the explosions will not work correctly.

UI Text Box
sizemedium
typewarning

Here we show only one example for the Upward_dust Fire/Smoke Source. Be sure to do the same for all six other Fire/Smoke Sources in the scene.

Column
width60%

 


 

Section
Column
width50%

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

Column
width50%

Fire / Smoke Source

Old keyframes position

New Keyframes position

Upward Dust

Frame 17, 25

Frame 0, 8

Falling Dust

Frame 17, 67

Frame 0, 50

Major Explo

Frame 17, 20

Frame 0, 3

V_Dust A

Frame 17, 26

Frame 0, 9

V_Dust B

Frame 17, 26

Frame 0, 9

Shockwave_Short

-

-

Shockwave_Long

Frame 17, 19

Frame 0, 2 

 


 

Section
Column
width40%

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

Everything looks good, but we can add a wind force in the scene for additional realism.

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

 


 

Section
Column
width40%

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

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 that it points in the positive X direction and set the Strength to 0.5 m. Enablethe Apply Force Behind Icon option.

The exact Position of the Plain Force in the scene is XYZ: [ -28, -1, 18 ].

UI Text Box
sizemedium
typewarning

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

Column
width60%

 


 

Section
Column
width40%

With the Plain Force in the scene, simulate again.

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

We are ready for the final render.

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

V-Ray Frame Buffer


 

Section
Column
width40%

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

Exposure:

  • Exposure: -0.37;
  • Highlight Burn: 1.00;
  • Contrast: 0.14.

Hue / Saturation:

  • Saturation: 0.28.

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

  • Size: 30.00;
  • Bloom: 0.40;
  • Intensity: 1.70.
Column
width60%

 


 

Section
Column
width45%

And here is the final rendered result.

Column
width55%
HTML
<iframe width="960" height="540" src="https://www.youtube.com/embed/e3kdkMJ9WwY?version=3&loop=1&playlist=e3kdkMJ9WwY" frameborder="0" allowfullscreen></iframe>