Unityでゲームを作る時に、
RigidbodyやColliderは付いてるのに
衝突してほしいオブジェクトがなぜかすり抜けてしまうことってありませんか?
今回はそんな時の対処方法について紹介していきます!
この記事は、
Advent Calendarの2021/12/09の記事です
テーマ
Unity始めた頃の自分に教えたい ゲーム開発のテクニック
カレンダーURL
Calendar page for Qiita Advent Calendar 2021 regarding Unity…
UnityのCollider
Unityでコライダーがすり抜ける原因
RigidbodyやColliderは付いてるのに
オブジェクトが他のオブジェクトに当たらずに、
すり抜けてしまう原因は
オブジェクトの移動速度が速い可能性が高いです。
Unityでコライダーがすり抜ける対処方法
ではどのように対処すればいいのか、
2つほど解説していきます。
1:オブジェクトの移動速度を落とす
最も簡単な対処方法の一つです。
ただしゲームの表現や、
やりたいことが再現できなくなるため、
この手段はとれることが少ないと思います。
2:RigidbodyのCollision Detectionの設定を変更する
次の対処方法としてRigidbodyのCollision Detectionの設定を変える方法があります。
設定を変えるだけですり抜ける現象を防ぐことができますが、一つ注意が必要です。
下記の順番で処理が重くなっていきます。
Discrete:一番処理が軽い。オブジェクトの移動速度が遅い場合に用いる。
Continuous:ぶつかる相手がRigidbodyコンポーネントを持っていない。尚且つ動かないオブジェクトの時に用いる
Continuous Speculative:お互いが動くオブジェクトで、移動速度が速いときに用いる。※誤検知がある
Continuous Dynamic:お互いが動くオブジェクトで、移動速度が速いときに用いる。
なので自分が作るゲームに合わせて
設定を変更して行ってください。
Collision Detectionについて
もっと詳しく知りたい方は下記記事をご覧ください。
Unityをより効率的に学びたい人向けに
Unityの日本語情報が比較的多いと言われてはいますが
日本語では体系的にまとまっている情報が非常に少なく、
私がUnityを学んだときは
時間的なコストが非常にかかってしまいました。
そこでこれからUnityを学習する人は
より少ない時間で、より多くの知識を習得できるように
私が学習した知識を共有するYouTubeチャンネルを開設しました!
詳しくは下記よりご覧になってください。
このチャンネルでは、短い時間でゲーム開発に必要な知識を習得できるジャンルごとの解説講座を公開しています! 丁寧な解説を心がけているので、ゲーム開発に挫折することなくゲームを作りきる成功体験を[…]
Unityゲーム開発オススメ書籍!
【個人的にお勧めだったUnity書籍】
マンガでわかる Unityゲーム開発入門 https://amzn.to/3EtiTVl
スマホ向けUnity ソーシャルゲーム開発ガイド https://amzn.to/3ACXkjX
Unity 3Dアクションゲームの作り方 https://amzn.to/3ESLZPl
Unityの寺子屋 定番スマホゲーム開発入門 https://amzn.to/3i6kjxH
↑下二つはUnlimited入会で無料になるからぜひ試してみて下さい
Kindle Unlimited【初月無料】 https://www.amazon.co.jp/kindle-dbs/h…