Previous Topic (Using Krakatoa with Deadline Tutorial) Up (Contents) Next Topic (None)

Offsetting Particles In Space and Time

Offsetting Saved Particles In Space

The Particle files save absolute world positions, but when loaded in a PRT Loader, the default behavior is to use the local coordinate system of the PRT Loader as the reference coordinate system - the particles could appear offset from their original position if the PRT Loader is not aligned to the world coordinate system.

When creating the PRT Loader from the Particle Loaders rollout of the Krakatoa GUI, it will always be placed at the world origin. If created via the Create tab of the Command Panel, the PRT Loader will be typically offset.

The Option "Use Node Transforms" is checked by default. If unchecked, the particles will appear exactly at the world locations they were saved from. When checked, the transformations of the PRT Loader will be applied to the particles, too. This means that you can move, rotate and scale the PRT Loader like any regular 3ds Max object and the particles will follow.

  1. Create a new PRT Loader using the Create New Loader... in the Particle Loaders rollout.
  2. Pick the existing turbulent teapot PRT sequence saved in the previous tutorial - the particles will appear in the viewport.
  3. Select the PRT Loader and move it as a regular object - the particles will follow. Right-click the Move icon and enter 10,20,-30 in the Transform Type In:
  4. Switch to Rotate mode and rotate the PRT Loader - the particles will rotate with it. In the Transform Type In, enter 0,45,0:
  5. Switch to Scale mode, change the Reference coordinate system to Local and scale the local Z axis to 150 percent (the original Melitta teapot that gave birth to the CGI teapot was actually taller!) - the particles will be scaled, too! You can use the Transform Type-In to enter the exact value:
  6. Go to the Modify tab and add a Twist Object Space Modifier to the PRT Loader. Change the Angle to 360 degrees and the Bias to 10 - the particle teapot will also be twisted!
Advanced Tip: As with regular 3ds Max objects, Object Space Modifiers will be applied to particles BEFORE the Position, Rotation and Scale transformations. To apply a Twist AFTER the Transformations, use the Modifier-Based Space Warps!


Offsetting Saved Particles In Time

You can also shift particles loaded using the PRT Loader in time.

  • Enter a Frame Offset different from 0 to tell Krakatoa to shift rendering time from the saved frame numbers. For example, entering 10 will add 10 to the current time and would display the saved particle file with number 0010 on frame 0, 0011 on frame 1 and so on. The Frame Offset is not animatable.
  • If you want to control the timing with much higher precision, you can enable the Use Playback Graph option. This option is similar to the one found in the 3ds Max Point Cache modifier and allows you to keyframe the "Playback Graph [a]" value to define which frame will be played at what time. This value uses floating point precision and Krakatoa will attempt to interpolate both positions and velocities to present a smooth particle motion.


  1. Delete the old PRT Loader and create a new one, loading the same particle sequence as described above. In the Modify Panel, switch the Viewport display mode to Display Velocities - the teapot will disappear because there are no velocities on frame 0. Move the time slider to frame 50 and you will see lines representing the particle velocities (in units per frame). The beginning of the line is the current particle position, the end of the line is the position the particle will have on the following frame:
  2. In the "Timing" group of controls in the PRT Loader's rollout, enter -30 in the Frame Offset field - the Loader will load frame 20 (50-30) on frame 50!
  3. Set the Frame Offset value back to 0 and check the Use Playback Graph checkbox instead - the particles will disappear again because the default Playback Graph value is 0.0 and there are no velocities on frame 0. Change the Playback Graph value to 25.0 - you will notice the bounding box has changed size but the velocities will still not be displayed. This is because the Playback Graph interpolates between the frames, but currently all frames of the scene animation would load frame 25 as static and of course a static particle cloud has no velocities!
  4. Enable the Auto Key button in the 3ds Max User Interface and enter 50.0 in the Playback Graph field - this will create a keyframe with value of 25 on frame 0 and another one with value 50 at frame 50. Play back the animation - you will see that the particles will display shorter velocities because the PRT Loader is playing back 25 frames (from 25 to 50) in 50 frames (from 0 to 50), so all velocities had to be reduced twice. By default, the keyframes will use auto smooth interpolation and will fade in and out according to their tangents. Frame 15 will show PRT file 0030 and will look like this:
  5. Select the key on frame 50 in the trackbar and slide it back to frame 10. Move the time slider to frame 5. Now we have the frames from 25 to 50 playing back in only 10 frames - the velocities and positions will be interpolated respectively:

Using the above workflow, you can create eases, sudden accelerations and slowdowns including bullet-time effects, play particle sequences backwards or in ping-pong manner and so on. Also note that the Frame Offset can be applied in addition to the Playback Graph to shift an existing graph in time.