2DゲーのキャラクターにつけるRigidbody
壺おじさんは上下左右にしか動けない。 壺おじさんの体は地形に合わせて傾く。 壺おじさんの体は常にこちらを向いている。 そんな壺おじさんの物理挙動をUnityで再現したい。
キャラクターにRigidbodyをつけるだけでは全方向に進み、回転する。 それでは、2DゲーにおけるRigidbodyのConstraintsをどうすべきか。
答えはこれ。
- Freeze PositionのZにチェック
- Freeze RotionのXYにチェック
これは、キャラクターがこちらを向いている場合の制約である。 キャラクターが進行方向を向いている場合XとZが入れ替わる。
これで上下左右に動き、地形に合わせて傾き、常に一定の方向を見ているキャラクターができあがる。