🦁

[unity]rigidbodyとcolliderを設定してもすり抜けるパターンの克服

2022/03/16に公開

前提

以下のようなフィールドを作成。
黄色のオブジェクトは矢印キーで動かすことができる。
黄色に対しては、Rigidbodyコンポーネントと、BoxColliderコンポーネントをつけているので、側面の壁まで行くと衝突し、それ以上進めない状態になる。

それでもすり抜けるパターン

壁のギリギリで、押し込み続けると、だんだんと浮き上がり、外に出れてしまう。

克服

以下のように、Rigidbodyに対して、constraintsFreeze positionを設定する。
そうすることによって、位置に関しては、y軸が制限され、回転に関しては、x,y,z軸の物理挙動を抑えることができる。

デモ

Discussion