This feature allows to use a predicted (possible) future position of an agent as input for an arbitrary Steering Behaviour. This might be useful for fast moving agents like racing cars. With the help of this prediction, they are able to focus on obstacles ahead of them instead of things which are close to their actual position.
The following Prediction
types are available.
Prediction Type | Description |
---|---|
None | No prediction is applied at all. |
VelocityMagnitude | Uses the original velocity magnitude of the corresponding percept for integrating the future position: 'predicted position' = 'current position' + 'percept velocity'. |
PredictionMagnitude | Uses the specified custom magnitude for integrating the future position: 'predicted position' = 'current position' + PredictionMagnitude * 'velocity direction'. |
Figure: Both agents have got a similar setup, they both use Seek on the green circle and Avoid on the red polygon. The top agent does not use prediction, as against the agent at the bottom uses prediction and is able to dodge the obstacle quite early.
The prediction method to be used strongly depends on your scenario and the applied source for velocity vectors. Since TrackVelocity
ignores the actual alignment of the agent, it is suitable for scenarios where the agent can move independently from its looking direction, e.g. a tank. As against using a preset velocity perfectly fits for agents that move more directly like birds in a flock.