PRT FumeFX Object¶
Available in Krakatoa v1.6.0 and higher
Overview¶
- In Krakatoa versions starting with v1.5.0 and prior to v1.6.0, FumeFX simulation objects were considered direct particle sources like Particle Flow and Thinking Particles and could be rendered without intermediate steps.
- Unfortunately, the only way to apply modifications to these particles including deformations, Krakatoa Channels Modifiers, VolumeSelect modifiers and Krakatoa Delete modifiers was by saving the particles to a particle file sequence on disk and using the PRT Loader.
- In order to allow the direct deforming, modifying and culling of FumeFX particles, as well as the generation of more than one particle per voxel (similar to the various modes found in the PRT Volume object), a dedicated PRT FumeFX object had to be introduced.
- Starting with v1.6.0, this object is required for the rendering of FumeFX simulations - the FumeFX simulation object itself will not be considered a valid particle source.
User Interface¶

Source rollout¶
FumeFX Object pickbutton¶
Clicking this button will enter picking mode and let you select a FumeFX Simulation object as the source of particles.
You can also hit the H key after entering the pick mode to select by name.
Right-clicking the pickbutton or left-clicking the [>] button next to it will open a menu with the following items:
- Select [XXX] FumeFX Source… - selecting this menu item will switch the selection from the current PRT FumeFX Object to its source FumeFX Simulation.
- Hide FumeFX Source - selecting this menu item will toggle the hidden state of the source FumeFX Simulation.
- If the FumeFX source is currently hidden, a checkmark will appear in front of the menu item.
- Set PRT FumeFX Object Name From Source’s Name - selecting this menu item will set the name of the PRT FumeFX object to “PRTFume_<sourcename>_XX” where <sourcename> is the name of the FumeFX source and XX is a unique number.
- Set PRT FumeFX Object Icon Size From Source’s Bounding Box - selecting this menu item will set the Icon Size of the PRT FumeFX object to the larger of the Width and Length values found in the FumeFX base object.
- This option is useful when the name of the PRT FumeFX object or of the FumeFX source has changed, or if the PRT FumeFX object was not created using the FFX icon / PRT FumeFX item in the Krakatoa menu which names it automatically based on the same scheme.
- Align PRT FumeFX Object To FumeFX Source - selecting this menu item will set the transformation matrix of the PRT FumeFX object to the transformation of the FumeFX source, thus aligning the particles produced by the PRT FumeFX object to the voxels of the original simulation.
- Remove FumeFX Source - selecting this menu item will reset the PRT FumeFX object to have no FumeFX source simulation and thus create no particles.
Seed In Smoke controls¶
- When the Seed in Smoke checkbox is checked, particles will be created in voxels that have a Smoke value above the Minimum threshold which defaults to 0.01.
- When unchecked, the Smoke channel will create no particles.
- Increasing the Minimum value will produce less and less particles only in areas with higher Smoke concentration.
- Reducing the Minimum value to 0.0 will produce particles in every voxel that has a Smoke channel value higher than 0.
Seed In Fire controls¶
- When the Seed in Fire checkbox is checked, particles will be created in voxels that have a Fire value above the Minimum threshold which defaults to 0.01.
- When unchecked, the Fire channel will create no particles.
- Increasing the Minimum value will produce less and less particles only in areas with higher Fire concentration.
- Reducing the Minimum value to 0.0 will produce particles in every voxel that has a Fire channel value higher than 0.
- Note that unchecking the Seed in Smoke option while leaving the Seed in Fire option checked will produce Fire-Only particles.
Frame Offset spinner¶
- v2.5 and higher: Offsets the simulation frame to load from the FumeFX object by adding it to the current time to determine the source frame to load.
- Positive values will shift the beginning of the source animation backwards in time, equivalent to answering the question “What frame will play on frame 0?”
- Negative values will shift the source animation forward, starting its playback later.
- This value is static and cannot be animated.
Limit To Custom Range checkbox¶
- v2.5 and higher: When unchecked, any time value determined using the current time and frame offset will be used to load a simulation frame from the FumeFX object.
- If the requested frame is not valid, an error could be produced.
- When checked, only frames within the specified range will be requested from the FumeFX simulation.
- If a time value is generated that is outside of the specified range, the Before and After conditions defined by the drop-down lists will be applied - see below for details.
Range Start and End spinners¶
- v2.5 and higher: Available only when the Limit To Custom Range checkbox is checked.
- The Range Start and Range End spinners provide a user-defined valid range within which to request simulation data from the FumeFX object.
- Values outside the range will be handled according to the Range Before and After conditions below:
Range Before and After drop-down lists¶
- v2.5 and higher: When the Limit To Custom Range checkbox is checked and a time value is generated using the current time and Frame Offset that is outside of the Start/End Range, these rules will determine how to handle the out-of-range condition.
- When the Before condition is set to Hold First and the time value is less than the Range Start value, the time value will be clamped to the Range Start value, resulting in a static frame on all frames before the Range Start value.
- When the Before condition is set to Blank and the time value is less than the Start Value, no samples will be created and an empty particle stream will be generated without any errors.
- When the After condition is set to Hold Last and the time value is greater than the Range End value, the time value will be clamped to the Range End value, resulting in a static frame on all frames after the Range End value.
- When the After condition is set to Blank and the time value is greater than the Range End Value, no samples will be created and an empty particle stream will be generated without any errors.
Loading Frame label¶
- v2.5 and higher: This label will show the actual frame, or the text “Blank”, to indicate the result of the Time Control calculations.
Seeding rollout¶
- The following controls determine the Seeding positions of particles inside the simulation grid.
- In versions prior to v1.6.0, a single particle was created in the center of each FumeFX voxel cube.
- Since v1.6.0, a voxel can be subdivided into regions and particles can be jittered randomly inside the resulting sub-regions.
Subdivide Region checkbox and Subdivisions spinner¶
- When unchecked (default), a FumeFX voxel will be assumed a cubic region where the particles will be distributed.
- When checked, the Subdivisions spinner will determine how often to subdivide the original voxel to produce sub-regions.
- A Subdivisions value of 1 means “Subdivide once” and produces 2x2x2 sub-regions in each voxel, in other words the number of regions to populate will be N*((S+1)^3) where N is the number of voxels in the FumeFX grid and S is the Subdivisions value. For example, if you have 10,000 voxels with one particle in each, enabling Subdivide Region and setting Subdivisions to 2 will produce (2+1)^3 times more particles, or 270,000.
Jitter Position checkbox¶
- When unchecked, a single particle will be placed in the center of each region, producing a regular orthogonal grid.
- This mode is better suited for Voxel Rendering which also uses a regular grid of voxels to represent the particle data.
- When checked (default), the particle created inside a region will be jittered randomly according to the additional distribution and Randomness settings listed below.
- This mode is better suited for Particle Rendering as it produces a more diffuse look without a visible raster.
Well Distributed checkbox¶
- When unchecked (default), the random particle placement will be faster but would potentially allow clumping of particles in close positions as it does not check for uniform distribution.
- When checked, the particles will be distributed better to avoid clumping, but the processing time to generate the random distribution data will be longer.
Multiple Per Region checkbox and Count spinner¶
- When unchecked (default), one particle will be created in each region.
- When checked, the number of particles specified by the Count value spinner will be placed in each region, in other words if there are 10,000 voxels to fill, Subdivide Region is unchecked and Multiple Per Region is checked with a value of 15, 150,000 particles will be generated.
- Note that is Subdivide Region is checked, each sub-region will produce as many particles as specified in the Count value, for example in the above case, A Subdivisions of 1 will produce 2^3 times more particles, or 80,000 regions to fill, times 15 particles per region which is 1,200,000 particles.
Randomness group of controls¶
- The Distinct Values spinner controls the number of random positions seeded by the Jitter Position mode.
- The default is 1024 and the particles will select one of the pre-seeded 1024 positions in the region based on the Seed value spinner and the region’s address.
- This means that with the same Randomness values, a region with a given coordinate will always produce the same random particle distribution and will not flicker between frames.
Viewport rollout¶
Enable In Viewport checkbox¶
- When checked (default), the particles will be displayed in the viewport as large dots.
- When unchecked, no viewport display will be calculated at all, thus speeding up display but providing no visual feedback.
Disable Subdivision checkbox¶
- When unchecked (default), the Subdivisions and Multiple Per Region options will produce more particles in the viewport, thus representing the distribution at render time.
- When checked, the Subdivisions and Multiple Per Region options will be ignored in the viewport, producing only one particle per original FumeFX voxel. This is useful for speeding up the display of the PRT FumeFX without affecting the render time particle generation.
Percentage checkbox and spinner¶
- When unchecked (default), all particles will be displayed in the viewport.
- When checked, only the specified percent of particles that would normally be displayed will be actually produced, thus speeding up the display of the object.
Limit (x1000) checkbox and spinner¶
- When unchecked (default), all particles scheduled to be displayed according to the previous controls described above will be drawn.
- When checked, the drawing will stop if the specified threshold (1000x1000 = 1 million particles) is reached.
- This way, you can specify a top cap for the viewport display to avoid excessive particle drawing while tweaking settings.
Ignore Material checkbox¶
- When unchecked (default), the viewport will display the Material (if any) assigned to the PRT FumeFX object.
- When checked, the viewport display will ignore the Material assigned to the PRT FumeFX object, allowing the object wirecolor or eventual Krakatoa Channel Modifiers affecting the Color channel to be previewed.
Icon Size spinner¶
- This value controls the size of the viewport icon.
- The size will be set automatically based on the Width and Length of the FumeFX simulation’s base object when using the MacroScripts in the Krakatoa Menu or toolbar.
- The size can also be set manually using the [>] button’s context menu option “Set PRT FumeFX object’s Icon Size From Source’s Bounding Box”.
Manual Update button¶
- This button causes an update of the PRT FumeFX object, for example after a material assignment (which does not trigger a redraw).
Miscellaneous rollout¶
Disable Velocity checkbox¶
- When checked, the Velocity information from the FumeFX simulation will not be loaded into the Velocity channel of the PRT FumeFX object.
- This option exists because accessing the Velocity channel of FumeFX can be slow (according to user’s reports).
- When unchecked (default), the Velocity information will be loaded.
Generate Emission checkbox and Multiplier spinner¶
- When the “Generate Emission From FumeFX Fire checkbox” is checked, the Fire channel of the FumeFX simulation will be used to populate the Emission channel of the PRT FumeFX object with values based on the FumeFX Fire Color or Gradient and the Multiplier value.
- When unchecked (default), no Emission channel data will be generated.
Generate Normal from DensityGradient checkbox¶
- The Krakatoa PRT FumeFX object will generate a DensityGradient channel which is a vector pointing from the particle into the direction of increasing density, where the magnitude of the vector represents the amount of change in density in that direction.
- This DensityGradient vector value could be normalized and flipped and would point in the direction of decreasing density, which on the surface particles would correspond to the surface normal defined by the Density gradient.
- When the checkbox is unchecked (default), the DensityGrandient channel will be generated, but the Normal channel will not be populated.
- When the checkbox is checked, the DensityGradient value will be flipped and normalized and written to the Normal channel to be used in Phong Surface shading etc.