| Home Page | Recent Changes

NavigationPoint

UT2003 :: Actor >> NavigationPoint (Package: Engine)

See also NavigationPoint (UT) for the Unreal Tournament class.

Children of this class form the bot AI navigation system. During the compilation process, two navigation points get linked by paths if one of them is in the line of view of a bot which is located at the position of the other one and the bot could go there at least in one direction. Each Pickup and PlayerStart has its own NavigationPoint. The most common NavigationPoints are the PathNodes which simply are NavigationPoints which have a texture which makes it possible to put them in a map where the PathNodes build the backbone of the maps navigation system.

See the super topic page Artificial Intelligence, and the Bot Support and Bot Pathing pages for a technical overview.

Properties

NavigationPoint Group

bool bAlwaysUseStrafing
Shouldn't use bAdvancedTactics going to this point.
bool bBlocked
This path is currently unuseable.
bool bNeverUseStrafing
Shouldn't use bAdvancedTactics going to this point.
bool bOneWayPath
Reachspecs from this path only in the direction the path is facing. (180 degrees)
bool bPropagatesSound
This navigation point can be used for sound propagation. (around corners)
int ExtraCost
Extra weight added by level designer. Use this property to let the bots think a path is longer than it actually is.
name ForcedPaths[4]
List of names of NavigationPoints which should always be connected from this path.
name ProscribedPaths[4]
List of names of NavigationPoints which should never be connected from this path.

UT2004:

bool bNoSuperSize
Hack for Leviathans, which pretend to be smaller than they really are to use the path network - this forces them not to use a path
bool bVehicleDestination
If true, forced paths to this node will have max width to accomodate vehicles
bool bMakeSourceOnly
When building paths, this navigation point will only act as a source, i.e. there are only paths away from it and none towards it.

Hidden

bool bAutoBuilt (const)
Placed during execution of "PATHS BUILD".
bool bDestinationOnly
Used by path building – means no automatically generated paths are sourced from this node.
bool bEndPoint (transient)
used by C++ navigation code
int bestPathWeight (const)
bool bForceNoStrafing (const)
Override any level designer changes to bNeverUseStrafing.
bool bMustBeReachable
Used for PathReview code.
bool bNoAutoConnect
Don't connect this path to others except with special conditions. (used by LiftCenter, for example)
bool bNotBased (const)
Used by path builder – if true, no error is reported if node doesn't have a valid base.
bool bPathsChanged (const)
Used for incremental path rebuilding in the editor.
bool bSourceOnly
Used by path building – means this node is not the destination of any automatically generated path.
bool bSpecialForced
Paths that are forced should call the SpecialCost() and SuggestMovePreparation() functions.
bool bSpecialMove
If true, pawn will call SuggestMovePreparation() when moving toward this node.
bool bTransientEndPoint (transient)
Set right before a path finding attempt, cleared afterward.
int cost
Added cost to visit this pathnode.
int FearCost (transient)
Extra weight diminishing over time. (used for example, to mark path where bot died)
Pickup InventoryCache
Used to point to dropped weapons.
float InventoryDist
NavigationPoint nextNavigationPoint (const)
NavigationPoint nextOrdered (const)
for internal use during route searches
array<ReachSpec> PathList (const)
Index of reachspecs. (used by C++ Navigation code)
NavigationPoint previousPath (const)
NavigationPoint prevOrdered (const)
for internal use during route searches
bool taken
Set when a creature is occupying this spot
int TransientCost (transient)
Added right before a path finding attempt, cleared afterward.
int visitedWeight

UT2004:

bool bFlyingPreferred
Preferred by flying creatures
bool bForcedOnly
Only connect forced paths to this NavigationPoint
bool bBlockable
True if path can become blocked (used by pruning during path building)
bool bMayCausePain
Set in C++ if in PhysicsVolume that may cause pain
bool bReceivePlayerToucherDiedNotify
bool bAlreadyVisited
Internal use (Used in path building?)
byte BaseVisible[2]
Used by some team game types – whether this point is visible from red/blue base or defense points
float LastDetourWeight (const)
float BaseDist[2]
Used by some team game types – distance to red/blue base
bool bCanReach (transient)
Used during paths review in editor
bool bHideEditorPaths (transient)
Don't show paths to this node in the editor
vector MaxPathSize
Maximum distance to any other navigation point on the map.

Methods

Inherited from Actor

PostBeginPlay ( )
Ensures that ExtraCost is greater than 0. UT2004: Sets MaxPathSize.

New Methods

bool Accept (Actor Incoming, Actor Source) [event]
Accept an actor that has teleported in. Used for random spawning and initial placement of creatures.
float DetourWeight (Pawn Other, float PathWeight) [event]
Value of this path to take a quick detour. (usually 0, used when on route to distant objective, but want to grab inventory for example)
MoverClosed ( )
Used by NavigationPoints associated with movers.
MoverOpened ( )
Used by NavigationPoints associated with movers.
bool ProceedWithMove (Pawn Other)
Called by Controller to see if move is now possible when a mover reports to the waiting pawn that it has completed its move.
int SpecialCost (Pawn Seeker, ReachSpec Path) [event]
bool SuggestMovePreparation (Pawn Other) [event]
Optionally tell Pawn any special instructions to prepare for moving to this goal. (called by Pawn.PrepareForMove() if this node's bSpecialMove==true)

UT2004

SetBaseDistance (int BaseNum) [native, final]
(set BaseDist property?)
SetBaseVisibility (int BaseNum)
Go through all NavigationPoints in the level and set their BaseVisible properties depending on whether the BaseNum base can be seen from that point.
PlayerToucherDied (Pawn P)
Called when a pawn which was touching this NavigationPoint dies (Needed for HoldObjectives)

Known Subclasses

 NavigationPoint
  +- AssaultPath
  +- BlockedPath
  +- Door
  |   +- AutoDoor?
  +- JumpDest
  |   +- JumpSpot
  |       +- GameObjective
  |           +- ASOBJ EnergyCore Spawn (UT2004 only)
  |           +- CTFBase
  |           |   +- xRealCTFBase
  |           |       +- xBlueFlagBase
  |           |       +- xRedFlagBase
  |           +- DestroyableObjective
  |               +- DestroyableObjective SM (UT2004 only)
  |               +- ONSPowerCore? (UT2004 only)
  |                   +- ONSPowerCoreBlue?
  |                   +- ONSPowerCoreRed?
  |                   +- ONSPowerNode?
  |                       +- ONSPowerNodeNeutral
  |           +- DominationPoint
  |           |   +- xDomPoint
  |           |       +- xDomPointA
  |           |       +- xDomPointB
  |           +- LockedObjective (UT2003 only)
  |           +- ProximityObjective? (UT2004 only)
  |               +- ASOBJ EnergyCore Delivery
  |               +- HoldObjective
  |               +- LockedObjective
  |               +- UseObjective
  |           +- TriggeredObjective
  |           +- xBombDelivery
  |           +- xBombSpawn
  +- JumpPad
  |   +- UTJumpPad
  +- LiftCenter
  +- LiftExit
  +- PathNode
  |   +- FlyingPathNode (UT2004)
  |   +- RoadPathNode (UT2004)
  |       +- HoverPathNode? (UT2004)
  |       +- SpecialVehicleObjective (UT2004)
  +- ShootSpot
  |   +- BlueShootSpot
  |   +- RedShootSpot
  +- SmallNavigationPoint (abstract, no additional properties)
      +- AIMarker?
      +- InventorySpot
      +- Ladder
      |   +- AutoLadder?
      +- PlayerStart
      |   +- TriggeredPlayerStart
      |   +- xFieldPlayerStart?
      +- Teleporter
      +- WarpZoneMarker?

Related Topics


Category Class (UT2003)
Category Class (UT2004)
Category Class Tree
Category Mapping

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

FAQs

Help Desk

Mapping Topics

Mapping Lessons

UnrealEd Interface

UnrealScript Topics

UnrealScript Lessons

Making Mods

Class Tree

Modeling Topics

Chongqing Page

Log In