Acceleration Modules

These modules provide the ability to apply acceleration, or a change in velocity over time, to particles.

Acceleration

The Acceleration module sets the initial acceleration of the particle. This value is stored per-particle, and is applied each frame during the Update call. It contains the following member(s):

Property Description

Acceleration

Acceleration A vector distribution indicating the acceleration to use. The value is grabbed based on the EmitterTime at the spawn of the particle.
Apply Owner Scale If true, the acceleration is multiplied by the scale of the ParticleSystemComponent.
Always In World Space If true, the acceleration vector is assumed to be in world-space coordinates. Otherwise, it is assumed to be in local-space relative to the ParticleSystemComponent.

This module will add a vector parameter to the particle payload data, UsedAcceleration. This value is used to retain the acceleration over the life of each particle.

Each frame, the current and base velocity values of the particle is then updated using the formula (velocity += acceleration * DeltaTime) where DeltaTime is the amount of time passed since the last frame.

Const Acceleration

The Const Acceleration module is very similar to the Acceleration module, in that it applies an initial acceleration to the particle. The key difference, however, is that the Const Acceleration module does not accept a Distribution property.

Const Acceleration is the only type of acceleration available to GPU Sprite particles.

Property Description

Const Acceleration

Acceleration A vector distribution indicating the acceleration to use. The value is grabbed based on the EmitterTime at the spawn of the particle.

This module will add a vector parameter to the particle payload data, UsedAcceleration. This value is used to retain the acceleration over the life of each particle.

Each frame, the current and base velocity values of the particle is then updated using the formula (velocity += acceleration * DeltaTime) where DeltaTime is the amount of time passed since the last frame.

Drag

Drag applies a constant resistance to motion to each particle. The coefficient value is calculated at spawn time and applied to the particle at each frame.

Property Description

Drag

Coefficient A float distribution defining the drag coefficient, or the amount of resistance to motion, that will be applied to each particle.

Drag Scale/Life

Drag Scale/Life is a multiplier value that works with an existing Drag module, allowing, for example, for the drag to be scaled via a curve across the life of the particle.

Drag Scale/Life only works on GPU Sprite particles.

Property Description

Drag Scale/Life

Drag Scale A float distribution defining the scaling value that will be applied to the existing particle drag coefficient.

AccelerationOverLife

Acceleration Over Life sets the acceleration of the particle over its lifetime. It contains the following member(s):

Property Description

Acceleration

Accel Over Life A vector distribution indicating the acceleration to use. Value is retrieved based on the RelativeTime at the update of the particle.
Always In World Space If true, the acceleration vector is assumed to be in world-space coordinates. Otherwise, it is assumed to be in local-space relative to the ParticleSystemComponent.

The acceleration is retrieved from the Acceleration distribution using the Particle.RelativeTime. The current and base velocity values of the particle are then updated using the formula (velocity += acceleration* DeltaTime) where DeltaTime is the amount of time passed since the last frame.

Tags