Versions Compared

Key

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

...

UI Text Box
typetip

UI Path: ||Select Fire Smoke Simulator | FireSmokeSim|| > Modify panel > Dynamics rollout

 

Parameters

...

General

...

Section
Column
width55%

Anchor
InertialForces
InertialForces

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_MotionInertia

Motion Inertia | ext_wind, inert_mul – When enabled, moving the simulator object over a series of frames causes inertial forces in the opposite direction of the movement. This allows you to link the simulator to a moving object and keep the size of the grid relatively small, as opposed to creating a large grid that covers the entire path of the moving object. Motion Inertia can be used for moving ground and water vehicles, torches, fireballs, rockets, etc.

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_Gravity

Gravity | gravgmulextgrav – Phoenix Gravity makes the liquids fall down and makes fire rise up. In fire/smoke simulations it creates velocities depending on the Temperature channel. In voxels where the Temperature is above 300 (in Kelvins, which is room temperature), Gravity will create upwards velocities. Where Temperature is below 300, the opposite will happen - velocities will be created pointing downwards. The hotter the fluid, the faster it will rise, and the cooler the fluid below 300, the faster it will fall down. The Gravity option is a multiplier, so using the default 1.0 will make it behave like real world gravity, setting it to 0.0 will disable its effect completely, and you can also use negative values, which will inverse the gravity effect.

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_TimeScale

Time Scale | timescale – Specifies a time multiplier that can be used for slow motion effects. In order to achieve the same simulation look when changing the time scale, the Steps per framePer Frame value must be changed accordingly. For example, when decreasing the Time Scale from 1.0 to 0.5, Steps per framePer Frame must be decreased from 4 to 2. And of course, all animated objects in the scene (moving objects and sources) must be adjusted as well. Time Scale different than 1 will affect the Buildup Time of Particle/Voxel Tuners and the Phoenix Mapper. In order to get predictable results you will have to adjust the buildup time using this formula:
Time Scale * Time in frames / Frames per second

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_Cooling

Cooling | cooling – This parameter controls the cooling of the fluid due to radiation. It gradually decreases the temperature until it reaches 300.

UI Text Box
typeinfo

Phoenix temperatures are in Kelvin, so 300 is room temperature - the temperature where the smoke neither ascends nor descends. A Cooling value of 1.0 corresponds approximately to the speed real smoke with a half thickness of 4 meters cools down. The real cooling is a very complicated process similar to the Global Illumination rendering, so here a simplified formula is used. You can find out more about Phoenix Grid Channel Ranges here.

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_SmokeDissipation

Smoke Dissipation | smdiss – Used in simulations where the smoke needs to disappear, for example steam, clouds, etc. If you set this parameter to the maximum value of 1, the smoke will disappear immediately.

Anchor
SmokeBuoyancy
SmokeBuoyancy

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_SmokeBuoyancy

Smoke Buoyancy | smoke_bcy – The buoyancy of the smoke. Positive values make the smoke move upwards. Negative values make it move downwards.

Div
stylemargin-top: 10px
idFireSmoke_Dynamics_FuelBuoyancy

Fuel Buoyancy | fuel_bcy – Specifies the buoyancy of the fuel.

Column
width5%

 

Column
width40%

...

UI Text Box
typeinfo

Phoenix may perform advection more than once per frame, or once in a number of frames, depending on the Steps per frame Per Frame (SPF) parameter.

When you press simulate, the activity of the fluid in all of the voxels is calculated in sequential steps, representing the passage of time. The order of steps is always sequential, meaning the simulator will calculate fluid properties sequentially from one step to the next, until you have a series of steps that map out the fluid’s behavior over time.

The number of steps can be modified using the Steps per frame Per Frame (SPF) parameter, which determines how time is subdivided, and has a significant impact on the behavior, quality and performance of the simulation.

UI Text Box
typetip

To get the most detail for fire and smoke simulations, it is best to keep the Steps per frame Per Frame (SPF) low. On the other hand, a higher SPF works better to keep liquid simulations smooth and steady, and can also produce better results for fast moving fluids in general.

Section
Column
width55%

Anchor
AdvectionMethod
AdvectionMethod

Method | advtype – Specifies the algorithm used for calculating the advection. For more information, see the Advection Method Types example below.

Forward Transfer – This method can help if you are losing fluid volume in more rapid simulations, but is less detailed than Multi-Pass and could also be less stable.
Multi-Pass – This less dissipative method produces more fine details and keeps the smoke interface sharper compared to other methods. This method is recommended for large scale explosions, veil-like smoke, pyroclastic flows, and all other situations where sharpness is important.

Anchor
SPF
SPF

Steps Per Frame (SPF) | spf – Determines how many calculations the simulation will perform between two consecutive frames of the timeline. For more information, see the Steps per Per Frame example below.

UI Text Box
typeinfo

Steps Per Frame (SPF) is one of the most important parameters of the simulator, with a significant impact on quality and performance. To understand how to use it, keep in mind that the simulation is a sequential process and happens step by step. You cannot take a shortcut to simulate the last frame of a simulation, without first simulating all of the frames that come before it, one by one.

The simulation produces good results if each step introduces small changes to the sim.

For example, if you have an object that is hitting a liquid surface with a high speed, the result will not be very good if at the first step, the object is far away from the water, and at the second step, the object is already deep under the water. You need to introduce intermediate steps, until the object's movement becomes small enough that it happens smoothly across all steps for that frame.

The SPF parameter creates these steps within each frame. A value of 1 means that there are no intermediate steps, and each step is exported into the cache file. A value of 2 means that there is one intermediate step, i.e. each second step is exported to the cache file, while intermediate steps are simply calculated, but not exported.

UI Text Box
typenote

Increasing the Steps Per Frame (SPF) also comes with significant trade-offs to performance and detail.

A higher SPF decreases performance in a linear way. For example, if you increase the SPF twice, your simulation will take twice as long. However, quality does not have a linear relation to SPF.

For maximum detail, it is best to use the lowest possible SPF that simulates without any of the issues described in the tip box below, since each additional step kills fine details. For more information, please refer to the Phoenix Explained docs.

UI Text Box
typetip

Signs that the Steps Per Frame (SPF) needs to be increased include:

  • Liquid simulations that have too many single liquid particles.
  • Liquid simulations that appear torn and chaotic.
  • Liquid simulations of streams that have visible steps or other periodical artifacts.
  • Fire/Smoke simulations with artifacts that produce a grainy appearance.

More often than not, these issues will be caused by the simulation moving too quickly (e.g. the emission from the source is very strong, or the objects in the scene are moving very fast). In such cases, you should use a higher SPF.

 

 

Column
width5%
 
Column
width40%

 

...

 

Anchor
SPFExample
SPFExample

Section

Example: Steps Per Frame (SPF)


UI Text Box
typeinfo

The first series in this example shows the differences in a Fire/Smoke simulation when the Steps Per Frame is set to 12, and 8.

Section
Column
width5%

 

Column
width30%


SPF = 1

Column
width30%


SPF = 2

Column
width30%


SPF = 8

Column
width5%

 

 

Active Bodies


UI Text Box
typewarning

Interaction between Active Bodies and the Phoenix Fire/Smoke Simulator is not supported yet.

UI Text Box
typenote

For more information on Active Bodies, please check out the Active Body Solver and the Active Bodies Setup Guide.

Section
Column
width55%

Active Bodies | use_activeBodySolverNode – Enables the simulation of Active Bodies. 

Active Body Solver | activeBodySolverNode – Specifies the Active Body Solver node holding the objects to be affected by the Phoenix Simulation. 

Column
width5%

 

Column
width40%

 

Anchor
TextureUVW
TextureUVW

Texture UVW


UI Text Box
typeinfo

The main purpose of the Texture UVW feature is to provide dynamic UVW coordinates for texture mapping that follow the simulation. If such simulated texture coordinates are not present for mapping, textures assigned to your simulation will appear static, with the simulated content moving through the image. This undesired behavior is often referred to as 'texture swimming'.

UVW coordinates are generated by simulating an additional Texture UVW Grid Channel which has to be enabled under the Output roll-out rollout for the settings below to have any effect.

The custom UVW texture coordinates can be used for advanced render-time effects, such as recoloring of mixing fluids, modifying the opacity or fire intensity with a naturally moving texture, or natural movement of displacement over fire/smoke and liquid surfaces. For more information, please check the Texture mapping, moving textures with fire/smoke/liquid, and TexUVW page.

Section
Column
width55%

Interpolationtexuvw_interpol_influence – Blends between the UVW coordinates of the liquid particle at time of birth and its UVW coordinates at the current position in the Simulator. When set to 0, no interpolation will be performed - as a consequence, textures assigned to the fluid mesh will be stretched as the simulation progresses. This is best used for simulations of melting objects. When set to 1, the UVW coordinates of the fluid mesh will be updated with a frequency based on the Interpol.Step parameter - this will essentially re-project the UVWs to avoid stretching but cause the textures assigned to the fluid to 'pop' as the re-projection is applied. If you intend to apply e.g. a displacement map to a flowing river, set this parameter to a value between 0.1 and 0.3 - this will suppress both the effects of stretching and popping. See the Interpolation example below.

Interpol. Step | texuvw_interpol_step – Specifies the update frequency for the UVW coordinates. When set to 1, the UVWs are updated on every frame, taking into account the Interpolation parameter. See the Interpolation Step example below.

Antitear | texuvw_antitear_influence – Use this option when the assigned texture appears twisted, torn apart or otherwise distorted. This may happen when the simulation is moving very fast, therefore increase both the Antitear and A-tear Iterations to let Phoenix attempt to resolve the distortion.

A-tear Iterations | texuvw_antitear_iterations – The number of Antitear iterations performed for every Step of the simulation. Increasing this parameter will help resolve UVW distortion issues by allowing Phoenix to run the Antitear operation multiple times. Note that this may slightly increase the time it takes for the simulation to complete.

Column
width5%

 

Column
width40%

 

 

Anchor
interpolation
interpolation

Section

Example: Interpolation


UI Text Box
typeinfo

The following video provides examples to show the differences of Interpolation values of 00.1, and 1, and an Interpolation Step of 1.

Align
aligncenter

Video
0liquidSimulator_dynamcis_texUVW_interpolate.mp4
3true

 

 

Anchor
interpolationStep
interpolationStep

Section

Example: Interpolation Step


UI Text Box
typeinfo

The following video provides examples to show the differences of Interpolation Step values of 13, and 6.

Align
aligncenter

Video
0liquidSimulator_dynamcis_texUVW_interpolateStep.mp4
3true