Navpoints

From Red Faction Wiki
Revision as of 13:17, 30 October 2020 by Goober (talk | contribs) (Created page with "Navpoints are placed like other object. Then, you must connect your nav points together. The key to connect two nav points is the "J" key. In order to see the new connectio...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Navpoints are placed like other object. Then, you must connect your nav points together. The key to connect two nav points is the "J" key. In order to see the new connection you have to go into the debug menu (by typing "SHIFT + ENTER" or the "~" key), and type "show_nodes". This will show all the connections between all the nav points.

You will see a box around the connections between the nodes. This box will be as wide as the smallest radius of the two connected nav points. The radius of a path node will soon be used for some important functions. Namely, if a nav point is too small, than an entity with a larger radius than the nav point WILL NOT USE THAT NAV POINT in finding paths. This will allow you to have humans following paths, but APCs will not try to follow. Furthermore, when you place a nav point, you are guaranteeing that the area within the nav point radius is clear of obstructions. And even more, you are guaranteeing that the box connecting the two nav points is ALSO clear of obstructions. This means that entities can walk anywhere within the nav points and anywhere within the boxes connecting the nav points, and they can't do something stupid (like walk off a ledge or get stuck on a corner) if they stay within those bounds. Adding width to our connections between nav points will keep the AI from piling on top of each other.

If you select two nav points and keep pressing "J", you will notice that you are toggling before 4 types of connections. Let's call the two nav points "A" and "B". If you have just plopped down these two nav points, then by default, they will not be connected. In other words, no entity can walk directly from point "A" to point "B". If you press the "J" key once, then it will connect them. In other words, you are guaranteeing the AI code that an entity can walk from point "A" to point "B" and ALSO is able to walk from point "B" to point "A". However, there may be cases where you can only walk in one direction. For instance, you may have your entities walking off of a ledge to go from point "A" to point "B". But the drop is too far for them to go directly from point "B" back to point "A". In such cases, you can keep pressing the "J" key, to toggle through both "directional" connections (i.e. point "A" to point "B" OR point "B" to point "A"). This type of connection is indicated by an arrow line which connects the two nodes in addition to the box. If you keep pressing the "J" key, you will get back to the unconnected state.

Recap:

  • Initial state: no connection between point A and point B
  • Press J once : entity can go from point A to point B AND from point B to point A
  • Press J twice: entity can only go from point A to point B
  • Press J thrice: entity can go only from point B to point A
  • Press J four+ times: go back to "no connection" and loop back through the possibilities

Here's an important restraint. Do not cross the streams. Why, you ask? Because that...would look bad. Entities will wind up following non-optimal paths if connections between nav points were to cross. When I say "cross", I mean, do not form an "X" on the ground without having a new nav point at the center of the "X".


Waypoints

The all important key for setting up waypoints is "CTRL + W". It only works in object mode. The new method for creating a waypoint list is the following. You place all of your nav points. Then you select the nav points you want to make into a waypoint list IN ORDER of how you want the entity to follow that path. Then you press CTRL + W. This will create a waypoint path with no name. A window will pop up which allows you to change the name of the waypoint list and to add and remove nav points from the waypoint list.

If the waypoint had a pause time associated with it, then the new nav point will ALSO have a pause time associated with it. Pause times associated with nav points ONLY apply to entities that are at that are using that nav point AS A WAYPOINT. In other words, you cannot assign a pause time to a nav point and expect an entity to pause at that nav point as it is doing its regular pathfinding. The pause time only affects entities using the nav point as a waypoint.

If you want to modify an existing waypoint list, then make sure that you have no objects selected. THEN press "CTRL + W". You will see a list of existing waypoint lists. Select the waypoint list that you want to modify and press OK. You will now get the same window that popped up when you created the waypoint list in the first place. Again, you will be able to modify which waypoints are in the list and which are not.

Note that a given nav point can be used by several waypoint lists. However, if you have a pause time associated with the nav point, it will affect all waypoint lists that use it.