Skip to content

BoingEffector

A point effector that pushes nearby and instances.

Inherits from: BoingBase

Fields

Radius

csharp
public float Radius

Type: float

Maximum radius of influence.

FullEffectRadiusRatio

csharp
public float FullEffectRadiusRatio

Type: float

Fraction of Radius past which influence begins decaying gradually to zero exactly at Radius.

e.g. With a Radius of 10.0 and FullEffectRadiusRatio of 0.5, reactors within distance of 5.0 will be fully influenced, reactors at distance of 7.5 will experience 50% influence, and reactors past distance of 10.0 will not be influenced at all.

MaxImpulseSpeed

csharp
public float MaxImpulseSpeed

Type: float

Speed of this effector at which impulse effects will be at maximum strength.

e.g. With a MaxImpulseSpeed of 10.0 and an effector traveling at speed of 4.0, impulse effects will be at 40% maximum strength.

ContinuousMotion

csharp
public bool ContinuousMotion

Type: bool

This affects impulse-related effects.

If checked, continuous motion will be simulated between frames. This means even if an effector "teleports" by moving a huge distance between frames, the effector will still affect all reactors caught on the effector's path in between frames, not just the reactors around the effector's discrete positions at different frames.

MoveDistance

csharp
public float MoveDistance

Type: float

Distance to push away reactors at maximum influence.

e.g. With a MoveDistance of 2.0, a Radius of 10.0, a FullEffectRadiusRatio of 0.5, and a reactor at distance of 7.5 away from effector, the reactor will be pushed away to 50% of maximum influence, i.e. 50% of MoveDistance, which is a distance of 1.0 away from the effector.

LinearImpulse

csharp
public float LinearImpulse

Type: float

Under maximum impulse influence (within distance of Radius * FullEffectRadiusRatio and with effector moving at speed faster or equal to MaxImpulaseSpeed), a reactor's movement speed will be maintained to be at least as fast as LinearImpulse (unit: distance per second) in the direction of effector's movement direction.

e.g. With a LinearImpulse of 2.0, a Radius of 10.0, a FullEffectRadiusRatio of 0.5, and a reactor at distance of 7.5 away from effector, the reactor's movement speed in the direction of effector's movement direction will be maintained to be at least 50% of LinearImpulse, which is 1.0 per second.

RotationAngle

csharp
public float RotationAngle

Type: float

Angle (in degrees) to rotate reactors at maximum influence. The rotation will point reactors' up vectors (defined individually in the reactor component) away from the effector.

e.g. With a RotationAngle of 20.0, a Radius of 10.0, a FullEffectRadiusRatio of 0.5, and a reactor at distance of 7.5 away from effector, the reactor will be rotated to 50% of maximum influence, i.e. 50% of RotationAngle, which is 10 degrees.

AngularImpulse

csharp
public float AngularImpulse

Type: float

Under maximum impulse influence (within distance of Radius * FullEffectRadiusRatio and with effector moving at speed faster or equal to MaxImpulaseSpeed), a reactor's rotation speed will be maintained to be at least as fast as AngularImpulse (unit: degrees per second) in the direction of effector's movement direction, i.e. the reactor's up vector will be pulled in the direction of effector's movement direction.

e.g. With a AngularImpulse of 20.0, a Radius of 10.0, a FullEffectRadiusRatio of 0.5, and a reactor at distance of 7.5 away from effector, the reactor's rotation speed in the direction of effector's movement direction will be maintained to be at least 50% of AngularImpulse, which is 10.0 degrees per second.

DrawAffectedReactorFieldGizmos

csharp
public bool DrawAffectedReactorFieldGizmos

Type: bool

If checked, gizmos of reactor fields affected by this effector will be drawn.