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; };
IAgent.h
Structure containing all the relevant information describing the way agent moves (can strafe,speeds,inertia,...).
bool allowEntityClampingByAnimation;
uint32 avoidanceAbilities;
Adjusts how the agent pathfollows around dynamic obstacles, both pushable and non-pushable
float avoidanceRadius;
bool b3DMove;
bool bUsePathfinder;
bool collisionAvoidanceParticipation;
True if the agent should participate in collision avoidance; false if not.
if disabled, other agents don't avoid it either!
float collisionAvoidanceRadiusIncrement;
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
float cornerSlowDown;
Slow down at corners: 0 to 1.
float directionalScaleRefSpeedMax;
float directionalScaleRefSpeedMin;
bool lightAffectsSpeed;
Sets to true if the movement speed should be lowered in low light conditions.
float maneuverTrh;
Cosine of forward^desired angle, after which to start maneuvering
float maxAccel;
float maxDecel;
float maxFlightHeight;
float maxTurnRadius;
float minFlightHeight;
float minTurnRadius;
AgentMovementSpeeds movementSpeeds;
float optimalFlightHeight;
AgentPathfindingProperties pathfindingProperties;
float pathFindPrediction;
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.
float pathLookAhead;
How far to look ahead when path following.
float pathRadius;
How wide the path should be treated.
float pathRegenIntervalDuringTrace;
float pathSpeedLookAheadPerSpeed;
How far to look ahead to do speed control (mult this by the speed); -ve means use pathLookAhead.
float pushableObstacleAvoidanceRadius;
float pushableObstacleMassMax;
float pushableObstacleMassMin;
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
bool pushableObstacleWeakAvoidance;
bool resolveStickingInTrace;
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.
float slopeSlowDown;
Slow down on slopes uphill (0 to 1).
bool teleportEnabled;
Enables/disables teleporting when path following.
bool usePredictiveFollowing;
float velDecay;
How fast velocity decays with cos(fwdDir^pathDir) .
AgentMovementAbility();