Krakatoa Plug-in and Script Components

Krakatoa Plug-in Components

  • Krakatoa consists of a single MaxKrakatoa.dlr developed using MS Visual Studio, C++ and the 3ds Max SDK.
  • This DLR (DLL Renderer) implements the following components of the Krakatoa package:
  • The Krakatoa Renderer plug-in
  • The Krakatoa PRT Loader geometry plug-in’s low-level functionality (the UI is provided via MAXScript).
  • The Krakatoa PRT Volume object including the UI.
  • The Krakatoa PRT Loader Birth operator in Particle Flow
  • The Krakatoa PRT Loader Update operator in Particle Flow
  • The Krakatoa ID Test operator in Particle Flow
  • The Krakatoa Geometry Lookup operator in Particle Flow
  • The Krakatoa Geometry Test operator in Particle Flow
  • The Krakatoa Collision Test operator in Particle Flow
  • The Krakatoa Options operator in Particle Flow
  • The Krakatoa Shadows Generator plug-in used in standard 3ds Max lights

Krakatoa Scripted Components

  • All other components of Krakatoa are implemented as MAXScripts building upon the objects and interfaces implemented by the above plug-in.
  • The source files of these scripts are provided unprotected - you can use them to learn how Krakatoa can be controlled using MAXScript.

KrakatoaStartup.ms

  • This script file is located in the same folder as the KrakatoaMax.DLR plug-in.
  • It is loaded by 3ds Max as a plug-in file - MAXScript source files are loaded like plug-ins since 3ds Max R3 if they are placed in a folder listed in the Plugins paths.
  • This script contains startup code which loads all other scripts in a well-defined order and also ensures that MacroScript icons are up-to-date.

KrakatoaGUI.ms

  • This script file implements:
  • The complete Krakatoa Renderer GUI and all its floaters and rollouts
  • The MacroScripts used to interact with the Krakatoa GUI and create Krakatoa Objects and Modifiers, launch Explorers, Preferences etc.
  • The Krakatoa Scene Explorers used to browse through particle sources in the scene
  • The additional Struct of useful functions employed by various Krakatoa tools
  • This file is the main scripted component of Krakatoa and can be used to discover how to interact with Krakatoa, change its properties, launch rendering of images and saving of particle file sequences and so on.

KrakatoaMenuCreator.ms

This script file generates the Krakatoa Menu found in the 3ds Max Main Menu bar in Krakatoa v1.6.0 and higher.

KrakatoaVFBMethods.ms

  • This script file implements the Extended Rendered Image Window (a.k.a. VFB) controls available in 3ds Max 2009 and higher.

KrakatoaSchematicFlow.ms

  • This script file implements the Krakatoa Schematic Flow utility.
  • It can be used to overview the main settings of Krakatoa and the data flow from scene particle sources to the final image through the various stages of the rendering process.

Krakatoa_ParticleDataViewer.ms

  • This script file implements the Particle Data Viewer in Krakatoa v1.6.0 and higher.
  • It can be used to browse the actual content of particle data channels exposed by PRT Loader and PRT Volume objects.

Krakatoa_Channel_Node_Editor.ms

  • This script file implements the complete MagmaFlow editor based on the Helium MAXScript extension distributed freely by Lumonix.net.

KrakatoaPRTLoader.ms

  • This script file implements a scripted geometry plug-in which extends the low-level PRT Loader plug-in implemented by MaxKrakatoa.dlr.
  • The SDK plug-in does not provide ANY User Interface and exposes only very few properties.
  • The scripted plug-in is what is shown in the Command Panel and can also be dissected for learning purposes, or modified at your own risk to provide a different controls layout or even additional functionality.

Krakatoa_PRTLoader_FileMan.ms

  • This script file implements the File Manager used by the PRT Loader to manage multiple particle file sequences.

Krakatoa_PRTloader_Manipulator.ms

  • This script file implements the PRT Loader Manipulator helper
  • The Manipulator can be used to tweak the view and render percentages of PRT Loaders directly in the viewports.

Krakatoa_PRTLoader_PresetMan.ms

  • This script file implements the Presets Manager used by the PRT Loader to save and load its settings.

Krakatoa_Shadows_Utility.ms

  • In v1.6.0, this script file implements the Krakatoa Shadows Explorer used to assign and manage Krakatoa Shadow Generators to scene lights.
  • This file used to implement the Shadows Utility in previous versions of Krakatoa.

Krakatoa_PRTScanner_Utility.ms

  • This script file implements the Particle Analysis Utility.
  • The Utility can be used to query the counts and memory usage of PRT Loaders and some other scene particle sources.

KrakatoaPartitionTasksOnDeadline.ms

  • This script file is used to calculate Partitions on Deadline in “One Partition Per Task” mode.
  • It is sent to Deadline as part of a MAXScript Job and controls the saving process.

KrakatoaToolbar.ms

  • This script file implements the Krakatoa Toolbar MacroScripts.

Krakatoa_PRTChannel_Modifier.ms

  • This script file contains the definitions of the
  • Krakatoa Global Data Holder
  • Krakatoa FumeFX Modifier
  • Krakatoa Camera modifier
  • Krakatoa Delete Modifier
  • Krakatoa Channels Modifier (KCM)

Krakatoa_PFlowOperators_ChannelSelectorDialog.ms (obsolete)

  • This script file implements the User Interface Floater found in the obsolete Krakatoa File Update PFlow Operator via its Channel Setup button.
  • That operator is supported for backwards compatibility with older scenes, but is not visible in the Particle View Depot anymore