当たり判定

提供:APCC
2022年2月23日 (水) 08:25時点におけるRamdos (トーク | 投稿記録)による版 (加筆)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

当たり判定(あたりはんてい)とは、アクションゲームシューティングゲームなどのリアルタイムにキャラクターの動きを制御するゲームにおいて、主人公が、の放つ攻撃に当たり、ダメージ死亡の判定になる範囲のことである。

概要

アクションゲームなどの殆どのゲームでは、キャラ同士の衝突を検出する必要があるが、この範囲はしばしば表示されるキャラクターの画像の領域と異なる。 そこで、実際の衝突判定に使われる範囲のことを当たり判定と呼ぶ。

実装

すべてのキャラクターの組について衝突を検出しようとした場合、判定回数はO(N^2)のオーダーになる。この場合、判定可能なキャラクターの総数は1000体程度となる。 しかし、実際にはこれ以上のキャラクターが登場する事が多い。縦横独立に考えたり、K-D Treeなどの分割アルゴリズムを用いることでこの計算量を減らすことができる。

アクションエディター4では、判定回数が(主人公とその味方の数)×(そうでないキャラクター)のみの判定で抑えられるよう、「勢力」を設定することでこの問題を解決している。このため、複数勢力が大量に設定した場合は判定回数が増え、処理落ちを起こすことがある。

関連項目