説明
Unityでボールや銃の弾のオブジェクトを扱う際に、Rigidbodyを正しく設定しないと、壁などを通り抜けてしまう現象が起こります。
特に初心者の方は、原因がわからず1日潰れてしまうこともあるかと・・
解決法:Collision Detectionの設定
ボールなど、投げるオブジェクトにはのRigidbodyの「Collison Detection」設定を変更しましょう。
Collison Detection「衝突判定」
Discreate | 破棄 | 処理も軽く、止まっているオブジェクト用。移動の速いオブジェクトは貫通してしまします。 |
Continuous | 継続的 | 移動の速いオブジェクトでも貫通しない。動くオブジェクト同士でなければ、これで良いのかな。 |
Continuous Speculative | 継続的 投機的 | 移動の速いオブジェクトでも貫通しない。動くオブジェクト同士でもOK。物理計算の予測による誤検知(ゴースト衝突)が起こるかもしれない |
Continuous Dynamic | 連続 ダイナミック | 移動の速いオブジェクトでも貫通しない。動くオブジェクト同士でもOK。物理計算の予測による誤検知(ゴースト衝突)はしない。 処理は一番重い |
ボールや鉄砲の弾は、「Continuous Speculative」にすると良いでしょう。
詳しい衝突判定もしたい場合は「Continuous Dynamic」の方がいいでしょう。

コメント