Versions Compared

Key

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

he The instructions on this page guide you through the process of creating a nebula using Chaos Phoenix FD 4 and V-Ray GPU.

Overview

...

UI Text Box
typeinfo

This is an Intermediate Level tutorial. Even though no previous knowledge of Phoenix is required to follow along, re-purposing the setup shown here to another shot may require a deeper understanding of the host platform's tools, and some modifications of the simulation settings.

Section
Column
width45%

In this tutorial, we are going to show you how to create a nebula with Phoenix FD. Since a nebula is a giant cloud of dust and gas in space, we will simulate it as smoke and then we will add lights to give it the appearance of a nebula. After simulating with a single Simulator, we will duplicate it into six instances. For better rendering performance we will render the scene using V-Ray GPU.

The simulation requires 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=1ha_b7jgjoT92NcFplKAdDBwSx0mLoLay

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

...

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 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.

Column
width60%

...

Section
Column
width40%
size
UI Text Box
mediumtypeinfo

In this tutorial, we will create a single simulation for the initial setup and then duplicate it six times as an instance for the final setup.

Initial scene setup consists of the following elements:

  1. Torus Knot geometry used for the smoke source.
  2. Phoenix FD Fire/Smoke Simulator (PhoenixFDFire001).
  3. Phoenix FD Fire/Smoke Source emitting Smoke from the Torus Knot geometry.
  4. Omni 001 light for lighting.
  5. V-Ray Camera 001 for look-development rendering.
  6. PHXTurbulence for adding variation to the Smoke's motion.
Column
width60%

...

Section
Column
width40%

The final scene setup consists of the following elements:

  1. Five instances of Phoenix FD Fire/Smoke Simulator (PhoenixFDFire002 ~ 006).
  2. Two more Omni lights (Omni 002 and Omni 003) for lighting.
  3. Circle shape.
  4. V-Ray Camera 002 for final rendering, the camera is path constrained to the Circle shape.
  5. PCloud particle system used as stars.
medium
UI Text Box
size
typenote

The Omni002 and Omni003 lights are turned off, and the PCloud is hidden in the "nebula_max2015_start.max" scene.

Column
width60%

...

Section
Column
width40%

The geometry used for the smoke emission is a Torus Knot. To give it a more organic look, we have applied a Noise modifier to it.

size
UI Text Box
mediumtypeinfo

You can replace the Torus Knot with any other geometry you like, e.g. a donut geometry. The emitter geometry determines the initial shape of the nebula.

In the later stages of the tutorial we will blow away the nebula smoke using Phoenix FD Turbulence to add more variation, though the geometry still plays an important role in the nebula final look.

Column
width60%

...

Lights, Cameras and Environment

...

UI Text Box
sizemedium
typetip

In this tutorial we have many steps to follow. To keep it concise, let's focus only on the Phoenix FD related steps, feel free to use the camera and light settings in the provided sample scene.

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

 

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


Lights Settings


Section
Column
width40%

Details for the three Omni lights.

Column
width60%

 

Position

Multiplier

RGB Color

Decay Type

Start

Omni001

2.5, 0.0, 12.0

2.0

146, 168, 239

Inverse Square

1.0

Omni002

-30.0, 1.0, 33.0

3.0

23, 81, 230

Inverse Square

0.3

Omni003

-32.5, -7.0, 8.5

0.4

47, 89, 224

Inverse Square

1.0

 


 

Section
Column
width40%

For every Omni light, we enable the Atmosphere Shadows option in the Shadow Parameters rollout.

medium
UI Text Box
size
typewarning

Make sure Atmosphere Shadows is enabled when using native 3ds Max lights in the scene. Otherwise the volumetric effects won't cast shadows.

Column
width60%

 

Environment Particle Settings


Section
Column
width40%

A PCloud particle system is used for the stars. To mimic stars, a VRayLight Material is applied to it. The color is set to RGB (255, 180, 107) and the Multiplier to 0.5.

Column
width60%

 

Camera Settings


Section
Column
width40%

We have two cameras in the scene. VRayCam001 is static and VRayCam002 is moving along the Circle shape. Both cameras are set to:

Film speed is set to 800.0.

F-Number is set to 1.4.

Shutter speed is set to 50.0.

 

The exact position of the VRayCam001 is XYZ: [ 3.0, 105.0, 8.0 ].

The exact position of the VRayCam001.Target is XYZ: [ 2.0, -2.5, 12.8 ].


The exact position of the VRayCam002 is XYZ: [ 2.302, 106.991, 12.0 ].

The exact position of the VRayCam002.Target is XYZ: [ 0.5, -2.0, 23.0 ].

Column
width60%

 


 

Section
Column
width40%

VRayCam 002 is path constrained to the Circle shape.

From frame 0 to frame 60, the %AlongPath is keyframed and animated from 21.0 to 25.0.

 

The exact position of the Circle shape is XYZ: [ 0, -3, 12.0 ].

Its orientation is set to XYZ: [ 0, 0, 13.2 ].

Column
width60%

 

...

Phoenix 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: [ -2.0, 0.0, -0.17 ].

Open the Grid rollout and set the following values:

Fancy Bullets
typecircle
  • Scene Scale: 1.0.
  • Cell Size: 0.086 m.
  • Size XYZ: [ 363, 371, 261 ] - we keep the Simulator size small enough to cover only the emission geometry.
  • Adaptive Grid: Smoke - the Adaptive Grid algorithm allows the bounding box of the simulation to dynamically expand on-demand. With a Threshold of 0.02, the Simulator expands when the Cells near the corners of the simulation bounding box reach a Smoke value of 0.02 or greater;
  • Extra Margin: 5.
    The Extra Margin option is useful when the Adaptive Grid algorithm is unable to expand fast enough to accommodate quick movement in the simulation (e.g. an explosion). The Extra Margin attempts to remedy this by expanding the grid preemptively with the specified number of voxels on each side.
  • Enable Expand and Don't Shrink - this way the Adaptive grid will not contract back when there is very thin smoke at the borders of the grid.
  • Enable Max Expansion: X: (500, 500), Y: (500, 500), Z: (500, 500) - to save memory and simulation time by limiting the Maximum Size of the simulation grid.
size
UI Text Box
mediumtypenote

Later in the tutorial we are going to duplicate the Simulator a few times and scatter the copies in the scene.

As we don't want to see any seams where the Simulators overlap, using the Adaptive Grid with the Max Expansion option, prevents us from creating a cropped volume at the Simulator's boundary.

Column
width60%

...

Section
Column
width40%

Select the Phoenix FD Simulator → Output rollout and enable the output of Smoke, Wavelet, and Velocity 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%

...

Section
Column
width40%

Create a Phoenix FD Fire/Smoke Source in the scene: Modify Panel → Create → Helpers → PhoenixFD → PHXSource.

Pressthe Add button to choose which geometry to emit and select the Torus Knot entry in the Scene Explorer.

Column
width60%

...

Section
Column
width40%

For PHXSource:

Set the Emit Mode to Volume Inject, Inject Power to 25.0 and Smoke to 4.0. Disable the Temperature option.

medium
UI Text Box
size
typeinfo

As we want our nebula to appear more opaque in its core, we give the smoke a higher amount.

Column
width60%

...

Section
Column
width40%

Set the Phoenix FD Simulator → Simulation rollout → Stop Frame to 35.

medium
UI Text Box
size
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. It looks a bit dull now. It isn't anything like a nebula at all.

 

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.

medium
UI Text Box
size
typeinfo

At this step, the nebula appears blue because the color of the Omni 001 is set to a light blue color.

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

 

Adding

...

Phoenix Turbulence

...

Section
Column
width40%

Create Helpers Phoenix FD PHXTurbulence.

Position to XYZ: [ -2.5, 9.0, 14.0 ].

Set the Strength to 50.0 and the Size to 30.0 m.

Reduce the Fractal Depth to 1.

Set the Decay type to Inv square.

Then go to the Fire/Smoke Simulator and run the simulation again.

UI Text Box
sizemedium
typewarning

The position of the Phoenix FD Turbulence does affect the result of the simulation. If you didn't set the exact position as mentioned above, you probably won't get the exact same results.

Column
width60%

...

Section
Column
width40%

Once the simulation is complete, go to the Phoenix FD Simulator → Input rollout.

For this tutorial we need only a static nebula, switch the Time Bend Controls Mode to Cache Index. Set the Direct Cache Index to 33.0.

UI Text Box
sizemedium
typetip

You can set the Direct Cache Index to any other frame you like. Different frames create different characteristics of a nebula. Later frames will have more dispersed smoky look due to the Turbulence force.

Column
width60%

...

Section
Column
width45%

Go to the Fire/Smoke SimulatorRendering rollout, click on Volumetric Options.

For the Fire rollout, set the Based on option to Disabled.

For the Smoke Color rollout, set the Based on option to Smoke. Adjust the color gradient as shown in the image.

For the Smoke Opacity rollout, set the Based on option to Smoke. Adjust the curve as shown in the image.

size
UI Text Box
mediumtypeinfo

The Color gradient is set to blue-pink-red-purple-black, representing the smoke color at different smoke densities. From sparse to densest. Feel free to customize the color gradient according to your preference.

Column
width55%

...

Section
Column
width45%

Here is a test rendering up to this step. 

medium
UI Text Box
size
typeinfo

For test rendering, we set the Time Limit to 10.0 for the V-Ray GPU renderer. You can adjust the time limit depending on your hardware.

Column
width55%

...

Section
Column
width45%
size
UI Text Box
mediumtypenote

If we move the Omini 001 light a little behind or move it towards the camera, notice how the nebula dramatically changes, by just changing the light's position.
Comparison images from left to right, with different light positions: Behind (2.5, -12, 12), Center (2.5, 0, 12), Front (2.5, 12, 12).

Column
width55%

...

Section
Column
width40%

Select the Phoenix FD Simulator. Disable the Gravity since a nebula supposedly forms in outer space. Change the Conservation Method to Buffered, with a Quality of 40. Set the Steps Per Frame to 2. The Buffered method has the weakest conservation strength and shortest range, but produces nice details. For in-depth information, check the Conservation documentation.

UI Text Box
sizemedium
typeinfo

As we simulated without the Temperature channel, in this special case, there is no difference in the simulation results with or without gravity.

Column
width60%

...

Section
Column
width40%

Open the Phoenix FD Simulator → Resimulation rollout and enable Grid Resimulation.

Note that when you enable Resimulation, Phoenix FD will try to read the cache files for preview and rendering from the Resimulation Output Path, instead of the 'regular' Output. Don't worry if the Viewport goes blank and the preview disappears - you can always go back to the original cache files by disabling the Resimulation.

Set the Amp.Resolution to 0.2. This parameter is used to increase the resolution of the grid during the Resimulation process.

Set Amp. Method to Wavelet Nice and Wavelet Strength to 1.0.

Press Simulator → Simulation rollout → Start to begin the Resimulation.

UI Text Box
sizemedium
typeinfo

We set the Wavelet Strength to 1.0 instead of 3 (default value), because we want to add details to our base simulation, but without overdoing it.

medium
UI Text Box
size
typenote

You can set the Amp.Resolution to an even higher value to get a more detailed result.

Column
width60%

...

Section
Column
width40%

With the Phoenix FD Simulator selected, hold down the Shift key and using the Move Tool drag the Simulator to the side. Then in the Clone Options set the object type to Instance. Number of Copies to 5. Press OK.

Now we have six Phoenix FD Simulators in the scene (PhoenixFDFire001~006).

UI Text Box
sizemedium
typetip

Alternatively you can use the Edit / Clone dropdown menu to duplicate the Simulator. The benefit of the Shift-Clone method we have mentioned above is that the Cloned Simulators won't be created in the same position. This way it will be easier for us to select them in the viewport.

Column
width60%

...

Section
Column
width40%

Now move and rotate the Simulator instances in the scene, arrange them as the screenshot on the right.

Switch the render camera to V-Ray Camera 002. It is the camera that moves along the circle shape.

UI Text Box
sizemedium
typeinfo

As all the six Simulators are exactly the same, we will have to rotate them in order to avoid any obvious repetition patterns.

Column
width60%

...

Section
Column
width40%
UI Text Box
sizemedium
typeinfo

The table on the right provides the exact location and rotation of each Simulator instance. You can customize the transformation of each Simulator according to your preference.

Column
width10%

 

Column
width50%

 

Position

Rotation

PhoenixFDFire001

-2, 0, -0.17

0, 0, 0

PhoenixFDFire002

38.5, -11.5, 0

0, 0, 125

PhoenixFDFire003

-37, -3, 0

0, 0, -136

PhoenixFDFire004

-3, 0, 50.5

121.5, 0, 0

PhoenixFDFire005

-25, -3, 35.5

87.5, 0, -103.5

PhoenixFDFire006

41.5, 0, 54

156, 0, -58

...

Section
Column
width40%

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

Exposure:

  • Exposure: 0;
  • Highlight Burn: 1.00;
  • Contrast: 0.00.

White Balance:

  • Temperature: 5429.

Color Balance:

  • Cyan-Red: -0.09;
  • Magenta-Green: -0.04;
  • Yellow-Blue: -0.08.

Levels: 0 ~ 1.19.

Curve: Adjust it to a S-shape curve as shown in the screenshot.

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

  • Size: 11.11;
  • Bloom: 0.50;
  • Intensity: 0.51;
  • Threshold: 0.57.

Blades: enabled

  • Sides: 4;
  • Rotation: 45.00;
  • Streak Blur: 0.20.
medium
UI Text Box
size
typetip

The Curve plays the most important role to bring up the image details in in the render.

Column
width60%

...