Navigation
API > API/Runtime > API/Runtime/AIModule
| Name | UCrowdFollowingComponent |
| Type | class |
| Header File | /Engine/Source/Runtime/AIModule/Classes/Navigation/CrowdFollowingComponent.h |
| Include Path | #include "Navigation/CrowdFollowingComponent.h" |
Syntax
UCLASS (BlueprintType, MinimalAPI)
class UCrowdFollowingComponent :
public UPathFollowingComponent ,
public ICrowdAgentInterface
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UActorComponent → UPathFollowingComponent → UCrowdFollowingComponent
Implements Interfaces
- IAIResourceInterface
- IAsyncPhysicsStateProcessor
- IInterface_AssetUserData
- IPathFollowingAgentInterface
- ICrowdAgentInterface
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
UCrowdFollowingComponent
(
const FObjectInitializer& ObjectInitializer |
Navigation/CrowdFollowingComponent.h |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| CrowdAgentMoveDirection | FVector | Navigation/CrowdFollowingComponent.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ApplyCrowdAgentPosition
(
const FVector& NewPosition |
Pass desired position to movement component (after resolving collisions between crowd agents) | Navigation/CrowdFollowingComponent.h | |
virtual void ApplyCrowdAgentVelocity
(
const FVector& NewVelocity, |
Navigation/CrowdFollowingComponent.h | ||
virtual void ApplyCrowdAgentVelocity
(
const FVector& NewVelocity, |
Pass agent velocity to movement component | Navigation/CrowdFollowingComponent.h | |
int32 GetAvoidanceGroup() |
Navigation/CrowdFollowingComponent.h | ||
ECrowdAvoidanceQuality::Type GetCrowdAvoidanceQuality() |
Navigation/CrowdFollowingComponent.h | ||
float GetCrowdAvoidanceRangeMultiplier() |
Navigation/CrowdFollowingComponent.h | ||
float GetCrowdCollisionQueryRange() |
Navigation/CrowdFollowingComponent.h | ||
float GetCrowdPathOptimizationRange() |
Navigation/CrowdFollowingComponent.h | ||
float GetCrowdSeparationWeight() |
Navigation/CrowdFollowingComponent.h | ||
ECrowdSimulationState GetCrowdSimulationState() |
Navigation/CrowdFollowingComponent.h | ||
int32 GetGroupsToAvoid() |
Navigation/CrowdFollowingComponent.h | ||
int32 GetGroupsToIgnore() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdAffectFallingVelocityEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdAnticipateTurnsActive() |
Checks if bEnableAnticipateTurns is set to true, and if crowd simulation is not suspended | Navigation/CrowdFollowingComponent.h | |
bool IsCrowdAnticipateTurnsEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdObstacleAvoidanceActive() |
Checks if bEnableObstacleAvoidance is set to true, and if crowd simulation is not suspended | Navigation/CrowdFollowingComponent.h | |
bool IsCrowdObstacleAvoidanceEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdOptimizeTopologyActive() |
Checks if bEnableOptimizeTopology is set to true, and if crowd simulation is not suspended | Navigation/CrowdFollowingComponent.h | |
bool IsCrowdOptimizeTopologyEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdOptimizeVisibilityEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdPathOffsetEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdRotateToVelocityEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdSeparationActive() |
Checks if bEnableSeparation is set to true, and if crowd simulation is not suspended | Navigation/CrowdFollowingComponent.h | |
bool IsCrowdSeparationEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdSimulationActive() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdSimulationEnabled() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdSimulatioSuspended() |
Navigation/CrowdFollowingComponent.h | ||
bool IsCrowdSlowdownAtGoalEnabled() |
Navigation/CrowdFollowingComponent.h | ||
virtual void OnNavNodeChanged
(
NavNodeRef NewPolyRef, |
Called when agent moved to next nav node (poly) | Navigation/CrowdFollowingComponent.h | |
void SetAvoidanceGroup
(
int32 GroupFlags, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdAffectFallingVelocity
(
bool bEnable |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdAnticipateTurns
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdAvoidanceQuality
(
ECrowdAvoidanceQuality::Type Quality, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdAvoidanceRangeMultiplier
(
float Multiplier, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdCollisionQueryRange
(
float Range, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdObstacleAvoidance
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdOptimizeTopology
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdOptimizeVisibility
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdPathOffset
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdPathOptimizationRange
(
float Range, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdRotateToVelocity
(
bool bEnable |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdSeparation
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetCrowdSeparationWeight
(
float Weight, |
Navigation/CrowdFollowingComponent.h | ||
virtual void SetCrowdSimulationState
(
ECrowdSimulationState NewState |
Switch between crowd simulation and parent implementation (following path segments) | Navigation/CrowdFollowingComponent.h | |
void SetCrowdSlowdownAtGoal
(
bool bEnable, |
Navigation/CrowdFollowingComponent.h | ||
void SetGroupsToAvoid
(
int32 GroupFlags, |
Navigation/CrowdFollowingComponent.h | ||
void SetGroupsToIgnore
(
int32 GroupFlags, |
Navigation/CrowdFollowingComponent.h | ||
virtual void SuspendCrowdSteering
(
bool bSuspend |
Main switch for crowd steering & avoidance | Navigation/CrowdFollowingComponent.h |
|
void UpdateCrowdAgentParams() |
Update params in crowd manager | Navigation/CrowdFollowingComponent.h | |
void UpdateDestinationForMovingGoal
(
const FVector& NewDestination |
Navigation/CrowdFollowingComponent.h |
Overridden from UPathFollowingComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void AbortMove
(
const UObject& Instigator, |
Aborts following path | Navigation/CrowdFollowingComponent.h | |
virtual void Cleanup() |
Cleanup component before destroying | Navigation/CrowdFollowingComponent.h | |
virtual void DescribeSelfToVisLog
(
FVisualLogEntry* Snapshot |
Navigation/CrowdFollowingComponent.h | ||
virtual void FinishUsingCustomLink
(
INavLinkCustomInterface* CustomNavLink |
Call when moving agent finishes using custom nav link, returns control back to path following | Navigation/CrowdFollowingComponent.h | |
virtual int32 GetCurrentPathElement () |
Returns index of the currently followed element of path. | Navigation/CrowdFollowingComponent.h | |
virtual void GetDebugStringTokens
(
TArray< FString >& Tokens, |
Navigation/CrowdFollowingComponent.h | ||
virtual FVector GetMoveFocus
(
bool bAllowStrafe |
Get current focal point of movement | Navigation/CrowdFollowingComponent.h | |
virtual void Initialize() |
PathFollowingComponent BEGIN. | Navigation/CrowdFollowingComponent.h | |
virtual void OnLanded() |
Navigation/CrowdFollowingComponent.h | ||
virtual void OnNavigationInitDone () |
Called when NavigationSystem finishes initial navigation data registration. | Navigation/CrowdFollowingComponent.h | |
virtual void OnPathfindingQuery
(
FPathFindingQuery& Query |
Called when owner is preparing new pathfinding request | Navigation/CrowdFollowingComponent.h | |
virtual void OnPathFinished
(
const FPathFollowingResult& Result |
Notify about finished movement | Navigation/CrowdFollowingComponent.h | |
virtual void OnPathUpdated() |
Notify about changing current path: new pointer or update from path event | Navigation/CrowdFollowingComponent.h | |
virtual void PauseMove
(
FAIRequestID RequestID, |
Pause path following | Navigation/CrowdFollowingComponent.h | |
virtual void ResumeMove
(
FAIRequestID RequestID |
Resume path following | Navigation/CrowdFollowingComponent.h |
Overridden from UObject
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void BeginDestroy() |
Navigation/CrowdFollowingComponent.h |
Overridden from ICrowdAgentInterface
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 GetCrowdAgentAvoidanceGroup() |
Group mask for this agent | Navigation/CrowdFollowingComponent.h | |
virtual void GetCrowdAgentCollisions
(
float& CylinderRadius, |
Fills information about agent's collision cylinder | Navigation/CrowdFollowingComponent.h | |
virtual int32 GetCrowdAgentGroupsToAvoid() |
Will avoid other agents if they are in one of specified groups | Navigation/CrowdFollowingComponent.h | |
virtual int32 GetCrowdAgentGroupsToIgnore() |
Will NOT avoid other agents if they are in one of specified groups, higher priority than GroupsToAvoid | Navigation/CrowdFollowingComponent.h | |
virtual FVector GetCrowdAgentLocation() |
Navigation/CrowdFollowingComponent.h | ||
virtual float GetCrowdAgentMaxSpeed() |
Navigation/CrowdFollowingComponent.h | ||
virtual FVector GetCrowdAgentVelocity() |
Navigation/CrowdFollowingComponent.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
bool HasMovedDuringPause() |
Navigation/CrowdFollowingComponent.h | ||
void RegisterCrowdAgent() |
Navigation/CrowdFollowingComponent.h | ||
bool ShouldSwitchPathPart
(
int32 CorridorSize |
Navigation/CrowdFollowingComponent.h | ||
virtual bool ShouldTrackMovingGoal
(
FVector& OutGoalLocation |
Navigation/CrowdFollowingComponent.h | ||
void SwitchToNextPathPart() |
Navigation/CrowdFollowingComponent.h | ||
void UpdateCachedDirections
(
const FVector& NewVelocity, |
Navigation/CrowdFollowingComponent.h |
Overridden from UPathFollowingComponent
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual int32 DetermineStartingPathPoint
(
const FNavigationPath* ConsideredPath |
PathFollowingComponent BEGIN. | Navigation/CrowdFollowingComponent.h | |
virtual void FollowPathSegment
(
float DeltaTime |
Follow current path segment | Navigation/CrowdFollowingComponent.h | |
virtual bool IsOnPath() |
Check if agent is on path | Navigation/CrowdFollowingComponent.h | |
virtual void Reset() |
Reset path following data | Navigation/CrowdFollowingComponent.h | |
virtual void SetMoveSegment
(
int32 SegmentStartIndex |
Sets variables related to current move segment | Navigation/CrowdFollowingComponent.h | |
virtual bool ShouldCheckPathOnResume() |
Should verify if agent if still on path ater movement has been resumed? | Navigation/CrowdFollowingComponent.h | |
virtual bool UpdateMovementComponent
(
bool bForce |
Check if movement component is valid or tries to grab one from owner | Navigation/CrowdFollowingComponent.h | |
virtual void UpdatePathSegment() |
Check state of path following, update move segment if needed | Navigation/CrowdFollowingComponent.h |
Deprecated Variables
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AvoidanceGroup_DEPRECATED | FNavAvoidanceMask | DEPRECATED: Group mask for this agent - use IRVOAvoidanceInterface instead | Navigation/CrowdFollowingComponent.h | |
| GroupsToAvoid_DEPRECATED | FNavAvoidanceMask | DEPRECATED: Will avoid other agents if they are in one of specified groups - use IRVOAvoidanceInterface instead | Navigation/CrowdFollowingComponent.h | |
| GroupsToIgnore_DEPRECATED | FNavAvoidanceMask | DEPRECATED: Will NOT avoid other agents if they are in one of specified groups, higher priority than GroupsToAvoid - use IRVOAvoidanceInterface instead | Navigation/CrowdFollowingComponent.h |