Unity Shooting Class
Rigidbody2Dクラス
2Dのための物理挙動を行うのに必要なクラスです。重力の影響や、物体の移動はこのクラスを介して行われます。
Inputクラス
キーボードやJoyStickなどコントローラーの全ての入力を処理するためのクラスです。モバイルなどでは加速度センサーやジャイロにもアクセスすることが出来ます。
Input.GetAxisRaw
矢印キーの左を押せば-1、右を押せば1、何も押さなければ0を取得できます。
これはキーボードのような「押す/押さない」の2択しかない場合に使用してください。
アナログスティックのような完全には押し込まず、
中途半端な状態が存在する場合は0から1の間の値も検出できるInput.GetAxis(string axisName)を使用します。
キー入力によってプレイヤーの移動する向きと速度 (速度ベクトル)をrigidbody2D.velocityに代入します。
コルーチン (Coroutine)
時間のかかる処理や、何かを待機するような処理をUpdateメソッド内で行うと、
その処理が終わるまでゲームの進行がストップしてしまいます。
このような処理は数秒待機したり、特定の処理が終わるまで待機することが可能なコルーチンを利用します。
RequireComponent
「必ず必須なコンポーネント」を指定することが出来ます。
必須と指定されたコンポーネントはRequireComponent属性の付いているコンポーネントが削除されない限り、
決して削除することが出来ません。
Transform
オブジェクトの位置、回転、サイズを扱うクラスです。
シーン内のすべてのものはオブジェクトに変換され、位置、回転、サイズが格納されています。
また、階層構造も判断し、最上位以外のオブジェクトは親を持つことになります。
Transformオブジェクトを操作すると、子の関係にあるオブジェクトも同時に操作することになります。
Collider
ColliderコライダーはRigidbodyの物理挙動と強く関係しています。
Rigidbodyは物理法則に従って動かすものですがColliderは衝突(当たり)判定を可能にするものになります。
「OnTriggerEnter2D」「OnTriggerStay2D」「OnTriggerExit2D」
トリガーの当たり判定を取得するメソッドは「OnTriggerEnter2D」「OnTriggerStay2D」「OnTriggerExit2D」
の3種類あります。これらは条件に合わせて使い分けるようにしてください。
補足
Apply Root Motionのチェックを外す理由
Apply Root Motionは3Dモデルに対するアニメーションの制御を行うために使用されます。
ですが今回のように2Dゲームを作る場合でもチェックをつけていると影響を受けてしまい、プレイヤーを正しく動かすことが出来ません。