G1R AngelScript
Scripting reference for the Gothic 1 Remake
Loading...
Searching...
No Matches
FPathfollowModifyAvoidVelocitySettings Struct Reference

Pathfollowing settings about how an agent should modify its velocity, when other agents are nearby. More...

Public Member Functions

Functions
FPathfollowModifyAvoidVelocitySettings & opAssign (FPathfollowModifyAvoidVelocitySettings Other)

Public Attributes

PathfollowModifyAvoidVelocitySettings
float32 FastSpeedVelocityMultiplier
 Agent adds this velocity bonus, when neighbor has high speed towards it and within MediumVelocityModRage.
float32 MediumRangeVelocityMultiplier
 Factor to set velocity to a minimal guaranteed speed, when other agents are within MediumRange (CrowdCollisionRadius * 2.f between crowd collisions).
float32 ShortRangeVelocityMultiplier
 Factor to set velocity to a minimal guaranteed speed, when other agents are within ShortRange (CrowdCollisionRadius * 0.5f between crowd collisions).
bool bUseFastSpeedModification
 When another agent is moving fast towards me, FastSpeedVelocityMultiplier is added on top.
bool bUseBasicSpeedModification
 When other agent is within MediumRange, MediumRangeVelocityMultiplier is used to force a minimal speed.
bool bUseSlowdownNearCurves
 Improve the ability to steer around corners by slowing down.
float32 SlowDownNearCurvesSpeed
 Clamp speed to this value when we move faster and our path has a curve ahead. This threshold indicates a speed over which steering in sharp curves becomes so hard that slowing down could save us from running into geometry.
float32 SlowDownNearCurvesForecastTime
 How far should NPCs forecast to find sharp curves? In seconds.
float32 SteerSpeedAgentRadiusRangeMultiplier
 Distance to apply SteerSpeedVelocityMultiplier to MaxSpeed is applied when sharp corner is within a range that is calculated from the CrowdAgentRadius times this multiplier.

Detailed Description

Pathfollowing settings about how an agent should modify its velocity, when other agents are nearby.

Default crowd avoidance behaviour makes agents slow down to make them walk around each other carefully. Often however we want to increase their speed instead, so that avoidance behaves like quick dodging.

Member Function Documentation

◆ opAssign()

Member Data Documentation

◆ bUseBasicSpeedModification

bool bUseBasicSpeedModification

When other agent is within MediumRange, MediumRangeVelocityMultiplier is used to force a minimal speed.

◆ bUseFastSpeedModification

bool bUseFastSpeedModification

When another agent is moving fast towards me, FastSpeedVelocityMultiplier is added on top.

◆ bUseSlowdownNearCurves

bool bUseSlowdownNearCurves

Improve the ability to steer around corners by slowing down.

◆ FastSpeedVelocityMultiplier

float32 FastSpeedVelocityMultiplier

Agent adds this velocity bonus, when neighbor has high speed towards it and within MediumVelocityModRage.

◆ MediumRangeVelocityMultiplier

float32 MediumRangeVelocityMultiplier

Factor to set velocity to a minimal guaranteed speed, when other agents are within MediumRange (CrowdCollisionRadius * 2.f between crowd collisions).

◆ ShortRangeVelocityMultiplier

float32 ShortRangeVelocityMultiplier

Factor to set velocity to a minimal guaranteed speed, when other agents are within ShortRange (CrowdCollisionRadius * 0.5f between crowd collisions).

◆ SlowDownNearCurvesForecastTime

float32 SlowDownNearCurvesForecastTime

How far should NPCs forecast to find sharp curves? In seconds.

◆ SlowDownNearCurvesSpeed

float32 SlowDownNearCurvesSpeed

Clamp speed to this value when we move faster and our path has a curve ahead. This threshold indicates a speed over which steering in sharp curves becomes so hard that slowing down could save us from running into geometry.

◆ SteerSpeedAgentRadiusRangeMultiplier

float32 SteerSpeedAgentRadiusRangeMultiplier

Distance to apply SteerSpeedVelocityMultiplier to MaxSpeed is applied when sharp corner is within a range that is calculated from the CrowdAgentRadius times this multiplier.