Rigidbody2D コンポーネントによりオブジェクトに物理挙動を作用させます。標準の Rigidbody コンポーネントの多くの概念は Rigidbody 2D に引き継がれるものの、オブジェクトは XY 平面でのみ移動し、この平面に垂直な軸でのみ回転します。
プロパティー: | 説明: |
---|---|
Use Auto Mass | コライダーからオブジェクトの密集を検出するかどうか。検出する場合は、チェックする。 |
Mass | リジッドボディの密集 ( Use Auto Mass を選択している場合は、グレーアウト)。 |
Linear Drag | 位置移動の減衰値。 |
Angular Drag | 回転動作の減衰値。 |
Gravity Scale | 重力の影響度合い。 |
Is Kinematic | リジッドボディが力や衝突で移動するか。 |
Interpolate | オブジェクト動作の Physics Update 間での補間方法(動きがぎこちないときに役に立ちます)。 |
None | スムージングを適用しない。 |
Interpolate | 前フレームでのオブジェクト位置にもとづいて動作をスムージングする。 |
Extrapolate | 次フレームでのオブジェクト位置の予測にもとづいて動作をスムージングする。 |
Sleeping Mode | プロセッサー負荷を抑えるためのオブジェクトのスリープ方法。 |
Never Sleep | スリープを無効にする(可能な限りこの設定は避けるべきです)。 |
Start Awake | 起動時にオブジェクトを起こす。 |
Start Asleep | 初期でオブジェクトはスリープしているが衝突によりスリープ解除される。 |
Collision Detection | 他のオブジェクトとの衝突検知の方法。 |
Discrete | Physics Update のタイミングで他のオブジェクトコライダーと重なってる場合のみ衝突とみなす。 |
Continuous | Update の間のタイミングで他のオブジェクトコライダーと重なってる場合も衝突とみなす。 |
Constraints | リジッドボディのモーション(移動/回転)制限。 |
Freeze Position | リジッドボディのX軸とY軸の移動を制限します。 |
Freeze Rotation | Z 軸を中心としたリジッドボディの回転を制限します。 |
Rigidbody 2D の追加によりスクリプト API から力を加えてスプライトの動作を見映えのよい物理挙動にできます。スプライトオブジェクトに適切なコライダーコンポーネントをアタッチすると、他の移動オブジェクトとの衝突も検知します。物理挙動を使用すれば、よくあるゲーム動作の多くを単純化するのみならず、リアルで迫力ある動作を最小限のコーディングで実現できます。
Is Kinematic 設定により Rigidbody 2D の物理挙動を無効にして、重力や衝突に反応しないようにします。オブジェクトを物理挙動でないスクリプトで制御するために主に使用しつつ、特定の状況では物理挙動に切り替えます。例えば、プレイヤーは歩くことにより普通に移動しつつ(物理挙動により上手くハンドリング)、爆発やヒットがあったときに上空に投げ出すことができます。物理挙動を使用して投げ出す効果を実現するためには、オブジェクトに大きな力を適用する直前に Is Kinematic を無効にします。