Game Development Reference
In-Depth Information
Again, if our bot realized that it can't directly access the point on the map, it will draw
a new one and move towards it. At the end of the function we tell the bot to rest for
half a second, and then start from the beginning again.
/*=======================================================
* Patrols a map's NavMeshes using direct movetoward if
player is reachable and pathfinding if not.
=======================================================*/
auto state PatrolNavMesh
{
// If we see a player or pawn, ignore it
ignores SeePlayer;
function bool FindNavMeshPath()
{
// Clear cache and constraints
NavigationHandle.PathConstraintList = none;
NavigationHandle.PathGoalList = none;
NavigationHandle.bDebugConstraintsAndGoalEvals =
true;
/** this makes sure the bot wont wander into an area
where it will get stuck */
class'NavMeshPath_EnforceTwoWayEdges'.static.
EnforceTwoWayEdges(NavigationHandle);
/** Tells the bot to set a random goal.
There are 2 optional
variables you can pass, a float or int representing
the range
to search, and an int representing how many polys
away he can
move to */
class'NavMeshGoal_Random'.static.FindRandom
(NavigationHandle);
// set his goal.
// Find path
return NavigationHandle.FindPath();
}
Begin:
if(FindNavMeshPath())
{
 
Search Nedrilad ::




Custom Search