2次元における衝突判定

2次元においてオブジェクトが衝突している(重なりがある)かの判定方法

  • 敵機と弾の当たり判定
  • 自キャラクターと障害物の衝突判定

 

アルゴリズム(定理)

  • Separating Axis Theorem (SAT)
  • 分割軸定理

 

アルゴリズムの概要

面積を持った2つのオブジェクトの間に

  1. 分割線が存在する ⇒ 衝突(重なり)がない
  2. 分割線が存在しない ⇒ 衝突(重なり)がある
  3. 補足

    1. 分割線が存在する ⇒ 360度ぐるりと回転させて1方向でも分割線が見つかった。
    2. 分割線が存在しない ⇒ 360度ぐるりと回転させて1方向も分割線が見つからなかった。

     

    分割線の見つけ方

    仮定の分割線に垂直の射影軸を設定し、各々のオブジェクトの射影に

    1. 重なりがなければ分割線が存在する
    2. 重なりがあれば分割線が存在しない