【Unity2D】物体をすり抜けないようにする

Unity2DではRigidbody2Dコンポーネントを利用することで、重力に従って落下させたり、物体同士の衝突処理を行うことができます。

しかし初期状態では、物体の速さが増したときに他の物体をすり抜けることがあります。

これを避けるためには、Rigidbody2Dコンポーネントの設定を変更します。

インスペクターで「衝突判定」の項目を「連続的」に設定します。
(英語版では、「Collision Detection」を「Continuous」に設定します。)

7282743F-C9E2-46D0-A20D-ADE8209B2973.png

ただし「連続的」の方が処理の負荷は高くなります。
すり抜けては困る場合にだけ設定するようにしましょう。