This class extends the MoveBehaviour so that it is able to work with IPercept<T> instances which are relevant for the associated agent (back-end class).
In addition, for derived classes, it requires the implementation of the Self property.
The percept data allows this behaviour to interact with the environment of the associated agent to fulfill its purpose. These data might come from an AIMFilter<T> instance (which obtains its data from an AIMPerceiver<T> and its associated AIMEnvironment).
A PerceptBehaviour<T> can be marked as thread-safe in its corresponding front-end class through setting AIMBehaviour.ThreadSafe to true
. If you do this, be sure not to use reference types of the Unity scripting API and not to make any possibly unsafe variable writes. If at least one behaviour is not marked AIMBehaviour.ThreadSafe, the whole agent will not be part of the multithreading (Pro only).
Base back-end class of every derived AIMPerceptBehaviour<T>.
- Template Parameters
-
T | Type of the processed percepts. |
|
float | MapBySensitivity (MappingType mapping, Structure structure, Vector3 direction, float sensitivityOffset=0.0f) |
| Maps (magnitude) values by sensitivity so that the Structure.Sensitivity (plus the given sensitivityOffset ) is used as similarity threshold for the angle between the given direction and the Structure.Direction. More...
|
|
float | MapBySensitivityPlane (MappingType mapping, Structure structure, Vector3 planeDirection1, Vector3 planeDirection2, float offset, float sensitivityOffset=0.0f) |
| Maps (magnitude) values by sensitivity so that the Structure.Sensitivity (plus the given sensitivityOffset ) is used as similarity threshold for the smallest angle between a plane defined by planeDirection1 , planeDirection2 and the Structure.Direction. More...
|
|
void | WriteValue (ValueWritingType valueWriting, int objectiveIndex, int valueIndex, float value, bool intermediate=false) |
| Writes objective values to the Context.Problem as specified with valueWriting . More...
|
|
void | BlendValues (LayerBlendingType layerBlending, int objectiveIndex) |
| Writes the values of the intermediate to the actual Context.Problem. More...
|
|