Particle events are a combination of two things: a trigger and an action. The trigger determines what causes the event to occur and the action determines what will happen when the trigger is executed. Using these two elements, you can have different actions occur that are triggered according to certain conditions you set.
A common trigger/action combination is a collision/bounce, but there are many more options from which you can choose. For example, an event could be used to create fireworks: the particle trail is seen going up into the sky, then suddenly bursts into another type of particle at the end of its lifetime. Or you could create something simple with an event such as the smoky trail left by a hurtling fireball by emitting particles at every frame. Of course, one of the most common types of particle event is a collision. You can make different actions happen when a particle collides with an obstacle, such as having the original particle bounce off the obstacle, have it emit another particle as it disappears, or have it simply disappear upon impact.
Particle events are set per particle type, allowing you to have very specific control over an effect.

Overview of Setting Up a Particle Event
This is the basic workflow for setting up a particle event:

1. Do one of the following:
- Select a particle cloud and choose Modify > Particles > Add Particle Event from the Simulate toolbar.
or
- On the Event page in the Particle Type property editor, click the New Event button.
2. In the PEvent property editor that opens, select the event Trigger and set its Value (see Selecting the Event Trigger).

![]()
|
If you set an obstacle for a particle cloud using the standard method (see Setting Up Obstacles), an event with Collision as the Trigger is automatically created for the particle type. However, you can still select the type of Action to occur at the moment of impact. |
3. Select an accompanying Action (see Selecting the Particle Action for the Event) that you want the particles to do when the trigger’s Value is reached.
You can also open the PEvent property editor in either of these ways:
• Select the event name from the Inspect > Events menu button on the Simulate toolbar, as shown below.

or
• On the Event page in the Particle Type property editor, right-click the event’s name in the grid and choose Inspect.
Select the Mute option in the PEvent property editor to temporarily disable the event. This means that you can easily test a simulation without this event being calculated as part of it.
Particle events can be triggered at: a particle’s Age or Age %, every nth particle, every nth frame, a particle’s position (in XYZ), a particle’s speed or X/Y/Z speed, a collision with an obstacle, or when particles collide with or avoid each other.

An event will only do something if the value of the parameter used as the trigger reaches the trigger Value of the event. This trigger value can be randomized using the usual animatable variance and seed as any animatable parameter of the simulation (see Adding Variation to Particles). If a single variance is used, the seed is added to that of the particle to get a per-particle trigger value.
Using a Particle’s Age or Age %
• If you select Particle Age as the trigger, the event is triggered at the frame you specify in the Value text box. For example, if you specify 60 as the Value, the event is triggered when the particle has been alive for 60 frames.
• If you select Particle Age % as the trigger, the event is triggered when it reaches the percentage of the particle type’s Max Lifetime value (see Setting the Particle’s Lifetime), which is the number of seconds that the particle lives.
For example, if you specify 60 as the Value, the event is triggered when the particle has reached 60% of its Max Lifetime value.
At Every nth Particle or Frame
You can set an event to happen at a specific number of particles or frames. For example, you could have another particle type be emitted at every 10th particle that is born or have particles disappear at every 20 frames. You could also create a particle trail by having a particle type emitted at every frame or use a Value of 1 with the Every nth Particle option.
At a Particular Position or Speed
You can set an event to happen at a specific position or speed of the particles. For example, you could have a particle disappear when it reaches a certain percentage of its Y position or emit another particle type when a particle reaches a certain percentage of its Speed value (see Particle Velocity).
Interparticle Collision or Avoidance
You can set an event to happen when particles collide with or avoid each other. This trigger depends on the settings you have for the particle type on its Inter. page (see Making Particles Collide with or Avoid Each Other). For example, you could emit another particle type when the particles interact (collide) with each other.
A collision event is when particles collide with an object that you have selected as the obstacle.
• If you’ve already selected an object as an obstacle for particles (see Setting Up Particle Collisions), a collision event for each particle type associated with the cloud is automatically created, with the action set to Bounce by default. You can change the action type as you like.
• If you add an obstacle to an existing event, the trigger automatically switches to Collision.
• If you select Collision as an event’s trigger, but no obstacle exists, you must select an obstacle or else nothing will happen.
To select an obstacle for an event
1. In the PEvent property editor, click the Pick button in the Obstacle group.
2. In the viewport, pick the object that you want to use as the obstacle for this event.
An obstacle property is added to the object and is also nested under the particle type’s event property. If you pick an object that already is an obstacle (has an obstacle property), this property is nested under the event.
Selecting the Particle Action for the Event
After you have selected an event trigger, you must select the type of action to occur for the event. In the PEvent property editor, choose the behavior of the particle type from the Action list, as shown below.

If you have already set an obstacle for a particle cloud, a collision event is automatically created for you with Bounce as the default action. You can then open the PEvent property editor for it and select the action you want.
If you select Script as the action, you can created a scripted event, which allows for a great deal of control over specialized effects (see Scripting a Particle Event).
Bounce
Bounce causes the particles to bounce off an obstacle that you have specified. This is possible only when you have Collision selected as the event trigger. The dynamics of the particle bounce is set by the Physical Parameters in the Obstacle property editor (see Setting the Collision’s Physical Behavior), as well as the settings for Elasticity and Friction on the Environment property page for the particle type (see Setting Up Particle Collisions).

Stick
Stick causes particles to stick to an obstacle that you specify and remain there for the duration of their lifetimes. This is possible only when you have Collision selected as the event trigger.
Disappear
Disappear makes particles disappear at the time of the event. For example, with a Particle Age trigger, the particles disappear when they reach a certain percentage of their Max Lifetime value.
Emitting particles is a little more complex than the other actions because you must specify the particle type that is to be emitted from the initial particle type. However, emitting particles in an event also allows for much more interesting effects.
Emit causes new particles to be emitted at event time (such as upon impact with the obstacle in a collision) while preserving the original particles for as long as their lifetime allows.

Emit & Disappear causes new particles to be emitted at event time while the original particles disappear.

Bounce & Emit causes new particles to be emitted when particles bounce off an obstacle (you must have Collision selected as the trigger). The original particles do not disappear. For example, you can make bullets skip across a rock and emit dust particles upon impact.

Creating the Particle Type to Be Emitted
When you select either any of these three Emit actions, you must select the particle type (the source) that will be emitted at event time.
To create a source particle type to be emitted
1. On the Particle Type > Events page or the PEvent property editor, click the Create button in the Source group.
This creates an emission property similar to the one used by emitters, but only with a set of parameters relevant to the particle’s emission. The emission is named according to the event’s name with an “_Emission” suffix added.
2. Open the Event Emission’s property page, select the particle type to be used as the emitted particle and set its properties.
By default, the particle type used for this emission is the first particle type listed in Particle Type List folder under the Particle cloud.
3. Set up the emission properties.
For information on general Emission properties, see Selecting an Emitter and Setting Up Its Particle Emission. The following are the parameters that are exclusive to event emissions:
- Rate: With regular emissions, Rate is the number of particles emitted per second. However, with an event emission, this value is simply the number of particles emitted at event time.
- Azimuth is the azimuth vector along which the emitted particle type is generated. This is basically the angle from the point of view of the particle emitter.
- Declination is the degree of declination of the vector along which the emitted particle is propelled.
- Birth Offset > Radius offsets each emitted particle (depends on the Rate value you specify here) in a sphere around the original particle type with the radius value you specify (in Softimage units).
![]()
|
While emitting a new particle type allows you to create more complex effects, you must take care in how you do this. Here are two things to watch out for when emitting new particle types: • It’s possible to create a recursive loop when emitting new particle types for event. For example, if three particles are emitted every time a particle hits an object, these three particles in turn generate three particles when they hit an object, and so on. The number of particles grows exponentially and can cause a system meltdown! • Creating new particle types with every new event leads to housecleaning issues. Unless you are very careful about editing each new particle type by name and content, you could quickly end up with a vast collection of anonymous particle types in your scene. |
To delete a particle event
• Do either of the following:
- On the Events page in the Particle Type property editor, right-click the event you want to delete, choose Select Item, then press Delete.

or
- In the explorer, select the Event under the Particle Type’s Events folder and press Delete.
Selecting Script as the Action (see Selecting the Particle Action for the Event) lets you select and run a script that you have created to modify the behavior or appearance of particles. For example, you could write a script so that the particles change color when they collide with an obstacle.
When you select Script, the parameters on the Script page in the PEvent property editor are activated. You can either select a script file that has already been created or you can write the script directly in the edit (white) box at the bottom of this page.
Using a Script File
To use a script file
1. Select Use Script File on the Script page.
2. Provide the name of the File containing the script.
3. Enter the Proc. (subroutine) name to call.
4. Select the language it uses: either VBScript or JScript.
The subroutine must have three parameters in this order:
• Parameter 1- the particle cloud primitive that triggered the event.
• Parameter 2- An array containing the indices of the particles that triggered the event.
• Parameter 3- The current simulation frame.
For more information about writing particle events, see the SDK Customization Guide and the Working with Softimage for Developers guide. To access this documentation, you can open the script editor and press F1 or choose Help > Scripting Reference in it, or choose Help > SDK Guide from the main menu in Softimage.
Entering a Script
To use a script on the page
• Enter the script in the edit box on the Script page.
The context defines how the script is called:
• Per trigger particle: the script is called once for each particle that triggers the event. In this context, you can use these variables:
- inParticle: One particle that triggered the event.
- inTriggerParticleCnt: The index of the particle within the array of particles that triggered the event.
• Per particle: The script is called once for every particle in the cloud, whether it triggered the event or not. In this context, you can use these variables:
- inParticle: One particle in the cloud
- inParticleCnt: The index of the particle within the cloud
• Per cloud: This script is called once for the cloud. No extra variables are accessible here.
In all three contexts, the following variables are available:
• inParticleCloud: the cloud primitive
• inTriggerParticleIndices: the array of indices of the particles that triggered the event (whatever the context)
• inSimFrame: The current simulation frame when the event occurred
• inParticleCollection: The particle collection object
Autodesk Softimage v.7.5