2次元においてオブジェクトが衝突している(重なりがある)かの判定方法
例
- 敵機と弾の当たり判定
- 自キャラクターと障害物の衝突判定
アルゴリズム(定理)
- Separating Axis Theorem (SAT)
- 分割軸定理
アルゴリズムの概要
面積を持った2つのオブジェクトの間に
- 分割線が存在する ⇒ 衝突(重なり)がない
- 分割線が存在しない ⇒ 衝突(重なり)がある
- 分割線が存在する ⇒ 360度ぐるりと回転させて1方向でも分割線が見つかった。
- 分割線が存在しない ⇒ 360度ぐるりと回転させて1方向も分割線が見つからなかった。
- 重なりがなければ分割線が存在する
- 重なりがあれば分割線が存在しない
補足
分割線の見つけ方
仮定の分割線に垂直の射影軸を設定し、各々のオブジェクトの射影に