プログラム研究 備忘録

java,C#,Unity等の備忘録です。経済理論も少し。

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ゲームを作る場合でもチェックをつけていると影響を受けてしまい、プレイヤーを正しく動かすことが出来ません。