ゲームオブジェクトを移動させる時、多くのオブジェクトがお互い衝突しないようにするのはとても重要です。オブジェクトの数が少ないなら力ずくでやる方法もありますが、数が大きくなる場合(例えばRTSジャンルのゲーム)は効率的なアルゴリズムが必要です。今回はそれらオブジェクトの動きに関するライブラリを検索してみましたので、そのメモ書きです。
- RVO2 Library: Reciprocal Collision Avoidance for Real-Time Multi-Agent Simulation : http://gamma.cs.unc.edu/RVO2/
- Steering Behaviors For Autonomous Characters :http://www.red3d.com/cwr/steer/
- OpenSteer : http://opensteer.sourceforge.net/
- UnitySteer (porting of OpenSteer for Unity) : http://arges-systems.com/blog/2009/07/08/unitysteer-steering-components-for-unity/
上記で紹介しているライブラリはPathfinding(経路探索)のためのライブラリではありません。どちらかていうと、経路探索から得られた経路をどうやって辿っていくかを計算するライブラリです。
前回の投稿で紹介している「Artificial Intelligence for Games, Second Edition」に、Steering Behaviorに関する詳細な解説が載っていますので参考してください。