Lessico IT › Programmazione › Reciprocal velocity obstacles (RVO)

Reciprocal velocity obstacles (RVO)

Programmazione Svenska → Aggiornato: 2026-10-26

Un metodo che permette a molti agenti di evitarsi con fluidità, facendo assumere a ciascuno metà della responsabilità della schivata.

Un velocity obstacle (Fiorini e Shiller, 1998) è l'insieme di tutte le velocità che prima o poi causeranno una collisione con un ostacolo. L'agente sceglie semplicemente una velocità al di fuori di quell'insieme. I problemi cominciano quando due agenti schivano nello stesso momento: si rimpallano da una parte all'altra e finiscono per oscillare.

L'RVO (van den Berg, Lin e Manocha, 2008) risolve il problema facendo supporre a ogni agente che l'altro si assuma metà dell'evitamento. Ne risulta il movimento fluido e quasi umano delle folle e delle unità negli RTS, senza tremolii. Il suo successore ORCA (2011) lo riformula come vincoli lineari e regge migliaia di agenti. L'RVO completa il pathfinding: la navmesh fornisce il percorso grossolano, l'RVO gestisce gli ultimi metri tra vicini.

← Torna al lessico