I love the smell of UnrealEd crashing in the morning. – tarquin

Legacy:NavigationPoint

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
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[edit]

NavigationPoint Group[edit]

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:[edit]

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[edit]

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:[edit]

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[edit]

Inherited from Actor[edit]

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

New Methods[edit]

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[edit]

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[edit]

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[edit]