ParticleAttractor
Position
Attractors are used both in ParticleSpawner and ParticleSystem so depending where they are used they may have a different explanation:
Spawner: Offsets the centre of the Attractor from the centre of the ParticleSpawner.
System: Offsets the centre of the Attractor from the centre of the ParticleSpawnerGroup.
Type information:
(Nullable)
Vector3f with the following properties:
| Key | Type | Description |
|---|---|---|
| X | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Y | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Z | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ |
RadialAxis
Sets an axis for the radial motion. Values can be mixed to change the direction of the axis. You can think of it as defining another position in a coordinate system originating from the centre of the attractor and then drawing a line through this origin and the newly defined point.
E.g.: If the x and y value is 1 it is exactly between the default x and y axis. If x = 2 and y = 1 the axis is 1/3 towards the y and 2/3 towards the x axis.
RadialImpulse can work without axis perfectly fine, while RadialTangentAcceleration and RadialTangentImpulse can cause some interesting effects.
Type information:
(Nullable)
Vector3f with the following properties:
| Key | Type | Description |
|---|---|---|
| X | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Y | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Z | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ |
TrailPositionMultiplier
Attractors are used both in ParticleSpawner and ParticleSystem so depending where they are used they may have a different explanation:
Spawner (Advanced, rarely used):
Defines how strong the attractor keeps its position, while the spawner gets moved. This movement for the attractor is individual for each particle, so the movement of the attractor is only stopped, when the particle gets spawned.
E.g.: The spawner moves with speed 1 towards +x and every 0.5 seconds a field of particles (1 x and 1 z max spawn offset) get spawned. The attractor has a TrailPositionMultiplier of 1 (no movement) and a RadialImpulse of -1 (movement towards the axis) and a RadialAxis y of 1. The first wave spawns at the starting position of the spawner and all the particles move towards the centre, while not following the motion of the spawner.
The particles for the second wave would spawn with 0.5 +x offset from the prior wave, since the spawner moved, but the particles don't move now to the same place the first wave moved. They now move like the first wave to the centre of their own position, but yet again, don't get dragged with the continued motion of the spawner.
The third wave now has 1 +x offset and acts like the second wave.
If the TrailPositionMultiplier were 0.5, the particles would move half the speed with the spawner, since the attractor would move half the distance with the spawner and thus the centre the particles move towards gets moved with it.
Both:
- 0.0: Moves fully with its anchor.
- 0.5: Moves half the distance with its anchor.
- 1.0: Does not move with its anchor.
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
Radius
Defines how far the attractor takes effect. Leave empty for infinite range.
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
RadialAcceleration
Defines the acceleration away from (positive) or towards (negative) the RadialAxis (if no axis: the attractor centre).
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
RadialTangentAcceleration
Defines the acceleration of rotation around the RadialAxis. High speed values will cause it to expand.
- Positive: clockwise
- Negative: anti-clockwise
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
LinearAcceleration
Lets you define the acceleration along the x,y and z-Axis.
West < - x + > East
Down < - y + > Up
North < - z + > South
Type information:
(Nullable)
Vector3f with the following properties:
| Key | Type | Description |
|---|---|---|
| X | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Y | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Z | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ |
RadialImpulse
Defines a constant speed away from (positive) or towards (negative) the RadialAxis (if no axis: the attractor centre). Applied while the particle is inside the effective radius.
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
RadialTangentImpulse
Defines a constant rotation speed around the RadialAxis, applied while the particle is inside the effective radius. High speed values will cause it to expand.
- Positive: clockwise
- Negative: anti-clockwise
Type information:
(Nullable) Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
LinearImpulse
Lets you define a constant speed along the x,y and z-Axis, applied while the particle is inside the effective radius.
West < - x + > East
Down < - y + > Up
North < - z + > South
Type information:
(Nullable)
Vector3f with the following properties:
| Key | Type | Description |
|---|---|---|
| X | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Y | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Z | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ |
DampingMultiplier
Attractors are used both in ParticleSpawner and ParticleSystem so depending where they are used they may have a different explanation:
Spawner:
Defines the slowdown of the Particles. Used for air resistance. A value of 1 applies no damping, while values above 1 speed the particles up. If at least one value is defined, you should set the others too, since they will be treated as 0, if left undefined. Impulses from attractors are not affected, while InitialVelocity is affected.
System: Defines the slowdown of the ParticleSpawner.
Type information:
(Nullable)
Vector3f with the following properties:
| Key | Type | Description |
|---|---|---|
| X | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Y | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ | |
| Z | Either Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$ |
