Evade anticipates where the percept will be in the future and flees from this position (back-end class).
It functions analogously to the usual steering behaviour 'Evade'. It is the counterpart to Pursue. Instead of moving towards a predicted position, it flees from it. Therefore, it inherits from Pursue and negate its SteeringBehaviour.ResultDirection.
Back-end class of AIMEvade. This behaviour is thread-safe.
 
  
 | Public Fields | |
| float | MaxPredictionTime = 2f | 
| Threshold for the maximum prediction time of the computed point.  More... | |
| bool | ForEachReceptor | 
| If set to true, the algorithm is applied for each receptor instead for each percept.  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 | |
| 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 | |
| Vector3 | TargetPosition  [get] | 
| The predicted point of the percept (read only).  More... | |
| override bool | forEachPercept  [get] | 
| Determines if PerceptSteering is called within SteeringBehaviour.Behave (read only).  More... | |
| override bool | forEachReceptor  [get] | 
| Determines if ReceptorSteering is called within SteeringBehaviour.Behave (read only).  More... | |
| override SteeringPercept | Self  [get, set] | 
| The data of the associated agent itself.  More... | |
| Public Methods | |
| 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 void | PerceptSteering () | 
| Processes the steering algorithm for each percept using the same data for each processed receptor.  More... | |
| override void | ReceptorSteering () | 
| Processes the steering algorithm for each receptor for each percept separately.  More... | |
| override bool | StartSteering () | 
| In addition to the filter process which is applied for each percept in RadiusSteeringBehaviour.StartSteering, a multiplier is computed which determines how well the velocity directions of the PerceptBehaviour<T>.Percepts and PerceptBehaviour<T>.Self match.  More... | |