Adding random pathfinding to our soldier
Now that we have navmesh generation and pathfinding out of the way, we can add pathfinding to our agents. As our agents currently have no decision making—and therefore, no ability to select a goal to reach—we'll randomly pick a point on the navmesh and send our agent to that point. Once it reaches its target, a new location will be selected.
Our sandbox Lua script will be very similar to previous scripts we've written, and it will take advantage of the previous controller-based agents we've created so far:
Sandbox.lua
:
require "DebugUtilities" require "SandboxUtilities" local agents = {};
Updating agent paths
We can use a helper function to generate new paths for agents that have reached their target. As we're randomly selecting a point on the navmesh, we need to check whether the agent can actually use a path to that point, as the obstacle course geometry isn't fully connected. We'll continue trying to generate new paths until a path is successfully...