History Modifier

This modifier is new in X-Particles 4 and replaces the Rewind modifier from X-Particles 3.5.

The Rewind modifier is still present to retain compatibility with older scenes, but its use is now deprecated and it may be removed in later versions of X-Particles.

Interface

The modifier's interface contains the following sections:

For the 'Groups Affected' and Falloff tabs and for the buttons at the bottom of the interface, please see the 'Common interface elements' page.

Please see the section 'How to use the History modifier' at the foot of this page before using the modifier for the first time.

Parameters

General quicktab

Enabled

Uncheck this switch to disable the modifier.

Mode

Independent [default setting]

In this mode, the modifier will work in the same way as a standard Cinema 4D particle modifier. X-Particle Actions have no effect on the modifier in this mode.

Action-Controlled

In this mode, the modifier will only act on a particle when told to do so by an Action. Until that point, the particle will not be affected, but once activated for a particular particle, the modifier will influence the particle - that is, it will play back the history. Turning a modifier on with an action only affects playback, not recording, since the modifier always records the history even if not active for a particular particle. The modifier's effect on a particle can be halted (i.e. playback stopped) by means of another Action, if desired.

The four parameters in the General quicktab are only available if 'Mode' is set to 'Independent'. In action-controlled mode everything is set and controlled by the action.

Note that the following parameters 'At Time', 'Playback Using', 'Playback Time' and 'Playback Percent' are ignored when in action-controlled mode, since then the action sets these values.

At Time

This is the time in the document when playback will start.

Playback Using

You have two ways to determine how long the playback will be. The two options in this drop-down are:

Using Time

With this option, you can set the length of the playback in frames (or seconds, etc.) using the 'Playback Time' parameter.

Using Percent

If this is selected, the length of the playback time will be the percentage (from the 'Playback Percent' parameter) of the total number of frames stored in the history.

These two methods can produce different results. For example, suppose the playback is triggered at frame 60. If the 'Using Time' option is selected, the length of the playback for all particles will be the same. But if 'Using Percent' is selected and set to a value such as 50%, then a particle which has 60 frames of history recorded will play back for 30 frames; but a particle with 40 frames of history will only play back for 20 frames.

You can choose whichever option works best in your scene.

Playback Time

The length of the play back in frames or other time units, if 'Using Time' is selected in 'Playback Using'.

Playback Percent

The length of the play back as a percentage of the total history stored by the particle, if 'Using Percent' is selected in 'Playback Using'.

Freeze During Playback

One issue with this modifier is that during playback the history modifier will play back the particle position but after that, the emitter moves the particles again. This is not always noticeable but if you are using a Fragmenter object it means that the polygons attached to the particles will never return to their exact original position, potentially leaving gaps in the mesh.

If that happens, turn on this switch. It will prevent the emitter from moving, scaling, or rotating particles during playback, leaving these parameters under the control of the modifier. To unfreeze them when playback is complete, you can either use an Action or you can turn on the switch 'Unfreeze When Playback Complete' which reverses the effect of this switch.

Unfreeze When Playback Complete

This switch is only available when 'Freeze During Playback' is turned on. It will automatically unfreeze the particles, allowing the emitter to take over moving, scaling, and rotating them again. Alternatively, you can leave this switch unchecked and do the same thing with an Action.

If you want to keep the particles frozen when playback is complete, uncheck this switch.

Actions

When play back is complete, the modifier will trigger any actions found in this list.

Add Action

Click this button to create a new action and add it to the list.

Parameters to Play Back quicktab

The modifier stores all these parameters for each frame, but you don't need to play them all back if that is not required. Simply select from this list which parameters you want to play back when the playback is triggered.

Set All and Clear All

These two buttons will either check all the switches or uncheck them all, respectively.

How to use the History Modifier

Using the History modifier is extremely simple. This modifier essentially provides a localised, non-saveable cache which you can use to play back the animation of a particle. For example, you could play a scene to a certain frame then have all the particles return to their starting positions, returning the particle speed, colour, position, etc. to what they were at each frame leading up to the point where the playback was started.

The modifier can be used in two modes, independent and action-controlled.

Independent mode

This is the simplest mode but it is very limited compared to the control given by the action-controlled mode. The first thing to remember is that the modifier always records the particle data for each frame; it will do this even if particles are not in the modifier's falloff area or if they are in particle groups which the modifier does not affect.

To start playback at a certain point, set the 'At Time' parameter to the frame or time at which playback is to start. Then select the length of the playback - you don't have to play back all of the accumulated history, so if playback starts at frame 60, you can choose to play back less than 60 frames if you wish.

The playback length is set either in the 'Playback Time' or 'Playback Percent' parameters. 'Playback Time' is self-explanatory: it is the length of time for which the particle history will be played back. If you enter a value which is greater than the number of stored frames, the modifier will play the particle back until the start of the stored data. Of course, if you leave this at zero, no playback will occur.

Using 'Playback Time' means that all particles will play their data back for that length of time, even if some have less stored history than others. Usually, this will be what you want. But you can also choose to play back a proportion of the history by entering that proportion in the 'Playback Percent' field. In this case, particles with less history data than others will play back the same proportion of their history - but this will be for a shorter time (50% of 40 frames is less than 50% of 60 frames, for example).

Action-controlled mode

In independent mode, playback starts at the same time for all particles, but with action-controlled mode you can control the playback of individual particles. In this mode the time parameters are no longer available, since playback start and stop are governed entirely by the action. With this mode, by using a question to trigger an action, you could start playback when each particle reaches a certain age or speed, or when it collides with an object. For more details, see the Action: History Modifier page.

Parameters to play back

You don't have to play back all the stored parameters. For example, you might only be interested in playing back any colour change, so you would uncheck all the parameters except colour. Note that if you uncheck position, the particles will not return along their original path.

Caveats

There are a few points to remember about using this modifier:

1. If you want the particles to play back exactly along their original path, ensure that the history modifier is the lowest modifier in the object manager, so that it executes after every other modifier that might affect the particles.

2. Action-controlled mode is unlike most other modifiers in X-Particles. In other modifiers, the actions are used to 'turn on' or 'turn off' a modifier for a specific particle. This modifier is always 'on' however, in that it always records the particle data and the action does not affect this at all. The action is used instead to turn playback on or off.

3. If your particles are set in the emitter or group to use the colour mode 'Gradient (Parameter)' you cannot use this modifier to play back the colour. This is because the emitter controls the colour when that mode is selected, and this executes after the modifier. If you want to use a gradient with the particle age to control the colour, but still want to use a history modifier to play back the colour, change the colour with a Color modifier set to the 'Age-Dependent' mode instead.

However, remember that if you do this, and colour is one of the parameters to be played back, the moment playback stops the colour will revert to whatever colour is correct for the particle age at that point.

4. If you add more than one history modifier to the scene, both modifiers will record the particle history, but since the particle can only carry one set of history data, the two modifiers will use the same set of data. This means that whichever history modifier is the lowest one in the object manager, and therefore executes last, will control what happens in terms of playback.

It is therefore recommended that you use only one history modifier in a scene (unless you restrict an emitter to using only modifiers in the same system) and use particle groups to playback only certain particles.

5. The history modifier stores quite a lot of data each frame, for each particle. This will use memory and take time to store and play back. You should be aware of this when using scenes with large numbers of particles.

6. The modifier falloff does not affect data recording, only playback. When playing back, the falloff only controls whether data is played back or not; the actual falloff value has no effect.