| UObjectBase
|
Module |
|
Header |
/Engine/Source/Runtime/AIModule/Classes/Navigation/PathFollowingComponent.h |
Include |
#include "Navigation/PathFollowingComponent.h" |
class UPathFollowingComponent :
public UActorComponent,
public IAIResourceInterface,
public IPathFollowingAgentInterface
Name | Description | ||
---|---|---|---|
|
float |
AcceptanceRadius |
Min distance to destination to consider request successful. |
|
uint8: 1 |
bCollidedWithGoal |
Set when agent collides with goal actor |
|
uint8: 1 |
bIsDecelerating |
True if pathfollowing is doing deceleration at the end of the path. |
|
uint8: 1 |
bIsUsingMetaPath |
If set, path following is using FMetaNavMeshPath |
|
uint8: 1 |
bLastMoveReachedGoal |
Set when last move request was finished at goal |
|
float |
BlockDetectionDistance |
Detect blocked movement when distance between center of location samples and furthest one (centroid radius) is below threshold |
|
float |
BlockDetectionInterval |
Interval for collecting location samples |
|
BlockDetectionSampleCount |
Number of samples required for block detection |
|
|
uint8: 1 |
bMoveToGoalOnLastSegment |
If set, target location will be constantly updated to match goal actor while following last segment of full path |
|
uint8: 1 |
bReachTestIncludesAgentRadius |
Increase acceptance radius with agent's radius |
|
uint8: 1 |
bReachTestIncludesGoalRadius |
Increase acceptance radius with goal's radius |
|
uint8: 1 |
bStopMovementOnFinish |
If set, movement will be stopped on finishing path |
|
uint8: 1 |
bUseBlockDetection |
If set, movement block detection will be used |
|
uint8: 1 |
bWalkingNavLinkStart |
Gets set when agent starts following a navigation link. |
|
float |
CachedBrakingDistance |
Braking distance for acceleration driven path following |
|
float |
CachedBrakingMaxSpeed |
Max speed used for CachedBrakingDistance |
|
float |
CurrentAcceptanceRadius |
Min distance to end of current path segment to consider segment finished |
|
CurrentCustomLinkOb |
Currently traversed custom nav link |
|
|
CurrentDestination |
Destination for current path segment |
|
|
CurrentMoveInput |
Last MoveInput calculated and passed over to MovementComponent. |
|
|
uint8: 1 |
DEBUG_bMovingDirectlyToGoal |
|
|
DecelerationSegmentIndex |
Index of path point for starting deceleration |
|
|
TWeakObjectPtr<... |
DestinationActor |
Destination actor. Use SetDestinationActor to set this |
|
const INavAgent... |
DestinationAgent |
Cached DestinationActor cast to INavAgentInterface. |
|
GameData |
Game specific data |
|
|
float |
LastSampleTime |
Timestamp of last location sample |
|
LocationSamples |
Location samples for stuck detection |
|
|
LocationWhenPaused |
Agent location when movement was paused |
|
|
float |
MinAgentHalfHeightPct |
Part of agent height used as min acceptable height difference |
|
float |
MinAgentRadiusPct |
Part of agent radius used as min acceptance radius |
|
MovementComp |
Associated movement component |
|
|
MoveOffset |
Relative offset from goal actor's location to end of path |
|
|
MoveSegmentDirection |
Direction of current move segment |
|
|
MoveSegmentEndIndex |
Index of path point being current move target |
|
|
MoveSegmentEndRef |
Reference of node at segment end |
|
|
MoveSegmentStartIndex |
Index of path point being current move beginning |
|
|
MoveSegmentStartRef |
Reference of node at segment start |
|
|
float |
MyDefaultAcceptanceRadius |
Value based on navigation agent's properties that's used for AcceptanceRadius when DefaultAcceptanceRadius is requested |
|
MyNavData |
Navigation data for agent described in movement component |
|
|
NextSampleIdx |
Index of next location sample in array |
|
|
OnRequestFinished |
Delegate for move completion notify |
|
|
OriginalMoveRequestGoalLocation |
This is needed for partial paths when trying to figure out if following a path should finish before reaching path end, due to reaching requested acceptance radius away from original move goal Is being set for non-partial paths as well |
|
|
Path |
Requested path |
|
|
float |
PathTimeWhenPaused |
Timestamp of path update when movement was paused |
|
PostProcessMove |
Delegate for modifying path following velocity |
|
|
PreciseAcceptanceRadiusCheckStartNodeIndex |
Indicates a path node index at which precise "is at goal" tests are going to be performed every frame, in regards to acceptance radius |
|
|
ResourceLock |
Used to keep track of which subsystem requested this AI resource be locked |
|
|
TEnumAsByte< EP... |
Status |
Current status |
|
WaitingForPathTimer |
Timer handle for OnWaitingPathTimeout function |
|
|
float |
WaitingTimeout |
Timeout for Waiting state, negative value = infinite |
Name | Description | |
---|---|---|
|
UPathFollowingComponent ( |
Name | Description | ||
---|---|---|---|
|
AbortMove ( |
Aborts following path |
|
|
Cleanup() |
Cleanup component before destroying |
|
|
DebugReachTest |
Debug point reach test values |
|
|
DescribeSelfToVisLog ( |
||
|
DetermineCurrentTargetPathPoint ( |
||
|
DetermineStartingPathPoint ( |
Checks if this PathFollowingComponent is already on path, and if so determines index of next path point |
|
|
DidMoveReachGoal() |
||
|
DisplayDebug ( |
||
|
FindPreciseAcceptanceRadiusTestsStartNodeIndex ( |
For given path finds a path node at which PathfollowingComponent should start doing precise is-goal-in-acceptance-radius tests |
|
|
FinishUsingCustomLink ( |
Call when moving agent finishes using custom nav link, returns control back to path following |
|
|
FollowPathSegment ( |
Follow current path segment |
|
|
ForceBlockDetectionUpdate() |
Force creating new location sample for block detection |
|
|
float |
GetAcceptanceRadius() |
|
|
UObject *... |
GetCurrentCustomLinkOb() |
|
|
GetCurrentDirection() |
||
|
GetCurrentMoveInput() |
Note that CurrentMoveInput is only valid if MovementComp->UseAccelerationForPathFollowing() == true |
|
|
GetCurrentNavLocation() |
Returns current location on navigation data |
|
|
GetCurrentPathElement() |
Returns index of the currently followed element of path. |
|
|
GetCurrentPathIndex() |
||
|
GetCurrentRequestId() |
||
|
GetCurrentTargetLocation() |
||
|
FBasedPositi... |
GetCurrentTargetLocationBased() |
|
|
GetDebugString() |
||
|
GetDebugStringTokens ( |
||
|
float |
GetDefaultAcceptanceRadius() |
|
|
float |
GetFinalAcceptanceRadius ( |
Based on Path's properties, original move goal location and requested AcceptanceRadius this function calculates actual acceptance radius to apply when testing if the agent has successfully reached requested goal's vicinity |
|
GetMoveFocus ( |
Get current focal point of movement |
|
|
AActor * |
GetMoveGoal() |
|
|
GetMoveGoalLocationOffset() |
||
|
GetNextPathIndex() |
||
|
GetNextRequestId() |
||
|
const FNavPa... |
GetPath() |
|
|
EPathFollowi... |
GetPathActionType() |
|
|
GetPathDestination() |
||
|
float |
GetRemainingPathCost() |
|
|
GetResultDesc ( |
Readable name of result enum |
|
|
EPathFollowi... |
GetStatus() |
|
|
GetStatusDesc() |
Readable name of current status |
|
|
HandlePathUpdateEvent() |
Called after receiving update event from current path |
|
|
HasDirectPath() |
||
|
HasMovementAuthority() |
Check if path following has authority over movement (e.g. not falling) and can update own state |
|
|
HasPartialPath() |
||
|
HasReached ( |
Simple test for stationary agent (used as early finish condition), check if reached given point |
|
|
HasReached ( |
Simple test for stationary agent (used as early finish condition), check if reached target specified in move request |
|
|
HasReached ( |
Simple test for stationary agent (used as early finish condition), check if reached given goal |
|
|
HasReachedCurrentTarget ( |
Check if segment is completed |
|
|
HasReachedDestination ( |
Check if move is completed |
|
|
HasReachedInternal |
Check if moving agent has reached goal defined by cylinder |
|
|
HasStartedNavLinkMove() |
||
|
HasValidPath() |
||
|
Initialize() |
Initialize component to use |
|
|
IsBlockDetectionActive() |
||
|
IsBlocked() |
Check if movement is blocked |
|
|
IsCurrentSegmentNavigationLink() |
||
|
IsDecelerating() |
Returns true if pathfollowing is doing deceleration at the end of the path. |
|
|
IsOnPath() |
Check if agent is on path |
|
|
IsPathFollowingAllowed() |
Check if path following can be activated |
|
|
IsStopMovementOnFinishActive() |
||
|
LogPathHelper ( |
Helper function for sending a path for visual log |
|
|
LogPathHelper ( |
Helper function for sending a path for visual log |
|
|
OnActorBump ( |
Called when moving agent collides with another actor |
|
|
OnNavDataRegistered ( |
Called when NavigationSystem registers new navigation data type while this component instance has empty MyNavData. |
|
|
OnNavigationInitDone() |
Called when NavigationSystem finishes initial navigation data registration. |
|
|
OnNewPawn ( |
Called if owning Controller possesses new pawn or ends up pawn-less. |
|
|
OnPathEvent ( |
Path observer |
|
|
OnPathfindingQuery ( |
Called when owner is preparing new pathfinding request |
|
|
OnPathFinished ( |
Notify about finished movement |
|
|
OnPathFinished ( |
||
|
OnPathUpdated() |
Notify about changing current path: new pointer or update from path event |
|
|
OnSegmentFinished() |
Notify about finishing move along current path segment |
|
|
OnWaitingPathTimeout() |
Called from timer if component spends too much time in Waiting state |
|
|
PauseMove ( |
Pause path following |
|
|
RequestMove ( |
Start movement along path |
|
|
RequestMoveWithImmediateFinish ( |
Create new request and finish it immediately (e.g. already at goal) |
|
|
Reset() |
Reset path following data |
|
|
ResetBlockDetectionData() |
Clears Block Detection stored data effectively resetting the mechanism |
|
|
ResumeMove ( |
Resume path following |
|
|
SetAcceptanceRadius ( |
||
|
SetBlockDetection ( |
Set block detection params |
|
|
SetBlockDetectionState ( |
Update state of block detection |
|
|
SetDestinationActor ( |
||
|
SetLastMoveAtGoal ( |
Set status of last requested move, works only in Idle state |
|
|
SetMovementComponent ( |
Set associated movement component |
|
|
SetMoveSegment ( |
Sets variables related to current move segment |
|
|
SetNextMoveSegment() |
Switch to next segment on path |
|
|
SetPreciseReachThreshold ( |
Set threshold for precise reach tests in intermediate goals (minimal test radius) |
|
|
SetStopMovementOnFinish ( |
Set whether movement is stopped on finish of move. |
|
|
ShouldCheckPathOnResume() |
Should verify if agent if still on path ater movement has been resumed? |
|
|
StartUsingCustomLink ( |
Next path segment if custom nav link, try passing control to it |
|
|
StoreRequestId() |
Assign new request Id |
|
|
UpdateBlockDetection() |
Update blocked movement detection, |
|
|
UpdateCachedComponents() |
Updates cached pointers to relevant owner's components |
|
|
UpdateDecelerationData() |
Updates braking distance and deceleration segment |
|
|
UpdateMoveFocus() |
Set move focus in AI owner |
|
|
UpdateMovementComponent ( |
Check if movement component is valid or tries to grab one from owner |
|
|
UpdatePathSegment() |
Check state of path following, update move segment if needed |
Name | Description | ||
---|---|---|---|
|
OnRegister() |
Called when a component is registered, after Scene is set, but before CreateRenderState_Concurrent or OnCreatePhysicsState are called. |
|
|
TickComponent ( |
Function called every frame on this ActorComponent. |
Name | Description | ||
---|---|---|---|
|
ClearResourceLock ( |
Clear resource lock of the given origin |
|
|
ForceUnlockResource() |
Force-clears all locks on resource |
|
|
IsResourceLocked() |
Check whether resource is currently locked |
|
|
LockResource ( |
If resource is lockable lock it with indicated priority |
Name | Description | ||
---|---|---|---|
|
OnLanded() |
Called when falling movement ends. |
|
|
OnStartedFalling() |
Virtual void OnMoveBlockedBy(const FHitResult& BlockingImpact) {} |
|
|
OnUnableToMove ( |
Called when pathfollowing agent is not able to move anymore |
Name |
Description |
---|---|
DefaultAcceptanceRadius |
Special float constant to symbolize "use default value". |
NextRequestId |
Used for debugging purposes to be able to identify which logged information results from which request, if there was multiple ones during one frame |
Name | Description | ||
---|---|---|---|
|
OnMoveFinished_DEPRECATED |
This delegate is now deprecated, please use OnRequestFinished instead. |
Name | Description | ||
---|---|---|---|
|
AbortMove ( |
This function is now deprecated, please use version with EPathFollowingResultDetails parameter instead. |
|
|
HasReached |
This function is now deprecated, please use version with EPathFollowingReachMode parameter instead. |
|
|
HasReached |
This function is now deprecated, please use version with EPathFollowingReachMode parameter instead. |
|
|
OnPathFinished ( |
This function is now deprecated, please version with FPathFollowingResult parameter instead. |
|
|
OptimizeSegmentVisibility ( |
This function is now deprecated and no longer supported. |
|
|
PauseMove ( |
This function is now deprecated, please use version with EPathFollowingVelocityMode parameter instead. |
|
|
RequestMove ( |
This function is now deprecated, please use version with FAIMoveRequest parameter instead. |
|
|
RequestMove ( |
This function is now deprecated, please use version with FAIMoveRequest parameter instead. Any observers needs to register with OnRequestFinished mutlicast delegate now. |
|
|
UpdateMove ( |
This function is now deprecated and replaced with HandlePathUpdateEvent. Receiving new path pointer for the same move request is no longer supported, please either update data within current path and call FNavigationPath::DoneUpdating or start new move request. |