HytaleDocs
Misc

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:

KeyTypeDescription
XEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
YEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
ZEither 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:

KeyTypeDescription
XEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
YEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
ZEither 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:

KeyTypeDescription
XEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
YEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
ZEither 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:

KeyTypeDescription
XEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
YEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
ZEither 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:

KeyTypeDescription
XEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
YEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$
ZEither Number defaults to: 0.0 or String that matches the pattern: ^(-?Infinity|NaN)$

On this page