Those parameters are only for adaptive velocity sampling, defining possible velocity vectors for next step of simulation. Each entry corresponds to avoidance quality enum: low, medium, good, high
It works by creating a rings patterns around center point and can refine results by spawning next, smaller sets of rings recursively, centered on best sample (AdaptiveDepth times). Each velocity sample is weighted using following conditions: does direction match expected direction on path (DesiredVelocityWeight), does direction match current velocity (CurrentVelocityWeight), does it go sideways (SideBiasWeight), does it collide with any known obstacle (ImpactTimeWeight in scan range: ImpactTimeRange seconds).
Sampling preview, using CrowdDebugDrawing::bDebugSelectedActors + CrowdDebugDrawing::bDrawDebugVelocityObstacles flags from CrowdManager.cpp
CustomPatternIdx param is for creating your own sampling patterns (SamplingPatterns array), but crashing needs to be fixed ![]()
Avoidance Weight is not used by detour’s crowd simulation, but RVO in character movement component. Usually it’s not good to have both system running: they will start colliding with each other.
