FleeBounds uses the opposite direction to the bounding box of the percept as target direction (back-end class).
This behaviour extends SeekBounds such that the result is inverted. FleeBounds writes a magnitude of 1 (times the distance mapping) to all receptors facing in the opposite direction of the current percepts bound.
Back-end class of AIMFleeBounds. This behaviour is thread-safe.
Public Fields | |
BoundsType | BoundsType = BoundsType.ColliderOBB |
Determines which bounding box model is used for this behaviour. More... | |
float | InnerRadius = 0.0f |
The minimum radius for considering percepts. More... | |
float | OuterRadius = 20f |
The maximum radius for considering percepts. More... | |
MappingType | RadiusMapping = MappingType.InverseLinear |
Determines how the startMagnitude is mapped according to the InnerRadius and OuterRadius. More... | |
Vector3 | ResultDirection |
The direction vector used for obtaining objective values. More... | |
float | ResultMagnitude |
The magnitude value used for obtaining objective values. More... | |
int | TargetObjective |
Defines the objective for writing values. More... | |
float | MagnitudeMultiplier = 1f |
Is multiplied to the ResultMagnitude in order to weight between different behaviours. More... | |
float | SensitivityOffset |
Is added to the Structure.Sensitivity as threshold for writing objective values. More... | |
ValueWritingType | ValueWriting = ValueWritingType.AssignGreater |
Sets the type for writing objective values. More... | |
LayerBlendingType | LayerBlending = LayerBlendingType.None |
Sets the operation for blending the behaviour results into the context. More... | |
LayerNormalizationType | LayerNormalization = LayerNormalizationType.None |
Sets the method for normalizing intermediate objective values while they are blended into the context. More... | |
MappingType | ValueMapping = MappingType.InverseLinear |
Sets the mapping type for obtaining objective values. More... | |
bool | UseSignificance = true |
Determines if the SteeringPercept.Significance (if there is a AIMSteeringTag) is multiplied to the ResultMagnitude in order to weight between different percepts. More... | |
bool | UseSensorProjection = true |
If true , Sensor.ProjectionMode is used as VectorProjection. More... | |
VectorProjectionType | VectorProjection = VectorProjectionType.None |
Sets the type for projecting the perceived vector data into a plane. More... | |
PresetVelocityType | PresetVelocity = PresetVelocityType.None |
If the value is anything other than PresetVelocityType.None, a game object's rotation and default forward direction is used to approximate its actual velocity. More... | |
PredictionType | Prediction = PredictionType.None |
If set to anything other than PredictionType.None, the position of the Self percept is updated according to the given velocity. More... | |
float | PredictionMagnitude = 0.0f |
Scales the velocity vector used for predicting the possible future position of an agent if Prediction is set to PredictionType.PredictionMagnitude. More... | |
readonly IList< T > | Percepts |
All percepts which are relevant for an agent. More... | |
Protected Fields | |
float | invertFactor = 1.0f |
Is applied to both the RadiusSteeringBehaviour.startDirection and the direction of the current receptor. More... | |
Vector3 | startDirection |
Direction from the self position to the percept position (including distance magnitude). More... | |
float | startMagnitude |
Magnitude obtained from mapping the percept position relative to InnerRadius and OuterRadius. More... | |
float | sqrInnerRadius |
Squared InnerRadius. More... | |
float | sqrOuterRadius |
Squared OuterRadius. More... | |
readonly SteeringPercept | self = new SteeringPercept() |
The data of the associated agent itself (read only). More... | |
readonly SteeringPercept | percept = new SteeringPercept() |
The data of the currently processed percept (read only). More... | |
IList< float > | objective |
Quick access to the currently processed objective. More... | |
ISensor< Structure > | sensor |
Quick access to the currently processed sensor. More... | |
IReceptor< Structure > | receptor |
Quick access to the currently processed receptor. More... | |
Structure | structure |
Quick access to the currently processed structure. More... | |
Vector3 | velocity = Vector3.forward |
The forward direction the agent moves towards and/or looks at by default. More... | |
Properties | |
override bool | forEachPercept [get] |
Determines if SteeringBehaviour.PerceptSteering is called within SteeringBehaviour.Behave (read only). More... | |
override bool | forEachReceptor [get] |
Determines if SteeringBehaviour.ReceptorSteering is called within SteeringBehaviour.Behave (read only). More... | |
override SteeringPercept | Self [get, set] |
The data of the associated agent itself. More... | |
Public Methods | |
FleeBounds () | |
Constructs an instance of FleeBounds. More... | |
override void | Behave () |
This method executes the main context steering algorithm and is called within Context.Evaluate in order to set/modify objective values for the associated Context.Problem. More... | |
Protected Methods | |
override bool | StartSteering () |
Checks if the distance from the agent to the percept is in between the specified radii (see RadiusSteeringBehaviour.InnerRadius and RadiusSteeringBehaviour.InnerRadius). More... | |
virtual void | PerceptSteering () |
This method gets called once for each processed percept. More... | |
virtual void | ReceptorSteering () |
This method gets called for each active shape receptor for each processed percept. More... | |