Game Development Reference
In-Depth Information
The path information
Now that we have generated paths from the navmesh, there are additional accessor func-
tions that can retrieve useful information about the paths themselves. Once we've assigned
a path to an agent, we can retrieve the nearest point on the path the agent is close to.
Typically, the nearest point on the path will be very close to the agent's current position, but
our agents can navigate away from their paths due to steering. Finding the closest point on
our agent's path can be useful in order to know the direction our agent has to move in order
to return to its path:
local nearestPoint = Agent.GetNearestPointOnPath(
agent, agent:GetPosition());
Once we know a point on the path, we can perform an additional query to find out how far
that point is from the start position. The distance returned from the
Agent.GetDistanceAlongPath function is not the Euclidean distance between the
two points but is the actual traveled distance along the path to the point:
local distance = Agent.GetDistanceAlongPath(agent, nearest);
Finding out a point along the agent's path given a specific distance along the agent's path is
available from the Agent.GetPointOnPath function. Typically, once we've calculated
the current distance our agent has traveled along their path, we can add an offset to the dis-
tance in order to find a future position along the path our agents will navigate toward:
local pointOnPath = Agent.GetPointOnPath(
agent, distance + offset);
Search WWH ::




Custom Search