Unityのcolliderがすり抜ける時の対処方法!

皆さんこんにちは、内山です!

 

Unityでゲームを作る時に、

RigidbodyやColliderは付いてるのに

衝突してほしいオブジェクトがなぜかすり抜けてしまうことってありませんか?

 

今回はそんな時の対処方法について紹介していきます!

 

UnityのCollider

Unityでコライダーがすり抜ける原因

RigidbodyColliderは付いてるのに
オブジェクトが他のオブジェクトに当たらずに、
すり抜けてしまう原因は

オブジェクトの移動速度が速い可能性が高いです。

Unityでコライダーがすり抜ける対処方法

ではどのように対処すればいいのか、
2つほど解説していきます。

1:オブジェクトの移動速度を落とす

最も簡単な対処方法の一つです。

ただしゲームの表現や、
やりたいことが再現できなくなるため、
この手段はとれることが少ないと思います。

2:RigidbodyのCollision Detectionの設定を変更する

次の対処方法としてRigidbodyのCollision Detectionの設定を変える方法があります。

 

設定を変えるだけですり抜ける現象を防ぐことができますが、一つ注意が必要です。
下記の順番で処理が重くなっていきます。

Discrete:一番処理が軽い。オブジェクトの移動速度が遅い場合に用いる。
Continuous:ぶつかる相手がRigidbodyコンポーネントを持っていない。尚且つ動かないオブジェクトの時に用いる
Continuous Speculative:お互いが動くオブジェクトで、移動速度が速いときに用いる。※誤検知がある
Continuous Dynamic:お互いが動くオブジェクトで、移動速度が速いときに用いる。

なので自分が作るゲームに合わせて
設定を変更して行ってください。

 

Collision Detectionについて
もっと詳しく知りたい方は下記記事をご覧ください。

参考になるサイト

PR

Unityをより効率的に学びたい人向けに

Unityの日本語情報が比較的多いと言われてはいますが
日本語では体系的にまとまっている情報が非常に少なく、

私がUnityを学んだときは
時間的なコストが非常にかかってしまいました。

 

そこでこれからUnityを学習する人は

より少ない時間で、より多くの知識を習得できるように
私が学習した知識を共有するYouTubeチャンネルを開設しました!

 

詳しくは下記よりご覧になってください。

損をしないUnity学習方法

皆さん、こんにちは!内山です! 私自身、面白いゲームを作りたいと思いゲーム開発を始めました。 しかしいざ始めてみると挫折の連続でした・・ 公式解説のわかりにく[…]

 

>挫折せずにゲームを作りきる成功体験を!

挫折せずにゲームを作りきる成功体験を!

ゲームを作りきる成功体験をあなたにしてほしいためYouTubeで具体的なゲームジャンルの作り方を解説するチャンネルを作りました