Rigidbody 2Dコンポーネントによりオブジェクトに物理挙動を作用させます。標準の Rigidbody コンポーネントの多くの概念は Rigidbody 2D に引き継がれるものの,オブジェクトは XY 平面でのみ移動し,この平面に垂直な軸でのみ回転します。
プロパティ: | 特徴: |
---|---|
Mass | リジッドボディの質量 |
Linear Drag | 位置移動の減衰係数 |
Angular Drag | 回転動作の減衰係数 |
Gravity Scale | 重力の影響度合い |
Fixed Angle | 力を適用したときにリジッドボディを回転させるか |
Is Kinematic | リジッドボディが力や衝突で移動するか |
Interpolate | オブジェクト動作の Physics Update 間での補間方法(動きがぎこちないときに役に立ちます) |
None | スムージングを適用しない |
Interpolate | 前フレームでのオブジェクト位置にもとづき動作はスムージングされる |
Extrapolate | 次フレームでのオブジェクト位置の予測にもとづき動作はスムージングされる |
Sleeping Mode | プロセッサー負荷を抑えるためのオブジェクトのスリープ方法 |
Never Sleep | スリープを無効化 |
Start Awake | 初期でオブジェクトはスリープしていない |
Start Asleep | 初期でオブジェクトはスリープしているが衝突によりスリープ解除される |
Collision Detection | 他のオブジェクトとの衝突検知の方法 |
Discrete | Physics Update のタイミングで他のオブジェクト コライダと重なってる場合のみ衝突とみなす |
Continuous | Update の間のタイミングで他のオブジェクト コライダと重なってる場合も衝突とみなす |
Rigidbody 2D の追加によりスクリプティング API から力を加えてスプライトの動作を見映えの良い物理挙動にできます。スプライト オブジェクトに適切なコライダー コンポーネントをアタッチすると,他の移動オブジェクトとの衝突も検知します。物理挙動を使用すればよくあるゲーム動作の多くを単純化するのみならず,リアルで迫力ある動作を最小限のコーディングで実現できます。
コライダーは他のオブジェクトとの衝突を物理エンジンが判定するのに使用するオブジェクトの形状を近似したものです。Rigidbody 2D で使用できるコライダーの種類は Circle Collider 2D, Box Collider 2D および Polygon Collider 2D であり,詳細は各々のコンポネーント のページを参照して下さい。
Is Kinematic 設定により Rigidbody 2D の物理挙動を無効にして,重力や衝突に反応しないようにします。オブジェクトを物理挙動でないスクリプトで制御するために主に使用しつつ,特定の状況では物理挙動に切り替えます。例えば,プレイヤーは歩くことにより普通に移動しつつ(物理挙動により上手くハンドリング),爆発やヒットがあったときに上空に投げ出すことが出来ます。物理挙動を使用して投げ出す効果を実現するためには,オブジェクトに大きな力を適用する直前に Is Kinematic を無効にします。