Fluid Dynamics

Omniverse™ Flow is an Eulerian fluid simulation for smoke and fire, leveraging a sparse voxel grid for unbounded simulation domain.

Using Omniverse™ Flow

Getting Started

To start using Omniverse™ Flow, the omni.flowusd extension must be enabled. Make sure omni.flowusd is enabled in the Window->Extensions window.

Omniverse™ Flow must also be enabled in the RTX renderer. Enable Flow in Common Render Settings

FlowRenderSettings

Presets

Presets are the fastest way to get a working Flow effect. They can be created through Flow->Preset.

FlowPreset

Press Play to begin simulation.

FlowPresetPlay

Flow->Preset->Set Postprocessing is also useful to quickly enable bloom to make fire appear bright.

Transforms

To move Flow emitters easily, make the Flow emitter prim a child of an XForm.

FlowTransform

Render Settings

For more light interaction, the following render settings can be enabled. Can also enable bloom and indirect diffuse GI.

FlowReflections

Manual Setup

A working simulation can also be achieved by adding the necessary Flow prims to a stage. Simulate/Offscreen/Render Settings are required for any simulation. Be sure to enable Flow in the Common Render Settings. (Presets do this automatically.)

FlowManual

Press Play to begin simulation.

FlowManualPlay

Layers

Flow layers provide a mechanism to allow multiple effects at the same time, sharing the same memory pool. UI is currently low level, with layers being specified by a simple integer. For a simulation to behave properly, an emitter and simulate/offscreen/render settings must all share a common layer. Flow presets automatically assign a unique layer, to prevent collisions with other presets. The UI for layers will be improved with future releases.

As an example, create a fire preset as specified above. Now Flow->Add Box Emitter. Delete the flowEmitterSphere in the stage.

FlowLayers

At this point, no simulation will occur. Select flowSimulate in the stage to inspect its layer assignment.

FlowLayersSimulate

Select flowEmitterBox and set its layer attribute to the same value. Visual simulation should now occur.

FlowLayersPlay

Colormap

The omni.flowusd also includes a simple colormap editor to change the mapping of temperature to color. Flow->Open Colormap Editor will open the colormap editor window. For the fire preset above, selecting flowOffscreen/colormap in the stage will populate the colormap editor.

FlowColormap

Note for fire, colormap values can far exceed 1.0. This is needed for properly interaction with bloom. Once values are adjusted, hit Apply Flow Color to see changes applied.

FlowColormapApplied

Understanding Omniverse™ Flow

Cell Size

Cell Size has one of the most significant impacts on both appearance and performance. Keep in mind cutting cell size in half is an 8x increase in cells and as a result simulation time.

Channels

Flow currently has standard channels. The four density channels are temperature, fuel, burn, smoke, packed in that order. The four velocity channels are velocity_x, velocity_y, velocity_z, divergence, packed in that order. Advection and emitters expose independent parameters for each of those channels.

Couple Rate

Couple rate is used on Flow emitters. It specifices a rate of correction between an existing grid value and a target emitter value. Higher values like 120 can take the grid instantly to the emitter target values. High couple rates can be useful with fast moving emitters. Lower couple rates are very useful for slow moving emitters. By making the move towards the target value lazy, simulation can actively occur inside the emitter. This typically results in less artifacts and a more natural transition from inside to outside the emitter.

Effect Lifetime

The damping/fade on advection largely controls effect lifetime. Damping is proportional to the current grid value. Fade is a fixed units / second rate.

Effect Scale

Vorticity forceScale has a significant impact on perceived scale. Higher forceScale tends to make effects appear larger.

Combustion Modeling

Default today includes a simple combustion model. Settings like buoyancyPerBurn help create mushroom cloud motion expected from explosions. Parameters like burnPerTemp and fuelPerBurn can also affect how fast combustion occurs. divergencePerBurn also controls expansion due to combustion. Higher values are useful for explosions.

Velocity

With velocity, more is not always more. This simulation is based on stable fluids, where high velocities don’t necessarily behave as expected, but the simulation does not explode. Coarser cell size will effectively behave better will higher world scale velocities. Support for velocity substepping and overall shorter simulation steps are exposed, that improve high velocity behavior with a performance cost.

Rendering

Rendering today uses the Omniverse™ Flow reference implementation. Future versions will likely lean on native volume support in the RTX renderer. Basic Omniverse™ Flow rendering provides a colormap to map temperature to color/alpha for fire/smoke. Also included is self shadowing.

Collision

Collision support today is very limited. However emitters can be adapted for this purpose. Set allocationScale to 0.0, since collision only needs to be active when the simulation is visibly active. Set temperature/fuel/burn/smoke/divergence couple rates to zero, as we only need to control velocity. Set target velocity to (0, 0, 0). Set physicsVelocityScale to 1.0 for moving objects, to include body velocity. Set coupleRateVelocity to 120 or higher, to drive velocity to body velocity within a single frame. Set applyPostPressure to true, as this guarantees velocity at the end of the frame will match body velocity.

Settings

Simulate Settings

Property

Result

blockMinLifetime

Minimum lifetime of any allocate block. Avoids premature deactivation caused by GPU readback delay.

densityCellSize

Size of density cells in world units. By default velocity cell size is twice density cell size.

enableSmallBlocks

Use 16x8x8 density cell blocks instead of the default 32x16x16

enableVariableTimeStep

Take step every frame. Can cause inconsistent simulation behavior for highly variable time step values, but useful when frame time is fixed already.

forceClear

Kills all active block allocations in this layer

forceDisableCoreSimulation

Disable most simulation components. Emitters still function.

forceDisableEmitters

Disable all emitters in this layer

forceSimulate

Force simulate, even if timeline is paused.

interpolateTimeSteps

Useful for motion blur in movie capture. Produces sub-frames between full simulation steps.

layer

See Layer section above.

maxStepsPerSimulate

Limit on steps per frame to avoid excessive steps when application is running slow.

simulateWhenPaused

Run simulation even if deltaTime is 0.0.

stepsPerSecond

Simulation update rate

timeScale

Scales input time. Useful for slomo.

velocitySubSteps

Higher values improve behavior with high speed effects, at the cost of performance.

advection

See Advection section.

vorticity

See Vorticity section.

pressure

See Pressure section.

summaryAllocate

See SummaryAllocate section.

Advection

Property

Result

buoyancyMaxSmoke

Smoke clamp value applied before computing smoke buoyancy, default 1.0

buoyancyPerSmoke

Buoyant force per unit smoke, default 0.0

buoyancyPerTemp

Upward force relative to temperature. Higher values help produce mushroom effects.

burnPerTemp

Rate of burn relative to temperature. Higher burn values affect fuel consumption and
divergence (expansion) terms.

coolingRate

Temperature fade, applied on a per cell level. (Not conduction/convection.)

divergencePerBurn

Expansion relative to burn amount. Units comparable to velocity in terms of scale.
Higher values produce visible expansion, but can remove detail.

downsampleEnabled

Boolean to enable/disable downsample. Downsample needed for SummaryAllocate

enabled

Boolean to enable/disable advection.

fuelPerBurn

Fuel consumed relative to burn amount. Lower values will make a given amount of fuel
last longer.

globalFetch

Improves advection quality for high velocities, with some increase in runtime cost.
(Can remove some banding artifacts)

gravity

Used to determine the ‘up’ direction for buoyancy.

ignitionTemp

Minimum temperature for combustion.

smokePerBurn

Smoke increase relative to burn amount.

tempPerBurn

Temperature increase relative to burn amount.

smoke

See Advection Channel section.

velocity

See Advection Channel section.

divergence

See Advection Channel section.

temperature

See Advection Channel section.

fuel

See Advection Channel section.

burn

See Advection Channel section.

Advection Channel

Property

Result

damping

Reduce channel proportional to current value. Valid range is 0 to 1, where 1
takes the value to 0 immediately.

fade

Reduce channel at a constant rate per second. Valid range is 0 to infinity
effectively.

secondOrderBlendFactor

Second order correction factor. Value range is 0.0 to 1.0. 0.5 is generally a
safe default. Higher values increase the sharpness, but comes with potentially
banding artifacts. Use extra caution with velocity, where effects are even
more pronounced.

secondOrderBlendThreshold

Minimum value to apply second order correction. Reduces simulation cost for cells
near zero, with minimal/zero visual artifacts.

Vorticity

Property

Result

burnMask

Allows force to be applied relative to burn value in grid.

constantMask

Allows force to be applied without respect to local velocity.

densityMask

Allows force to be applied relative to divergence (Parameter name
should be fixed.)

enabled

Boolean to enable/disable vorticity confinement.

forceScale

Control intensity of effect

fuelMask

Allows force to be applied relative to fuel value in grid.

smokeMask

Allows force to be applied relative to smoke value in grid.

temperatureMask

Allows force to be applied relative to temperature value in grid.

velocityLinearMask

Makes force directly proportional to local velocity
Math: velocityLinearMask * speed

velocityLogScale

This primarily exists to allow rescaling of Omniverse™ Flow effects to different
coordinate systems.

velocityMask

Velocity log mask, works together with velocityLogScale. Makes local linear
velocity a requirement for forces to be applied. The log part makes the force
applied with respect to velocity a diminishing return to avoid instability.

Pressure

Property

Result

enabled

Boolean to enable/disable the pressure solver.

SummaryAllocate

Property

Result

smokeThreshold

Minimum smoke to keep a block active.

speedThreshold

Minimum speed to keep a block active, given
speedThresholdMinSmoke is satisfied.

speedThresholdMinSmoke

Minimum smoke value for speedThreshold to apply.

Offscreen Settings

Property

Result

layer

Layer ID to apply these settings to

colormap

See Colormap section.

shadow

See Shadow section.

debugVolume

See DebugVolume section.

Colormap

Property

Result

resolution

Number of texels in colormap

rgabPoints

RGBA values of control points, RGB can be over 1.0 for HDR effects.

xPoints

X coordinates of control points, maps to temperature. Valid over 0 to 1

Shadow

Property

Result

attenuation

Rate of light blockage. Higher values increase self shadow effect.

coarsePropagate

Compute shadows at 2x2x2 coarser grid. Provides good
quality at a much lower runtime cost.

enabled

Boolean to enable/disable self shadowing.

isPointLight

If true, point light, else directional light.

lightDirection

Directional light. Points to light.

lightPosition

Point light position.

minIntensity

Provide ambient level

numSteps

Number of steps per self shadow ray, divide by 2 when
coarsePropagate is enabled.

stepOffsetScale

Ray march offset to avoid a cell shadowing itself.

stepSizeScale

Ray march step size relative to cell size. Higher values increase
quality and performance cost.

DebugVolume

Property

Result

enableSpeedAsTemperature

Write speed value to temperature channel, to visualize in ray march.

enableVelocityAsDensity

Write abs() of velocity channels to density xyz to visualize in ray march.

velocityScale

Scale applied to velocity to control brightness for ray march result.

Render Settings

Property

Result

layer

Layer ID to apply these settings to

rayMarch

See RayMarch section

RayMarch

Property

Result

attenuation

Rate of light blockage. Higher values make the volume look more opaque

enableBlockWireframe

Visualizes active blocks for debug purposes

enableRawMode

If true, do not apply colormap, pass raw density xyzw as color

shadowFactor

The degree to which the z shadow channel scales the RGB channels from
the colormap. 1.0 is default. 0.0 disables self shadowing effectively.

stepSizeScale

Ray march step size relative to cell size. Higher values increase
quality and performance cost.

cloud

See RayMarchCloud section.

RayMarchCloud

Property

Result

ambientColor

Color in shadowed regions.

ambientMultiplier

Scale to adjust brightness of ambient color.

attenuationMultiplier

Controls how fast cloud shadows go dark.

densityMultiplier

Scales input density.

enableCloudMode

If true, default ray march is disabled, these settings are used instead.

numShadowSteps

More steps can improve quality, but add performance cost.

shadowStepMultiplier

Larger steps cover more of world space, at risk of artifacts.

sunDirection

Direction to sun.

volumeBaseColor

Base color for scattering.

volumeColorMultiplier

Scale to adjust brightness of volume base color.

Emitter Sphere

Sphere emitters are the simplest emitter type. Defined by a position and radius.

Property

Result

allocationScale

1.0 allocates blocks needed to contain sphere. 0.0 disables allocation.
Values higher than 1.0 can be used to add additional padding.

applyPostPressure

If true, apply velocity after pressure solve. This is useful
for collision, as it allows hard enforcement of velocity inside
moving bodies.

burn

Target burn value.

coupleRateBurn

Couple rate for burn channel.

coupleRateDivergence

Couple rate for divergence channel.

coupleRateFuel

Couple rate for the fuel channel.

coupleRateSmoke

Couple rate for the smoke channel.

coupleRateTemperature

Couple rate for the temperature channel.

coupleRateVelocity

Couple rate for the velocity channel.

divergence

Target divergence value.

enabled

Boolean to enable/disable emitter

fuel

Target fuel value.

layer

Layer ID of simulation this emitter effects

multisample

Test sphere overlap at 8 locations instead of 1

numSubSteps

Substeps per simulation update. More steps produce a smoother result with moving emitters.

physicsVelocityScale

If set to 1.0, the body velocity will be added to the target velocity.
This is useful for collision effects, where the body velocity
and grid cell velocity should align.

position

Position of sphere

radius

World space radius of sphere

smoke

Target smoke value.

temperature

Target temperature value.

velocity

Target velocity value.

Emitter Box

Box emitters support emission from an oriented box. Clipping planes can also be added to support convex hulls.

Property

Result

allocationScale

1.0 allocates blocks needed to contain box. 0.0 disables allocation.
Values higher than 1.0 can be used to add additional padding.

applyPostPressure

If true, apply velocity after pressure solve. This is useful for
collision, as it allows hard enforcement of velocity inside moving bodies.

burn

Target burn value.

clippingPlanes

List of clipping planes in local space.

coupleRateBurn

Couple rate for burn channel.

coupleRateDivergence

Couple rate for divergence channel.

coupleRateFuel

Couple rate for the fuel channel.

coupleRateSmoke

Couple rate for the smoke channel.

coupleRateTemperature

Couple rate for the temperature channel.

coupleRateVelocity

Couple rate for the velocity channel.

divergence

Target divergence value.

enabled

Boolean to enable/disable emitter

fuel

Target fuel value.

halfSize

Half of box width/height/depth in local units

layer

Layer integer. See Layer section.

multisample

Test sphere overlap at 8 locations instead of 1

physicsVelocityScale

If set to 1.0, the body velocity will be added to the target velocity.
This is useful for collision effects, where
the body velocity and grid cell velocity should align.

smoke

Target smoke value.

temperature

Target temperature value.

velocity

Target velocity value.

Emitter Point

Point emitters allow simple arrays to define points that are splatted to the simulation.

Property

Result

allocateMask

Default allocation behavior. If true and allocateMasks is empty, all points will trigger allocation.

applyPostPressure

If true, apply velocity after pressure solve.
This is useful for collision, as it allows hard enforcement of velocity inside moving bodies.

burn

Default target burn value.

coupleRateBurn

Default couple rate for burn channel.

coupleRateDivergence

Default couple rate for divergence channel.

coupleRateFuel

Default couple rate for fuel channel.

coupleRateSmoke

Default couple rate for smoke channel.

coupleRateTemperature

Default couple rate for temperature channel.

coupleRateVelocity

Default couple rate for velocity channel.

divergence

Default target divergence value.

enabled

Boolean to enable/disable emitter

fuel

Default target fuel value.

layer

Layer integer. See Layer section.

pointAllocateMasks

Optional array of allocate settings per point.

pointBurns

Array of target burn values for each position.

pointCoupleRateBurns

Array of burn couple rates for each position.

pointCoupleRateDivergences

Array of divergence couple rates for each position.

pointCoupleRateFuels

Array of fuel couple rate for each position.

pointCoupleRateSmokes

Array of smoke couple rates for each position.

pointCoupleRateTemperatures

Array of temperature couple rates for each position.

pointCoupleRateVelocities

Array of velocity couple rates for each position.

pointDivergences

Array of target divergence values for each position.

pointFuels

Array of target fuel values for each position

pointPositions

Array of local space positions. Determines total point count.

pointSmokes

Array of target smoke values for each position

pointTemperatures

Array of target temperature values for each position.

pointVelocities

Array of target velocity values for each position.

smoke

Default target smoke value.

temperature

Default target temperature value.

velocity

Default target velocity value.

Emitter Texture

Texture emitters allow simple arrays to define dense 3D grids of values.

Note

Mapping of Array Index to Texel: arrayIndex = (texelIndex.z * textureHeight + texelIndex.y) * textureWidth + texelIndex.x

Property

Result

allocationScale

1.0 allocates blocks needed to contain box defined by halfSize/position. 0.0 disables allocation. Values higher than 1.0 can be used to add
additional padding.

applyPostPressure

If true, apply velocity after pressure solve.
This is useful for collision, as it allows hard enforcement of velocity inside moving bodies.

burn

Default target burn value.

coupleRateBurn

Default couple rate for burn channel.

coupleRateDivergence

Default couple rate for divergence channel.

coupleRateFuel

Default couple rate for fuel channel.

coupleRateSmoke

Default couple rate for smoke channel.

coupleRateRateTemperature

Default couple rate for temperature channel.

coupleRateVelocity

Default couple rate for velocity channel.

divergence

Default target divergence value.

enabled

Boolean to enable/disable emitter.

fuel

Default target fuel value.

halfSize

Half of box width/height/depth in world units.

layer

Layer integer. See Layer section.

position

World space position.

smoke

Default target smoke value.

temperature

Default target temperature value.

textureBurns

Array of target burn values for each texel.

textureCoupleRateBurns

Array of burn couple rates for each texel.

textureCoupleRateDivergences

Array of divergence couple rates for each texel.

textureCoupleRateFuels

Array of fuel couple rate for each texel.

textureCoupleRateSmokes

Array of smoke couple rates for each texel.

textureCoupleRateTemperatures

Array of temperature couple rates for each texel.

textureCoupleRateVelocities

Array of velocity couple rates for each texel.

textureDepth

Depth in texels of texture data.

textureDivergences

Array of target divergence values for each texel.

textureFirstElement

Array index offset applied for all arrays. Useful for animation.

textureFuels

Array of target fuel values for each texel.

textureHeight

Height in texels of texture data.

textureSmokes

Array of target smoke values for each texel.

textureTemperatures

Array of target temperature values for each texel.

textureVelocities

Array of target velocity values for each texel.

textureWidth

Width in texels of texture data.

velocity

Default target velocity value.

Emitter NanoVDB

NanoVDB emitters allow sparse voxel data structures to define emitter shapes/values.

Property

Result

allocateActiveLeaves

If true, finer allocation granularity is used. (Adds some CPU overhead.)

allocationScale

1.0 allocates blocks needed to contain NanoVDB. 0.0 disables allocation. Values higher than 1.0 can be used to add
additional padding.

applyPostPressure

If true, apply velocity after pressure solve.
This is useful for collision, as it allows hard enforcement of velocity inside moving bodies.

burn

Default target burn value.

coupleRateBurn

Default couple rate for burn channel.

coupleRateDivergence

Default couple rate for divergence channel.

coupleRateFuel

Default couple rate for fuel channel.

coupleRateSmoke

Default couple rate for smoke channel.

coupleRateTemperature

Default couple rate for temperature channel.

coupleRateVelocity

Default couple rate for velocity channel.

divergence

Default target divergence value.

enabled

Boolean to enable/disable emitter

fuel

Default target fuel value.

layer

Layer integer. See Layer section.

maxDistance

Maximum distance for emitter active region. Used with nanoVdbDistances.

minDistance

Minimum distance for emitter active ergion. Used with nanoVdbDistances.

nanoVdbBurnFirstElement

Burn channel. Word offset applied when reading nanoVdbBurns array.

nanoVdbBurns

Burn channel. Word array containing NanoVDB data structure

nanoVdbBurns::assetPath

Burn channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbBurns.

nanoVdbBurns::gridName

Burn channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateBurnFirstElement

Burn couple rate channel. Word offset applied when reading nanoVdbCoupleRateBurns array.

nanoVdbCoupleRateBurns

Burn couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateBurns::assetPath

Burn couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateBurns.

nanoVdbCoupleRateBurns::gridName

Burn couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateDivergenceFirstElement

Divergence couple rate channel. Word offset applied when reading nanoVdbCoupleRateDivergences array.

nanoVdbCoupleRateDivergences

Divergence couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateDivergences::assetPath

Divergence couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateDivergences.

nanoVdbCoupleRateDivergences::gridName

Divergence couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateFuelFirstElement

Fuel couple rate channel. Word offset applied when reading nanoVdbCoupleRateFuels array.

nanoVdbCoupleRateFuels

Fuel couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateFuels::assetPath

Fuel couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateFuels.

nanoVdbCoupleRateFuels::gridName

Fuel couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateSmokeFirstElement

Smoke couple rate channel. Word offset applied when reading nanoVdbCoupleRateSmokes array.

nanoVdbCoupleRateSmokes

Smoke couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateSmokes::assetPath

Smoke couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateSmokes.

nanoVdbCoupleRateSmoke::gridName

Smoke couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateTemperatureFirstElement

Temperature couple rate channel. Word offset applied when reading nanoVdbCoupleRateTemperatures array.

nanoVdbCoupleRateTemperatures

Temperature couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateTemperatures::assetPath

Temperature couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateTemperatures.

nanoVdbCoupleRateTemperature::gridName

Temperature couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateVelocities

Velocity couple rate channel. Word array containing NanoVDB data structure

nanoVdbCoupleRateVelocities::assetPath

Velocity couple rate channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbCoupleRateVelocities.

nanoVdbCoupleRateVelocities::gridName

Velocity couple rate channel. Grid name to search for in NanoVDB data structure.

nanoVdbCoupleRateVelocityFirstElement

Velocity couple rate channel. Word offset applied when reading nanoVdbCoupleRateVelocities array.

nanoVdbDistanceFirstElement

Distance channel. Word offset applied when reading nanoVdbDistances array.

nanoVdbDistances

Distance channel. Word array containing NanoVDB data structure

nanoVdbDistances::assetPath

Distance channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbDistances.

nanoVdbDistances::gridName

Distance channel. Grid name to search for in NanoVDB data structure.

nanoVdbDivergenceFirstElement

Divergence channel. Word offset applied when reading nanoVdbDivergences array.

nanoVdbDivergences

Divergence channel. Word array containing NanoVDB data structure

nanoVdbDivergences::assetPath

Divergence channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbDivergences.

nanoVdbDivergences::gridName

Divergence channel. Grid name to search for in NanoVDB data structure.

nanoVdbFuelFirstElement

Fuel channel. Word offset applied when reading nanoVdbFuels array.

nanoVdbFuels

Fuel channel. Word array containing NanoVDB data structure

nanoVdbFuels::assetPath

Fuel channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbFuels.

nanoVdbFuels::gridName

Fuel channel. Grid name to search for in NanoVDB data structure.

nanoVdbSmokeFirstElement

Smoke channel. Word offset applied when reading nanoVdbSmokes array.

nanoVdbSmokes

Smoke channel. Word array containing NanoVDB data structure

nanoVdbSmokes::assetPath

Smoke channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbSmokes.

nanoVdbSmokes::gridName

Smoke channel. Grid name to search for in NanoVDB data structure.

nanoVdbTemperatureFirstElement

Temperature channel. Word offset applied when reading nanoVdbTemperatures array.

nanoVdbTemperatures

Temperature channel. Word array containing NanoVDB data structure

nanoVdbTemperatures::assetPath

Temperature channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbTemperatures.

nanoVdbTemperatures::gridName

Temperature channel. Grid name to search for in NanoVDB data structure.

nanoVdbVelocities

Velocity channel. Word array containing NanoVDB data structure

nanoVdbVelocities::assetPath

Velocity channel. Optional path to OpenVDB/NanoVDB asset to use. Overrides nanoVdbVelocities.

nanoVdbVelocities::gridName

Velocity channel. Grid name to search for in NanoVDB data structure.

nanoVdbVelocityFirstElement

Velocity channel. Word offset applied when reading nanoVdbVelocities array.

smoke

Default target smoke value.

temperature

Default target temperature value.

velocity

Default target velocity value.