front-end / back-end: AIMSeekNavMesh
| SeekNavMesh
inherits from: AIMRadiusSteeringBehaviour
| RadiusSteeringBehaviour
front-end / back-end: AIMFleeNavMesh
| FleeNavMesh
inherits from: AIMRadiusSteeringBehaviour
| SeekNavMesh
Note that the inspector of Flee NavMesh is equivalent to the inspector of Seek NavMesh.
These two behaviours work similar to Seek and Flee but the point which is used to calculate the ResultDirection
differs. Instead of seeking for percepts, these two behaviours use the scenes NavMesh as input. Both use NavMesh.Raycast()
to find points on navmesh edges. These points are then processed as regular percepts. Similar to Seek and Flee, Seek NavMesh generates magnitudes towards and Flee NavMesh away from the found locations on the navmesh.
How rays are cast around an agent is determined by the set Feeler Type. How many operations are done can be controlled with the Feeler Count. We advise using as few feelers as feasible for your scenario.
Figure 1: Shows the two different Feeler Types. On the left, there is a circular feeler arrangement with a count of 8. On the right, a fan with a count of 9 is shown.
This component has got the following specific properties.
Property | Description |
---|---|
AreaMask | This is a bitfield representing navmesh areas to be considered. It is passed to NavMesh.FindClosestEdge() and the ResultMagnitude is set to NavMesh.GetAreaCost(Area) . |
FeelerType | Determines whether feelers are arranged as either a circle around the agent or as a fan. |
FeelerCount | The number of feelers which translates into the number of raycast operations. Increasing this value increases the precision as well as the costs. |
This behaviour depends on Unity's NavMesh structure, so the range of Area
does, too. For further reference, have a look at the Unity NavMesh API documentation.