コリジョンとは、ゲーム内でオブジェクト同士が接触したかどうかを判定する仕組みのこと
キャラクターが壁にぶつかる、敵に当たる、アイテムを拾うなど、
ゲーム内の多くの動きはコリジョンによって制御されています。
ゲームのコリジョンって何?(当たり判定)
- コリジョン=当たり判定
- なぜ必要か
ゲームのコリジョンとは、自分が使うキャラクターの移動を妨害したり壁となり、侵入不可にするものや、敵キャラクターとの判定に使うなど、ゲームにおいて重要な役割を持ちます。
例えば、キャラクターが壁をすり抜けないのはコリジョンがあるからです。
また、敵に触れるとダメージを受けるのもコリジョンによる判定です。
👉 コリジョンは「当たり判定」とも呼ばれ、ゲーム開発の基本となる要素です。
コリジョンは、当たり判定のことです

ゲームのコリジョン、それは、一般の方にとってみれば、コリジョンって何よ?ってなると思います。
コリジョンとは何か?、コリジョンとは、キャラクターがそのコリジョンというものに当たると、判定を受け取り、その場所に侵入させない効果を持った物の事です。
コリジョン = 当たり判定
と覚えておけば良いです。
👉 ここまでのポイント
- コリジョン=当たり判定
- キャラクターの動きを制御する仕組み
※当たりの判定は、侵入を拒むという形で今回使っていますが、ギミックなどの判定にもコリジョンから判定をとったりします。
👉 スイッチやイベント処理にも使われる重要な仕組みです。
コリジョンは、処理負荷がかかります

今回このコリジョンのお話をするのは、コリジョンは使い方を間違えるとものすごく処理を無駄に使うということを伝えておきたいと思います。
👉 コリジョンは便利ですが、使いすぎるとパフォーマンスに影響します。
なので、スペックの低いものだとコリジョンをふんだんに使えない場合があり、簡素なものになる場合があります。
👉 特にスマホやSwitchなどでは重要なポイントです。
現状、
PS5、PS4、switch、XBOX(海外)、PC、スマートフォン
と、ゲームができる媒体は、ありますが、どの媒体にもコリジョンのデータは存在しています。
※昔の機体を入れるときりがないので、今でも現役のものを。
👉 すべてのゲームに必須の仕組みです。
コリジョンとは

前半で話していますが、ゲーム内のキャラクター、やNPCに対して行動を制限させるものです。
👉 プレイヤーの行動制御に直結します。
実際の世界には、机の上に物を置いたり、椅子に座ったりすることができますが、ゲームの世界では、コリジョンを設定しないと判定をとること難しく、物を置いたり、座ったりすることができません。
👉 ゲームでは「物理の代わり」をしているイメージです。
よくキャラクターがオブジェクト(何かしらの物)にめり込んでいる!というのがありますが、これは、その設定が上手くいっていないということです。
👉 コリジョン設定ミスの典型例です。
※注意 ここでは、設定が上手くいっていないと言い切っていますが、ゲーム上めり込みを少し許容してバグを防ぐのと、処理の高速化をする場合があります。なので、一概にめり込んでいるから設定が悪いというのは、言いきれませんので、ご注意ください。
👉 あえて調整しているケースもあります。
基本コリジョンの種類
コリジョンは実際には四角形や円などの単純な形で判定されることが多いです。
コリジョンの種類は、6つの種類があります。
👉 ここはゲーム開発で重要な知識です。
- 立方体
- 球体
- 円柱
- 板
- カプセル型
- 自由形状(形に制限はなし)
👉 ここまでのポイント
- コリジョンには複数の形状がある
- 形によって使い分ける
各コリジョンの特徴

これは、プログラマーが扱えるコリジョンの形と思ってください。(3Dゲームの想定です。)2Dデータを使った制限方法なども考えられますが、今回は、わかりやすく3Dデータで考えます。
また、これらの形は、拡大縮小をかけることはできますが、一辺を伸ばすなどすることはできないものだと思ってください。(伸ばす場合は、自由形状になってしまい、より負荷の高いコリジョンになります。)
立方体

6面で構成された箱ですね。サイコロのガワだと思っていただければ。
基本的には、背景オブジェクトなどに使われる場合が多いです。キャラクターに適応させてしまうと、移動時に、引っかかる可能性が高い形状となります。
👉 背景や壁に使いやすい形状
球体

ボール型の形をしたコリジョン。球体なので、キャラクター同士がぶつかった場合でもするりと横を抜けることがしやすい。
ただし、球なので、下や上に滑り込んでしまう可能性があります。
👉 キャラクター同士の当たり判定に向いている
円柱

柱と思ってもらえば。
この利点としては、キャラクターが当たったとしても、コリジョンが円柱のため引っかかることがありません。キャラクターの幅と円柱の配置の仕方をちゃんとしていれば、NPCキャラクターであっても、移動がスムーズに行うことができます。
円柱の上面と底面に関しては、コリジョン設定することも可能ですが、処理を省くためには、上面と底面の設定はせずに、側面の長さを何があっても越えられないような高さに設定すると良いです。
👉 移動をスムーズにするのに適している
板

立方体との違いは、法線の方向に対してのみ当たりが発生するということです。
なので、裏側から触れた場合は、通過してしまいます。例えば、道の範囲外へ行ったら困る場所などに設定をします。
👉 見えない壁などに使われることが多い
カプセル型

ちょっと特殊な形となります。円柱と違い、画像だと左右ですが、丸く弧を描いているコリジョン(横になっていますが、立てることもできます。)
これは、プレイヤーが上に乗った場合に、滑り落ちる形にもなり、球体とも違い、カプセルを縦にした場合に、下めり込むということがなくなります。
円柱と球体を足したような感じのコリジョンとなっております。
👉 プレイヤー用コリジョンでよく使われる形
自由形状
下記の5つに当てはまらないものは、自由形状となります。
- 立方体
- 球体
- 円柱
- 板
- カプセル型
このコリジョンが一番計算が重く、次世代機であれば、使用は可能ですが、スペックが怪しいハードでは、使用を避けた方が良いです。このコリジョンのせいで、ゲームがまともに動かないという可能性もありますので。
👉 一番重いコリジョン
注意しなければならないコリジョンとは
上記でも書いてありますが、自由形状のコリジョンが一番重くなります。
👉 パフォーマンスに大きく影響します。
また、他のコリジョンも1辺でも形を変化(全体の拡縮は問題ない)したものは、自由形状のコリジョン扱いとなります。
👉 意図せず負荷が上がる原因になります。
コリジョンは、判定を常に行わなければならないため、たくさんのコリジョンと判定をしなければならないもの(キャラクターなど)がいる場合は、常に計算が走ります。
👉 処理負荷の原因はここです。
そのため、なるべく簡単なコリジョンにした方が負荷が低くなるため、処理負荷が高い場合は、コリジョンを調べてみるのも手だと思われます。
👉 最適化の重要ポイントです。
数も抑え、大きさも抑え、形状もシンプルにと、考えることが多く思われますが、これを考えなければ、ストレスを与えるだけのゲームに一番近くなってしまうので、覚えておくと良いです。
👉 コリジョン設計はゲームの快適さに直結します。


コメント