This class and AIMFilter<T> are working together in order to provide the percept data collected by an AIMEnvironment to the agent behaviours.
Components inheriting from this abstract base class use AIMEnvironment components as input and extract all data necessary for the given percept type T . These extracted data can then be used by (multiple) agents with corresponding AIMPerceptBehaviour<T> components for sampling the AI world. Concerning an agent, an appropriate derived AIMFilter<T> component needs to be used in order to access the extracted percept data.
For each specified environment, there is a corresponding entry within the Percepts dictionary holding all extracted percepts belonging to the specific environment which can be accessed by the associated AIMEnvironment.Label. Furthermore, if an environment is considered AIMEnvironment.Static, the percept data gets only extracted once. This would be optimal for never changing scene parts like fixed walls in order to increase performance.
There can only be one concrete AIMPerceiver<T> component attached to a GameObject at a time.
- Template Parameters
-
T | Type of the percept holding extracted data, needs to implement IPercept<T> and to provide a constructor. |