ヒエラルキーの Player ゲームオブジェクトに PlayerController スクリプトをドラッグアンドドロップしてアタッチします。
アタッチしたら、必ず、ゲームオブジェクトのインスペクターの確認を行い、正常にアタッチされているかを確認してください。
PlayerController スクリプトに合わせて、Rigidbody2D コンポーネントも同時にアタッチされています。
これは PlayerController スクリプトに設定してある RequireComponent 属性による機能です。
Player ゲームオブジェクトの設定を行います。設定するコンポーネントは2つです。
最初に Rigidbody2D コンポーネントの設定を行います。
Gravity Scale の値を 0 に変更してください。0 にすることにより、重力の影響を受けなくなります。
Constraints プロパティ内の Freeze Rotation の Z にチェックをいれてください。
Rigidbody2D コンポーネントを利用して移動を行う場合、座標を直接変更するのではなく、物理演算を利用して、その結果としてキャラの座標が移動します。
そのため、重力や摩擦といった物理法則が移動の際に関わってくることになります。他のものにぶつかれば停止しますが、その時に加速があれば、回転が発生して前のめりに倒れます。
この設定により、キャラが移動したり、停止したりした際に、加速による勢いがあっても回転を起こさなり、倒れなくなります。
Player ゲームオブジェクト Rigidbody2D コンポーネント
続いて、PlayerController スクリプトの中で public 修飾子で宣言している変数がインスペクター上に表示されますので、適宜な値を代入してください。
Player ゲームオブジェクト インスペクター
以上で設定は完了です。