AABB当たり判定計算機
2つの箱(軸に平行な直方体・矩形)の衝突を判定し、各軸の重なり量と最小の押し戻し方向を計算します。2Dで使う場合は、Z関連を0にします。
判定—
計算式
- 各軸の重なり = (Aの大きさ + Bの大きさ) ÷ 2 − |中心の差|
- すべての軸で重なりが正なら衝突
- 押し戻し = 重なりが最小の軸
使い方のヒント
2Dの矩形では、Zの大きさを0にして、Z座標をそろえてください(重なりが0になり「接している」と出る場合は、Zの大きさに適当な正の値を入れます)。回転した箱には使えません。
計算例
初期値(箱Aの中心 X 0、箱Aの中心 Y 0、箱Aの中心 Z 0、箱Aの幅(X) 10、箱Aの高さ(Y) 10、箱Aの奥行き(Z) 10、箱Bの中心 X 8、箱Bの中心 Y 6、箱Bの中心 Z 0、箱Bの幅(X) 10、箱Bの高さ(Y) 10、箱Bの奥行き(Z) 10)のままで計算すると、判定は 衝突している、X方向の重なり(マイナスは隙間)は 2、Y方向の重なり(マイナスは隙間)は 4、Z方向の重なり(マイナスは隙間)は 10、最小の押し戻し(衝突時)は X方向に 2 になります。まずはこの値を基準に、自分の数値へ置き換えて確認してください。
たとえば「箱Aの幅(X)」だけを 20 に変えると、判定は 衝突している、X方向の重なり(マイナスは隙間)は 7、Y方向の重なり(マイナスは隙間)は 4、Z方向の重なり(マイナスは隙間)は 10、最小の押し戻し(衝突時)は Y方向に 4 になります。結果がどの入力にどれだけ敏感かを見るときは、入力を1つずつ動かして比べるとわかりやすくなります。
関連ツール
よくある質問
AABB当たり判定計算機では何がわかりますか?
2つの箱(軸に平行な直方体・矩形)の衝突を判定し、各軸の重なり量と最小の押し戻し方向を計算します。2Dで使う場合は、Z関連を0にします。
何を入力すればいいですか?
次の項目を入力します: 箱Aの中心 X、箱Aの中心 Y、箱Aの中心 Z、箱Aの幅(X)、箱Aの高さ(Y)、箱Aの奥行き(Z)。内容を変えると、結果もそれに合わせて変わります。
結果にはどんな項目が表示されますか?
「判定」「X方向の重なり(マイナスは隙間)」「Y方向の重なり(マイナスは隙間)」「Z方向の重なり(マイナスは隙間)」「最小の押し戻し(衝突時)」などが表示されます。
どんな計算式を使っていますか?
ページ内の「計算式」にまとめています。たとえば「各軸の重なり = (Aの大きさ + Bの大きさ) ÷ 2 − |中心の差|」のような式です。
結果はどのくらい正確ですか?
計算式はゲームでよく使われるものです。実際の作品では丸め方(切り捨て・四捨五入)や上限値が違うことがあるので、最後はテストプレイで確認してください。
同じカテゴリ(当たり判定)の他のツールはありますか?
はい。レイキャスティング計算機、円・円当たり判定計算機、円・矩形当たり判定計算機、当たり判定可視化などがあります。
スマホでの利用、入力内容の扱い、結果のコピー、印刷など、全ツールに共通する質問は共通のよくある質問にまとめています。