AABB当たり判定計算機

2つの箱(軸に平行な直方体・矩形)の衝突を判定し、各軸の重なり量と最小の押し戻し方向を計算します。2Dで使う場合は、Z関連を0にします。

判定—

X方向の重なり(マイナスは隙間)—
Y方向の重なり(マイナスは隙間)—
Z方向の重なり(マイナスは隙間)—
最小の押し戻し(衝突時)—

計算式

使い方のヒント

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 − |中心の差|」のような式です。

結果はどのくらい正確ですか?

計算式はゲームでよく使われるものです。実際の作品では丸め方(切り捨て・四捨五入)や上限値が違うことがあるので、最後はテストプレイで確認してください。

同じカテゴリ(当たり判定)の他のツールはありますか?

はい。レイキャスティング計算機、円・円当たり判定計算機、円・矩形当たり判定計算機、当たり判定可視化などがあります。

スマホでの利用、入力内容の扱い、結果のコピー、印刷など、全ツールに共通する質問は共通のよくある質問にまとめています。

関連記事