参考:

https://www.zhihu.com/question/29885931

 

wq yang

这个函数:

https://github.com/spring/spring/blob/a2a84b654354e5da1f828b5fd7db280d90d0596d/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp#L754

主要算法从这一行开始:https://github.com/spring/spring/blob/a2a84b654354e5da1f828b5fd7db280d90d0596d/rts/Sim/MoveTypes/ClassicGroundMoveType.cpp#L811

 

张鹏

这个可以参考recast中的做法,astar得到大致正确的路径,然后用next corner求下个goal点,然后移动的过程就是个steering behavior,可以使用任何动态避让算法。比如比较高效的RVO算法,这个从数学上可以推导是完全可避让的,只需要agent的位置 速度和半径就行。recast就是用的RVO。网上有现成的RVO C++ lib。难点在于如何控制agent的状态切换,以及修正路径,重新计算等,还是参考recast的crowd代码吧

 

开源算法库RVO2:

http://gamma.cs.unc.edu/RVO2/

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐