AABB

提供: MonoBook
2017年11月10日 (金) 10:14時点におけるimported>Administratorによる版
ナビゲーションに移動 検索に移動

AABB (語源:Axis Aligned Bounding Box)とは、「軸に平行な直方体」という意味であり、3Dゲームなどで衝突判定に用いる見えない四角形の領域を指す。日本語では「豆腐」などとも呼ばれる。

3Dモデルの衝突判定をクソ真面目にポリゴン単位で行うと非現実的なくらい物凄い負荷になる。そこでモデルを覆うようなXYZ軸に平行な立方体(全部同じ角度の立方体)を動的に作り出し、AABBどうしで当たり判定を行えば、いわゆる2DなアクションゲームのX軸Y軸の衝突判定処理にZ軸の処理を加えるだけでよく非常に軽い処理となる。モデル単位のAABBでは大雑把すぎるという場合はボーン単位などでAABBを用意して衝突判定を行うという手法が使われる。

ゲーム以外の3Dアプリでも「マウスでモデルを掴むように動かす操作」を実現するためにAABBを利用しているのがほとんどである。

物理演算エンジンでの衝突判定ではクソ真面目に計算していることが多いため、そのような場合の高速化には表示用のモデルとは別に見えないローポリゴンモデルを被せるように用意して物理演算エンジンに喰わせることもある。これはAABBとは別の技術だが、実のところ物理演算エンジン内部でも物凄く小さなAABBを大量に生成して衝突判定を行っている実装も多い。

関連項目