AgentMovementAbility

C++
struct AgentMovementAbility {
  bool b3DMove;
  bool bUsePathfinder;
  bool usePredictiveFollowing;
  bool allowEntityClampingByAnimation;
  float maxAccel;
  float maxDecel;
  float minTurnRadius;
  float maxTurnRadius;
  float avoidanceRadius;
  float pathLookAhead;
  float pathRadius;
  float pathSpeedLookAheadPerSpeed;
  float cornerSlowDown;
  float slopeSlowDown;
  float optimalFlightHeight;
  float minFlightHeight;
  float maxFlightHeight;
  float maneuverTrh;
  float velDecay;
  float pathFindPrediction;
  float pathRegenIntervalDuringTrace;
  bool teleportEnabled;
  bool lightAffectsSpeed;
  bool resolveStickingInTrace;
  float directionalScaleRefSpeedMin;
  float directionalScaleRefSpeedMax;
  uint32 avoidanceAbilities;
  bool pushableObstacleWeakAvoidance;
  float pushableObstacleAvoidanceRadius;
  float pushableObstacleMassMin;
  float pushableObstacleMassMax;
  bool collisionAvoidanceParticipation;
  float collisionAvoidanceRadiusIncrement;
  AgentMovementSpeeds movementSpeeds;
  AgentPathfindingProperties pathfindingProperties;
};
File

IAgent.h

Description

Structure containing all the relevant information describing the way agent moves (can strafe,speeds,inertia,...).

AgentMovementAbility::allowEntityClampingByAnimation Data Member
C++
bool allowEntityClampingByAnimation;
AgentMovementAbility::avoidanceAbilities Data Member
C++
uint32 avoidanceAbilities;
Description

Adjusts how the agent pathfollows around dynamic obstacles, both pushable and non-pushable

AgentMovementAbility::avoidanceRadius Data Member
C++
float avoidanceRadius;
AgentMovementAbility::b3DMove Data Member
C++
bool b3DMove;
AgentMovementAbility::bUsePathfinder Data Member
C++
bool bUsePathfinder;
AgentMovementAbility::collisionAvoidanceParticipation Data Member
C++
bool collisionAvoidanceParticipation;
Description

True if the agent should participate in collision avoidance; false if not.

Notes

if disabled, other agents don't avoid it either!

AgentMovementAbility::collisionAvoidanceRadiusIncrement Data Member
C++
float collisionAvoidanceRadiusIncrement;
Description

When moving, this increment value will be progressively added to the agents avoidance radius (the rate is defined with the CollisionAvoidanceRadiusIncrementIncreaseRate/DecreaseRate console variables). This is meant to make the agent keep a bit more distance between him and other agents/obstacles. /Mario

AgentMovementAbility::cornerSlowDown Data Member
C++
float cornerSlowDown;
Description

Slow down at corners: 0 to 1.

AgentMovementAbility::directionalScaleRefSpeedMax Data Member
C++
float directionalScaleRefSpeedMax;
AgentMovementAbility::directionalScaleRefSpeedMin Data Member
C++
float directionalScaleRefSpeedMin;
AgentMovementAbility::lightAffectsSpeed Data Member
C++
bool lightAffectsSpeed;
Description

Sets to true if the movement speed should be lowered in low light conditions.

AgentMovementAbility::maneuverTrh Data Member
C++
float maneuverTrh;
Description

Cosine of forward^desired angle, after which to start maneuvering

AgentMovementAbility::maxAccel Data Member
C++
float maxAccel;
AgentMovementAbility::maxDecel Data Member
C++
float maxDecel;
AgentMovementAbility::maxFlightHeight Data Member
C++
float maxFlightHeight;
AgentMovementAbility::maxTurnRadius Data Member
C++
float maxTurnRadius;
AgentMovementAbility::minFlightHeight Data Member
C++
float minFlightHeight;
AgentMovementAbility::minTurnRadius Data Member
C++
float minTurnRadius;
AgentMovementAbility::movementSpeeds Data Member
C++
AgentMovementSpeeds movementSpeeds;
AgentMovementAbility::optimalFlightHeight Data Member
C++
float optimalFlightHeight;
AgentMovementAbility::pathfindingProperties Data Member
C++
AgentPathfindingProperties pathfindingProperties;
AgentMovementAbility::pathFindPrediction Data Member
C++
float pathFindPrediction;
Description

Time in seconds how much the path finder will predict the start of the path.

Enables/disables the path getting regenerated during tracing (needed for crowd control and dynamic updates to graph) - regeneration interval (in seconds) - 0 disables.

AgentMovementAbility::pathLookAhead Data Member
C++
float pathLookAhead;
Description

How far to look ahead when path following.

AgentMovementAbility::pathRadius Data Member
C++
float pathRadius;
Description

How wide the path should be treated.

AgentMovementAbility::pathRegenIntervalDuringTrace Data Member
C++
float pathRegenIntervalDuringTrace;
AgentMovementAbility::pathSpeedLookAheadPerSpeed Data Member
C++
float pathSpeedLookAheadPerSpeed;
Description

How far to look ahead to do speed control (mult this by the speed); -ve means use pathLookAhead.

AgentMovementAbility::pushableObstacleAvoidanceRadius Data Member
C++
float pushableObstacleAvoidanceRadius;
AgentMovementAbility::pushableObstacleMassMax Data Member
C++
float pushableObstacleMassMax;
AgentMovementAbility::pushableObstacleMassMin Data Member
C++
float pushableObstacleMassMin;
Description

Defines the mass range of obstacles that can be pushed by this agent If mass < min, agent will not avoid it If mass > max, agent will always avoid it If mass is in-between, agent will avoid it with an avoidanceRadius adjusted by the ratio between

AgentMovementAbility::pushableObstacleWeakAvoidance Data Member
C++
bool pushableObstacleWeakAvoidance;
AgentMovementAbility::resolveStickingInTrace Data Member
C++
bool resolveStickingInTrace;
Description

Adjusts the movement speed based on the angel between body dir and move dir. Enables/disables the algorithm to attempt to handle the agent getting stuck during tracing.

AgentMovementAbility::slopeSlowDown Data Member
C++
float slopeSlowDown;
Description

Slow down on slopes uphill (0 to 1).

AgentMovementAbility::teleportEnabled Data Member
C++
bool teleportEnabled;
Description

Enables/disables teleporting when path following.

AgentMovementAbility::usePredictiveFollowing Data Member
C++
bool usePredictiveFollowing;
AgentMovementAbility::velDecay Data Member
C++
float velDecay;
Description

How fast velocity decays with cos(fwdDir^pathDir) .

AgentMovementAbility::AgentMovementAbility Constructor
C++
AgentMovementAbility();