ゲームのコリジョンとは、自分が使うキャラクターの移動を妨害したり壁となり、侵入不可にするものや、敵キャラクターとの判定に使うなど、ゲームにおいて重要な役割を持ちます。
コリジョンは、当たり判定のことです
ゲームのコリジョン、それは、一般の方にとってみれば、コリジョンって何よ?ってなると思います。
コリジョンとは何か?、コリジョンとは、キャラクターがそのコリジョンというものに当たると、判定を受け取り、その場所に侵入させない効果を持った物の事です。
コリジョン = 当たり判定
と覚えておけば良いです。
※当たりの判定は、侵入を拒むという形で今回使っていますが、ギミックなどの判定にもコリジョンから判定をとったりします。
コリジョンは、処理負荷がかかります
今回このコリジョンのお話をするのは、コリジョンは使い方を間違えるとものすごく処理を無駄に使うということを伝えておきたいと思います。
なので、スペックの低いものだとコリジョンをふんだんに使えない場合があり、簡素なものになる場合があります。
現状、
PS5、PS4、switch、XBOX(海外)、PC、スマートフォン
と、ゲームができる媒体は、ありますが、どの媒体にもコリジョンのデータは存在しています。
※昔の機体を入れるときりがないので、今でも現役のものを。
コリジョンとは
前半で話していますが、ゲーム内のキャラクター、やNPCに対して行動を制限させるものです。
実際の世界には、机の上に物を置いたり、椅子に座ったりすることができますが、ゲームの世界では、コリジョンを設定しないと判定をとること難しく、物を置いたり、座ったりすることができません。
よくキャラクターがオブジェクト(何かしらの物)にめり込んでいる!というのがありますが、これは、その設定が上手くいっていないということです。
※注意 ここでは、設定が上手くいっていないと言い切っていますが、ゲーム上めり込みを少し許容してバグを防ぐのと、処理の高速化をする場合があります。なので、一概にめり込んでいるから設定が悪いというのは、言いきれませんので、ご注意ください。
基本コリジョンの種類
コリジョンの種類は、6つの種類があります。
- 立方体
- 球体
- 円柱
- 板
- カプセル型
- 自由形状(形に制限はなし)
これは、プログラマーが扱えるコリジョンの形と思ってください。(3Dゲームの想定です。)2Dデータを使った制限方法なども考えられますが、今回は、わかりやすく3Dデータで考えます。
また、これらの形は、拡大縮小をかけることはできますが、一辺を伸ばすなどすることはできないものだと思ってください。(伸ばす場合は、自由形状になってしまい、より負荷の高いコリジョンになります。)
立方体
6面で構成された箱ですね。サイコロのガワだと思っていただければ。
基本的には、背景オブジェクトなどに使われる場合が多いです。キャラクターに適応させてしまうと、移動時に、引っかかる可能性が高い形状となります。
球体
ボール型の形をしたコリジョン。球体なので、キャラクター同士がぶつかった場合でもするりと横を抜けることがしやすい。
ただし、球なので、下や上に滑り込んでしまう可能性があります。
円柱
柱と思ってもらえば。
この利点としては、キャラクターが当たったとしても、コリジョンが円柱のため引っかかることがありません。キャラクターの幅と円柱の配置の仕方をちゃんとしていれば、NPCキャラクターであっても、移動がスムーズに行うことができます。
円柱の上面と底面に関しては、コリジョン設定することも可能ですが、処理を省くためには、上面と底面の設定はせずに、側面の長さを何があっても越えられないような高さに設定すると良いです。
板
立方体との違いは、法線の方向に対してのみ当たりが発生するということです。
なので、裏側から触れた場合は、通過してしまいます。例えば、道の範囲外へ行ったら困る場所などに設定をします。
カプセル型
ちょっと特殊な形となります。円柱と違い、画像だと左右ですが、丸く弧を描いているコリジョン(横になっていますが、立てることもできます。)
これは、プレイヤーが上に乗った場合に、滑り落ちる形にもなり、球体とも違い、カプセルを縦にした場合に、下めり込むということがなくなります。
円柱と球体を足したような感じのコリジョンとなっております。
自由形状
下記の5つに当てはまらないものは、自由形状となります。
- 立方体
- 球体
- 円柱
- 板
- カプセル型
このコリジョンが一番計算が重く、次世代機であれば、使用は可能ですが、スペックが怪しいハードでは、使用を避けた方が良いです。このコリジョンのせいで、ゲームがまともに動かないという可能性もありますので。
注意しなければならないコリジョンとは
上記でも書いてありますが、自由形状のコリジョンが一番重くなります。
また、他のコリジョンも1辺でも形を変化(全体の拡縮は問題ない)したものは、自由形状のコリジョン扱いとなります。
コリジョンは、判定を常に行わなければならないため、たくさんのコリジョンと判定をしなければならないもの(キャラクターなど)がいる場合は、常に計算が走ります。
そのため、なるべく簡単なコリジョンにした方が負荷が低くなるため、処理負荷が高い場合は、コリジョンを調べてみるのも手だと思われます。
数も抑え、大きさも抑え、形状もシンプルにと、考えることが多く思われますが、これを考えなければ、ストレスを与えるだけのゲームに一番近くなってしまうので、覚えておくと良いです。
コメント