Previous Topic (PRT Loader) Up (Krakatoa Objects) Next Topic (PRT FumeFX)

Krakatoa PRT Volume Object

Available in Krakatoa v1.5.0 and higher

Introduction

  • The Krakatoa PRT Volume object is designed to fill the volume of any more or less closed mesh with particles.
  • It generates particles in the viewport and in the renderer and can be modified interactively using Krakatoa Channels Modifiers, 3ds Max Deformation modifiers and regular node transformations.
  • It accepts both Krakatoa and Standard Materials as the sources of most shading-related channels.

User Interface

The PRT Volume Object exposes the following controls:

Global Controls

Volume Object pickbutton and Options [>] button

  • This button can be used to pick the volume source object to be filled with particles.
  • You can either click in the viewport to select the object or hit H to open the Select By Name dialog and select from the list.
  • Right-clicking the pickbutton or clicking the [>] Options button will open a context menu with various useful functions - see here for more.

Spacing spinner

  • This value controls the spacing between the particles at render time (and in the viewport if Viewport Display>Spacing is unchecked).
  • Krakatoa takes the local bounding box of the geometry object and generates particles in a voxel grid aligned to the object's axes.
  • Min. value is 0.0001
  • Default value is 1.0

Seeding Options

Regular Grid

  • When this radio button option is selected, the particle distribution will follow the Level Set voxel grid generated from the source geometry.
    • When the Subdivisions spinner is set to 1 (default), one particle will be created in each voxel.
      • When the Jitter Position checkbox is off, the PRT Volume will behave like in the original and only seeding mode of v1.5.0 and the particle will be created in the center of the cube.
      • When the Jitter Position checkbox is on (default), the particle position will be randomized according to the Randomness values described later on this page.
    • When the Subdivisions spinner is set to 2 or higher, a cube of NxNxN particles (where N is the Subdivisions value) will be generated inside each voxel, producing more particles without increasing the Spacing of the Level Set.
      • Since the generation of the Level Set voxels is quite expensive in both memory and CPU terms, it is a good idea to use a lower Spacing value and a higher Subdivisions value as long as the Level Set resolution is enough to capture the desired details.
      • If the Jitter Position checkbox is checked, each particle will be moved randomly inside the sub-voxel, otherwise each particle will be created in the center of its sub-voxel.
 NOTE:
 Please remember that the Subdivisions spinner increases the number of particles exponentially 
 by the cube of the value,so a value of 2 does not mean twice as many particles but 
 2^3 = 2*2*2 = 8 times more particles! Similarly, a value of 3 produces 27 particles per voxel.

Random In Cube

  • When this radio button option is selected, the particle distribution will be seeded randomly inside the voxel, attempting to produce a diffuse but relatively even point cloud.
    • The Number value actually defines the absolute number of particles per voxel, so changing the value from the default 1 to 2 will produce twice as many particles.

When to use Jitter Position and when Random In Cube

  • At first glance, both options produce randomly distributed particles.
  • The Jitter Position mode is significantly faster to set up, especially when there are many particles per voxel, but when the particle count is low, some visible patterns might become visible.
  • The Random In Cube mode is slower to pre-calculate and distribute the particles, but produces a better tileable pattern regardless of the particle count.
  • Thus, for the majority of cases where the Jitter Position looks good enough, you should use it when rendering using Particle mode.
  • When the particle count gets lower and if you can detect visible patterns in the distribution, you can switch to the Random In Cube mode.
  • When rendering in Voxel mode, it is advisable to use the Regular Grid with Jitter Position turned off to ensure a consistent particle count in each voxel.

Randomness

The following controls affect only the Jitter Position behaviour and do not apply to Regular Grid without Jitter or Random In Cube.

Distinct Values

  • This value controls the total number of distinct points to generate within a voxel for the particle to select a Jittered Position.
  • Default is 128.

Seed

  • This value controls the Random Seed used to generate the random positions in the voxel and to select one of them.
  • Default is 42.

Viewport Display

Enabled checkbox

  • When checked (default), the PRT Volume will calculate and display particles in the viewports.
  • When unchecked, no calculations will be performed and no particles will be shown in the viewports.
  • This does not affect the generation of particles at render time - to disable a PRT Volume from rendering, either disable its Renderable Object Property or hide it.

Spacing checkbox and spinner

  • When the checkbox is checked (default), the spinner will be used as an alternative Spacing value for the Viewport generation of particles.
  • When unchecked, the global Spacing parameter will be used for both Rendering and Viewport particle generation.
  • In v1.5.1 and higher, when using the GEO MacroScript icon provided in the Krakatoa category of the Customize User Interface dialog, the Viewport Spacing value will be set automatically to 1/50 of the largest world space bounding box of the source geometry volume. This ensures that the viewport count will not be dependent on the size of the source geometry object (as a larger object would have enclosed more voxels in v1.5.0).
 For example,
 A Geosphere with radius of 10.0 will produce a PRT Volume with Viewport Spacing of 0.4 (2*10.0/50) and create 63264 particles.
 A Geosphere with radius of 100.0 will produce a PRT Volume with Viewport Spacing of 4.0 and will create 63266 particles.
 The particle count in the viewport will remain close to 63K regardless of the radius value of the Geosphere.

Percent checkbox and spinner

  • The checkbox enables a Viewport percentage value which controls the amount of particles to be drawn as a fraction if the particle count to be rendered, defined either by the global or the Viewport Spacing parameter.
    • This option is unchecked by default.
  • The spinner defines a percentage in the range from 0.0 to 100.0%

Limit (x1000) checkbox and spinner

  • The checkbox enables a Viewport count limit value which controls the max. number of particles (in thousands) to be drawn.
  • The spinner defines the limit value, min. is 0 (no particles drawn).

Ignore Material checkbox

  • When checked, the viewport display will show the color data available in the particle stream before the material is applied.
  • This enables the color channel acquired by the PRT Volume (for example from the Vertex Color Channel of the source geometry) or KCM_Color modifiers to be displayed in the viewport even if a material would override them at render time.

Force Update button

  • When pressed, the PRT Volume object will recalculate the Level Set and regenerate the particles, thus also capturing any changes to Materials, Maps and KCMs.

Surface Shell

Enabled checkbox

  • When the checkbox is unchecked, all particles inside the volume will be created.
  • When the checkbox is checked, only particles found in voxels that are within the range defined by the two spinners will be created.

Shell Start and Thickness spinners

  • The two spinners control the start and thickness of the band to be filled with particles.
    • Start of 0 means at the surface of the object, positive Start values are measured as an offset from the surface inwards.
    • The Thickness controls how thick the shell will be, starting at the Start offset and ending at Start+Thickness measured inwards.
    • Both values are in world units.
    • Both values are animatable!

Surface Data Acquisition

  • The PRT Volume will acquire surface properties and store them into the corresponding Particle Channels on demand.
    • The Position channel will be set based on the voxel grid and shell settings
    • Normals will be acquired throughout the volume and stored in the Normals channel.
    • Any existing Texture Coordinates will be stored in the respective particle channels including Vertex Color to Color, UVW Channel 1 to TextureCoord and Mapping Channels 2 to 99 to particle channels Mapping2 to Mapping99.
    • A special SignedDistance channel will be populated with the distance of the particle to the closest point on the surface.
      • All values will be with a negative sign since inside the volume.
      • This value could be used to calculate a Shell or a falloff gradient relatively to the surface in a Krakatoa Channels Modifier.
 NOTE
 The value stored in SignedDistance in v1.5.0 was incorrectly scaled by the Spacing value, producing a larger value than expected.
 This was corrected in v1.5.1.

Options Menu

 Available in Krakatoa v1.6.0 and higher
  • The Options menu is accessible via the [>] button next to the Volume Object Pickbutton or by right-clicking the Volume Object Pickbutton itself.

  • It provides the following options:

Select Volume Object [<VolumeObjectName>]

  • Picking this menu item will select the Volume Object assigned to the PRT Volume.
  • If the Volume Object is hidden, it will still be selected and its controls will show in the Modify Panel.
  • This menu option can also be used to see the full name of the Volume Object in case it is too long to fit on the Pickbutton.

Hide Volume Object

  • This option controls whether the Volume Object is hidden or visible.
  • When the Volume Object is hidden, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the hidden state of the Volume Object without the need to select it and use the Object Properties or 3ds Max hide/unhide controls.

Display Volume Object As Bounding Box

  • This option controls whether the Volume Object is displayed as Bounding Box or as Geometry.
  • When the Volume Object is displayed as Bounding Box, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the Bounding Box display of the Volume Object.

Don't Render Volume Object

  • This option controls whether the Volume Object will be rendered if Geometry Vertices are enabled as a particle source via the Renderable Object Property.
  • When the Volume Object is Not Renderable, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the Renderable property of the Volume Object.

Store Above Settings As Defaults

  • This options can be used to record the current settings for Hidden/Visible, Bounding Box/Geometry and Renderable/Non-Renderable Volume Object to be used when using the PRT Volume MacroScript in the Krakatoa Menu or Toolbar.

More Volume Object Display Options >

See-Thru Volume Object

  • This option controls whether the Volume Object will be displayed as See-Thru or as solid geometry (when not hidden or set to bounding box)
  • When the Volume Object is set to See-Thru display, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the See-Thru display of the Volume Object on and off.

Freeze Volume Object

  • This option controls whether the Volume Object will be frozen or selectable
  • When the Volume Object is set to Frozen state, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the Frozen state of the Volume Object on and off.

Volume Object Show Frozen As Gray

  • This option controls whether the Volume Object will be displayed as Gray or using its color/material when it is Frozen.
  • When the Volume Object is set to Frozen and Show Frozen As Gray, a checkmark will appear in front of the menu item.
  • Selecting the menu item will toggle the Show Frozen As Gray option of the Volume Object on and off.

Inherit Volume Object Settings >

Set PRT Volume Object Color To Volume Object's Color

  • When selected, this menu item will assign the Object (Wireframe) Color of the picked Volume Object as the PRT Volume's object.

Set PRT Volume Material To Volume Object's Material

  • When selected, this menu item will assign the Volume Object's Material to the PRT Volume's.
  • If the Volume Object has no material assigned, the option will be grayed out.

Set PRT Volume Name To [PRTVolume_ObjectName_NN]

  • When selected, this menu item will assign the unique name "PRTVolume_<ObjectName>_NN" to the PRT Volume, where <ObjectName> is the name of the Volume Object and NN is a unique number.
  • The menu item will show a preview of the name to be assigned.

Set Viewport Spacing To [X.X] Based On Volume Object's Size

  • When selected, this menu item will set the Viewport Spacing to the value calculated based on the diagonal of the Volume Object's Bounding Box.
  • The value to be assigned will be shown as preview in the menu item.

Align PRT Volume To Volume Object

  • Selecting this menu item will align the PRT Volume's transformation to the one of the Volume Object.

Align Volume Object To PRT Volume

  • Selecting this menu item will align the Volume Object's transformation to the one of the PRT Volume object.

Inherit Volume Object Vertex Selection Via Modifier

  • When selected, a TurnToMesh modifier will be added to the stack of the Volume Object and will be set to pass through the Vertex Selection Channel.
  • If the PRT Volume has KCMs or Modifiers that depend on the particle Selection channel, the Selection channel of the Volume Object will be propagated within the PRT Volume - see here for details.

Remove Volume Object

  • Selecting this menu item will remove the current Volume Object and reset the Pickbutton, thus also disabling the particle generation in the PRT Volume.

Additional Information

  • The PRT Volume uses the object space of the source geometry object - any object-space transformations or world-space modifiers and Space Warps will NOT be reflected.
  • The PRT Volume will take into account any object space deformations and modifiers applied to the source geometry, for example modifiers changing the UVW coordinates or painting into the Vertex Color channel will affect the particle data.
  • The PRT Volume scene object can be transformed independently from the geometry source, so you can have multiple PRT Volume objects (or instances of the same PRT Volume object) placed or animated freely in the scene while using a static or animated geometry object without being affected by its location or PRS animation.
  • When creating a PRT Volume using the GEO MacroScript icon found in the Krakatoa category of the Customize User Interface dialog, the material and wireframe colors of the source geometry will be assigned to the corresponding PRT Volume object, and its name will be set to PRTVolume_<SourceObjectName>_XX where XX is a new unique number.
 For example, 
 if Box01 is selected and the GEO icon pressed, a PRT Volume with the name "PRTVolume_Box01_01" will be created.

SEE ALSO