RVO(Reciprocal Velocity Obstacles,互惠速度障碍)是一种多人动态避障算法。
「数据结构与算法 - JPS 」兄弟篇
前言
如果 A*、JPS 等寻路算法解决的是“如何到达目的地”,那么 RVO 解决的就是“在移动过程中,如何避免与动态目标发生碰撞”。常用于游戏中多单位在移动过程中实现自动避让,比如:红警、星际争霸等RTS游戏。
可以通俗的理解为:每个移动的单位都会主动互相让一点,避免路径撞车。
这类动态避障算法的核心思想是:“按照当前速度继续移动,未来会不会发生碰撞?”,也就是 Velocity Obstacle(速度障碍)。