Dynamic (動的) Body Type (ボディタイプ) は Rigidbody 2D のデフォルトのボディタイプです。なぜなら、これは、動く必要がある物に使用される最も一般的なボディタイプであり、シミュレーション下で動くように設計されているからです。このボディタイプは、有限質量や抗力 (ドラッグ) などの全ての Rigidbody 2D プロパティが使用可能で、重力やその他の力の影響を受けます。動的ボディは、他の全てのボディタイプと衝突する、最もインタラクティブなボディタイプです。また、その動的性質と、周囲の全てと相互作用する性質のために、最もパフォーマンス負荷の高いボディタイプでもあります。
ヒント: Dynamic Rigidbody 2D の位置や角度の設定に Transform コンポーネントを使用しないでください。シミュレーションでは、Dynamic Rigidbody 2D の位置や角度はその速度に応じて変更されます。これは、加わる力を通してスクリプトで直接変更するか、衝突や重力を通して間接的に変更することができます。
プロパティ | 機能 | |
---|---|---|
Body Type | この Rigidbody 2D のコンポーネント設定の移動動作と Collider 2D の相互作用を設定するために選択します。 | |
Dynamic | この Rigidbody 2D を Dynamic (動的) ボディタイプに設定します。このボディタイプは、シミュレーション下で動くように設計されており、全ての Rigidbody 2D プロパティが利用可能です。Rigidbody 2D のデフォルトのボディタイプです。 | |
Kinematic | この Rigidbody 2D を Kinematic (キネマティック) ボディタイプに設定します。これは、極めて明示的なユーザー制御下でのみシミュレーション下で動くように設計されています。詳細は ボディタイプ: Kinematic (キネマティック) を参照してください。 | |
Static | このリジッドボディ 2D を Static (静的) ボディタイプに設定する場合に選択します。このボディタイプは、シミュレーション下で全く動かないように設計されており、無限質量を持つ動かせないオブジェクトのように振るまいます。詳細は ボディタイプ: Static (静的) を参照してください。 | |
Material | この Rigidbody 2D にアタッチされている全ての Collider 2D に共通の Physics Material を設定します。ノート: Collider 2D は、独自の Material プロパティを (設定されている場合は) 使用します。ここまたは Collider 2D にマテリアルが指定されていない場合、デフォルトのオプションは None (Physics Material 2D) です。この場合、Physics 2D ウィンドウで設定可能なデフォルトのマテリアルが使用されます。 | |
Simulated | Simulated を有効にすると、Rigidbody 2D とそれにアタッチされた全ての Collider 2D および Joint 2D が、ランタイムに物理シミュレーションと相互作用します。無効にすると、これらのコンポーネントはシミュレーションと相互作用しません。 詳しくは Rigidbody 2D プロパティ: Simulated を参照してください。このプロパティはデフォルトで有効になっています。 | |
Use Auto Mass | このプロパティを有効にすると、Rigidbody 2D が、ゲームオブジェクトの質量をその Collider 2D から自動的に検出します。 | |
Mass | Rigidbody 2D の質量を定義します。Use Auto Mass を有効にした場合はグレーアウトされます。 | |
Linear Drag | 位置移動に影響する抗力係数を設定します。 | |
Angular Drag | 回転運動に影響する抗力係数を設定します。 | |
Gravity Scale | ゲームオブジェクトにかかる重力の度合い。 | |
Collision Detection | Collider 2D 間の衝突を検知する方法を設定します。 | |
Discrete | このオプションを選択すると、Rigidbody 2D と Collider 2D を持つゲームオブジェクトが、物理演算の更新中に、重なり合ったり、十分に速い速度で移動している場合に互いを貫通したりします。衝突接触は新しい位置でのみ生成されます。 | |
Continuous | このオプションを選択すると、Rigidbody 2D と Collider 2D を持つゲームオブジェクトが、物理の更新中に互いを貫通しないようになります。代わりに Unity は、Collider 2D の最初の衝突点を計算し、そこにゲームオブジェクトを移動させます。ノート: このオプションは Discrete よりも CPU 時間がかかります。 | |
Sleeping Mode | プロセッサー負荷を抑えるために、オブジェクトがスリープするときのモードを設定します。 | |
Never Sleep | スリープを無効にする場合に選択します。重要: システムリソースに影響を与える可能性があるため、この設定はできるだけ使用しないでください。 | |
Start Awake | ゲームオブジェクトがスリープしていない状態で開始します。 | |
Start Asleep | ゲームオブジェクトが、スリープした状態で開始し、衝突によって起きる (スリープ状態でなくなる) ことが可能になります。 | |
Interpolate | 物理計算の更新の合間にオブジェクト動作をどのように補間するかを選択します。ヒント: これは、動きがぎこちない時に役立ちます。 | |
圧縮なし | 動きのスムージングを適用しません。 | |
Interpolate | 前のフレームでのゲームオブジェクトの位置に基づいて動きのスムージングを行います。 | |
Extrapolate | 次のフレームの位置の推定値に基づいて動きのスムージングを行います。 | |
Constraints | Rigidbody 2D の動きの制限を設定します。 | |
Freeze Position | Rigidbody 2D の、ワールド空間の X 軸上の動きと Y 軸上の動きを選択的に停止します。 | |
Freeze Rotation | Rigidbody 2D の、ワールド空間の Z 軸周りの回転を選択的に停止します。 | |
Layer Overrides | レイヤーのオーバーライド設定を展開します。 | |
Include Layers | (他の Collider2D との衝突が発生するかどうかの決定に際して) この Rigidbody2D にアタッチされている全ての Collider2D が含むべき追加的レイヤーを選択します。詳しくは Rigidbody2D.includeLayers を参照してください。 | |
Exclude Layers | (他の Collider2D との衝突が発生するかどうかの決定に際して) この Rigidbody2D にアタッチされている全ての Collider2D が除外すべき追加的レイヤーを選択します。詳しくは Rigidbody2D.excludeLayers を参照してください。 |