Create complex data flows using Channel, Value, TextureMap and Script Inputs, Operators and Channel Outputs in the powerful MagmaFlow node-based editor.
Particle Rendering draws every particle as a pixel-sized point, accumulating millions of particles to produce dense results.
Voxel Rendering registers particle data onto a voxel grid and shades the voxels, producing dense results with less particles.
Krakatoa implements the full volumetric shading equation including Scatter (Color) channel, Density channel, Emission channel and Absorption channel, thus modeling physical behavior of light like scattering, attenuation and emission.
Native Krakatoa Motion Blur and Depth Of Field effects are supported. The 3ds Max built-in multi-pass effects can also be used for compatibility, but are generally slower.
Cache the results of the particle pipeline in RAM, either before or after the lighting phase. This allows for quick adjustment of lighting parameters, camera placement and particle density.
Various particle data and shader channels can be output to separate images using Krakatoa-specific Render Elements including ZDepth, MatteZDepth, Normal, Tangent, Velocity, Diffuse, Specular, SpecificLight, OccludedLayer and even custom elements created using the node-based MagmaFlow editor.
Particle Files
Save sequences of particle files to disk in PRT, CSV or BIN file formats.
Write all the channels from the particle sources to disk for full generality when loading later, or minimize disk storage by baking materials into a single color per particle.
The list of channels to be saved can be customized. The PRT and CSV file formats support arbitrary named channels, including Position, Velocity, Normal, all 100 UVW channels supported by 3ds Max, and many more.
RealFlow BIN files will be converted in and out of 3ds Max coordinates automatically.
Partitioning
The Krakatoa Partitioning feature lets you generate and render more particles than 3ds Max particle systems can process at once. You can also process large particle simulation jobs on multiple machines on your Deadline render farm. Partitioning generates massive particle counts by evaluating the same system multiple times with different random seeds for each partition.
Partitioned files can be recombined by Krakatoa and rendered as a single particle cloud. Effectively, the only limitation on particle counts is the available RAM.
Partitions added to a single PRT Loader will be loaded in parallel, usually saturating the storage medium's bandwidth and increasing performance significantly.
Interaction With Other Renderers
Load specified scene geometry to act as Matte Objects, occluding particles from the camera view and casting shadows onto particle systems.
Load Z-Depth passes created in other Renderers to act as an occlusion map, for example to capture fine detail from microdisplacement in VRay, Gelato, mental ray etc. and occlude particles based on the displacement without having the render-time geometry available as occlusion object.
Create Deep Opacity Maps during the rendering process to generate shadows from particles onto scene geometry in other renderers.
A Krakatoa Shadow Generator can be added to standard 3ds Max lights to produce shadows based on the Deep Opacity Maps saved by Krakatoa.
A dedicated Krakatoa Atmosheric Effect provides ray-marching capabilities within the 3ds Max native atmospheric system and allows the simpler integration of voxel rendering with other renderers that support 3ds Max environment effects like Default Scanline, V-Ray, finalRender and Brazil r/s.
PRT Loader Object
The Krakatoa PRT Loader object allows the loading and preview of particle files in the 3ds Max viewport, and specifies how particles will load and render in Krakatoa.
Transformations like Translation, Rotation and Scaling can be applied to the PRT Loader.
3ds Max Object Space and World Space Deformation Modifiers can be applied to the particles just like to any other object. Both particle positions, velocities and normals will be deformed.
Custom geometry objects can be used as Culling Volumes for selectively excluding particles from rendering, acquiring normals from the culling geometry and removing particles inside or outside a user-defined threshold.
The Krakatoa's PRT Volume object can fill the volume of a mostly closed geometry object with particles (New in v1.5.0).
The particles will automatically acquire Normals and Texture Coordinates from the geometry.
Particle channels can be set and modified using Standard and Krakatoa Materials and Krakatoa Channel Modifiers (KCMs) without the need to save to disk first.
One or more particles can be created per voxel either in regular grid or randomly.
The Smoke and Fire channels can be used to seed particles, and the Density and Emission will be set correctly based on the Smoke and Fire channels, including Fire color and custom gradients.
Normal vectors can be generated from the Density Gradient, allowing for surface-style Phong Shading or Environment Reflections generation.
It can convert splines or 3ds Max Hair&Fur to particles.
The particles will provide additional channels describing the position of the particle relatively to the root of the hair, the root position, the spline's length and the spline's ID.
The Density Falloff can be controlled through a built-in exponential function or via Magma modifiers.
All other particle data channels can be specified using Magma modifiers.
The particle distribution can be controlled separately in the viewport and the renderer and can be performed optionally in Camera space.
A dedicated ReferencePosition particle channel can be generated with particle positions from a different frame to help with sticky camera map projections.
It can generate up to 4 billion particles procedurally and apply data to them using Magma modifiers or a custom set of animatable Affine Transforms to produce 3D fractal distributions.
Additional channels will be generated to describe the fractal transformations the particle has passed through, as well as a random value that can be used to affect the particle uniquely.
Krakatoa Skin Wrap World Space Modifier
The Krakatoa Skin Wrap can be used to deform particles or mesh vertices using a deforming mesh as lattice.
The topology of the deformed mesh or particle count of the particle system can change over time. Only the deforming topology must be consistent.
MAXScript Access to Particle Data
The KrakatoaParticleOStream value lets users generate PRT files directly from the 3ds Max scripting language with or without the use of particle systems.
The KrakatoaParticleIStream value exposes methods for reading particle data from PRT Loader, PRT Volume, PRT FumeFX and PRT Source objects.
The Particle Data Viewer utility which can be used to browse the render-time data of PRT objects is an example of a scripted tool employing the KrakatoaParticleIStream value.
The Krakatoa Options Operator can be used to copy Color and Density data from the Particle Flow Scripted Channels into the Krakatoa Color and Density channels without passing the data through the 3ds Max shading system. Thus, MAXScript and Box #3 Data Operators can be used as a custom shading language to define colors based on particle properties etc.
The additional Krakatoa Geometry Test Operator implements the particle culling technology available in the Krakatoa PRT Loader as a Particle Flow operator. It can be used to send out particles based on a geometry volume test and surface proximity.
The additional Krakatoa Geometry Lookup operator can be used to quickly acquire surface data like closest point, UV coordinates, normal orientation etc.
Presets and History
Presets can be saved from any portion of the available UI rollouts/controls via a TreeView-based dialog. Presets can be loaded fully or partially using the same dialog.
Each rendering performed while the Krakatoa GUI is open will automatically create a History record including all GUI settings, statistics about the scene and render/save time and a full copy of the render output image.
The GUI settings of any two History or Presets records can be automatically compared to determine what values were different.
Any History/Preset settings can be compared to the current settings and acquired as current settings to achieve a similar render output as the one stored in the History.
Both lists can be searched using wildcard pattern.
Two thumbnails will be displayed at the same time for visual comparison of the outputs of any two History records. The full images can be loaded into the RAM Player for complete comparison with A|B wipes with a single click.
Some controls such as the Global Render Values rollout Overrides for Background, Color, Emission, Absorption and Density as well as the Save Particles rollout file name components can use the History data to set their values from previously used ones.
Custom configurations can be created, stored and restored.
Most numeric values can be loaded, saved and managed as presets.
The state of most checkbuttons and values can be saved individually or en masse as startup defaults used by new Krakatoa sessions.
The values of most controls can be stored as presets and restored individually, per rollout or globally.
Every render or save operation will create a history preset file that can be used to restore the exact settings used to produce the rendering or particle file sequence.
The color of Checkbuttons used in place of checkboxes throughout the UI can be customized per rollout to improve sub-conscious recognition of various program areas.
The color of the arrow icons can be customized to match the color palette of 3ds Max.