Struct RVOSystem Extends ISystem

Public

Simulates local avoidance in an ECS context.

All agent entities must have the following ECS components:

The system will use the data from MovementControl, and output the following fields to ResolvedMovement:

ResolvedMovement.targetPoint: Where the agent should move to. ResolvedMovement.speed: At what speed the agent should move, in world units. ResolvedMovement.turningRadiusMultiplier: This will go up if its more crowded, to indicate that the agent should try to take wider turns to improve crowd flow.

The AgentIndex component will be added to the agent automatically by this system. You do not need to care about it.

Inner Types

Copies the agent's local avoidance settings to the simulator.

Stops agents from avoiding others while they traverse an off-mesh link.

Public Methods

AddAndRemoveAgentsFromSimulation (systemState, simulator)
CopyFromEntitiesToRVOSimulator (systemState, simulator, dt)
CopyFromRVOSimulatorToEntities (systemState, simulator)
CopyRVOSettingsToSimulator (systemState, simulator)
OnCreate (state)
OnDestroy (state)
OnUpdate (systemState)

Public Variables

densityPhase

Which slice of the agents refreshes its crowd density this simulation step.

Public
lastSimulator

Keeps track of the last simulator that this RVOSystem saw.

Public

Public Static Variables

VERY_LARGE

Actual infinity is not handled well by some algorithms, but very large values are ok.

Public Static