Kinematic Rigidbody 2D は、衝突の間、まるで動かないオブジェクトのような (無限の質量があるかのような) 挙動になり、このボディタイプでは質量関連のプロパティは使用できません。
| Property | 機能 |
|---|---|
| Body Type | この Rigidbody 2D のコンポーネント設定の移動動作と Collider 2D の相互作用を設定するために選択します。 |
| Dynamic | これを選択すると、Rigidbody 2D が Dynamic ボディタイプに設定されます。これは、シミュレーション下で動くように設計されており、すべての Rigidbody 2D プロパティが利用可能です。これは Rigidbody 2D のデフォルトのボディタイプです。 |
| Kinematic | これを選択すると、Rigidbody 2D が Kinematic ボディタイプに設定されます。これは、非常に明示的なユーザーによる制御でのみ、シミュレーション下で動くように設計されています。 |
| Static | これを選択すると、Rigidbody 2D が Static ボディタイプに設定されます。これは、シミュレーション下でまったく動かないように設計されており、無限のありで動かない物体のような挙動になります。詳細については、ボディタイプ: Static を参照してください。 |
| Material | この Rigidbody 2D にアタッチされているすべての Collider 2D に共通の物理マテリアルを設定します。ノート:Collider 2D に独自のマテリアルプロパティが 1 組ある場合、Collider 2D はそれを使用します。ここで、または Collider 2D でマテリアルが指定されていない場合、デフォルトのオプションは None (Physics Material 2D) です。これは、Physics 2D ウィンドウで設定できるデフォルトのマテリアルを使用します。 |
| Simulated | Simulated を有効にすると、ランタイムに、Rigidbody 2D とそれにアタッチされたすべての Collider 2D と Joint 2D が物理的シミュレーションと相互作用します。無効にすると、これらのコンポーネントはシミュレーションと相互作用しません。後述の Rigidbody 2D プロパティ: Simulated を参照してください。このプロパティは、デフォルトで有効になっています。 |
| Full Kinematic Contact | このプロパティを有効にすると、Rigidbody 2D が他のすべての Rigidbody 2D ボディタイプと衝突できるようになります。ノート:このプロパティを無効にすると、Kinematic Rigidbody 2D は Dynamic Rigidbody 2D にのみ衝突します。詳細については、Full Kinematic Contacts の使用を参照してください。 |
| 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 | 物理計算の更新の合間に、どのようにオブジェクト動作を補間するかを選択します。ノート: これは、動きがぎこちないときに便利です。 |
| None | これを選択すると、移動スムージングが適用されません。 |
| Interpolate | これを選択すると、前フレームでのオブジェクト位置に基づいて動作をスムージングします。 |
| Extrapolate | これを選択すると、次フレームでのオブジェクト位置の予測に基づいて動作をスムージングします。 |
| Constraints | Rigidbody 2D の動きの制限を設定します。 |
| Freeze Position | Rigidbody 2D の動きを、選択したワールド空間の X軸と Y軸で停止します。 |
| Freeze Rotation | ワールド空間の Z軸を中心とした Rigidbody 2D の回転を、選択した場所で停止します。 |
| Layer Overrides | レイヤーのオーバーライド設定を展開します。 |
| Include Layers | この Rigidbody 2D にアタッチされているすべての Collider 2D が、他の Collider 2D との衝突が発生するかどうかを決定する際に加えるべき追加のレイヤーを選択します。詳細については、Rigidbody2D-includeLayers を参照してください。 |
| Exclude Layers | この Rigidbody 2D にアタッチされているすべての Collider 2D が、他の Collider 2D との衝突が発生するかどうかを決定する際に除くべき追加のレイヤーを選択します。詳細については、Rigidbody2D-excludeLayers を参照してください。 |
Full Kinematic Contacts を有効にすると、Kinematic Rigidbody 2D をあらゆる Rigidbody 2D ボディタイプと衝突させることができます。これは Dynamic Rigidbody 2D の動作に似ていますが、Kinematic Rigidbody 2D は別の Rigidbody 2D と接触しても物理演算システムによって移動されません。代わりに、質量が無限の不動オブジェクトのように動作します。
このプロパティを無効にすると、Kinematic Rigidbody 2D は Dynamic Rigidbody 2D のみと衝突し、他のボディタイプとは衝突しません。ノート:トリガーコライダーはこのルールの例外です。つまり、衝突スクリプトコールバック (OnCollisionEnter、OnCollisionStay、OnCollisionExit) は発生しません。
上記のようなことは、物理クエリ (Physics.Raycast など) を使用して、どこに、どのように Rigidbody 2D を移動するかを検証する場合、および複数の Kinematic Rigidbody 2D をそれぞれ相互作用させる必要がある場合に不便です。Use Full Kinematic Contacts を有効にすると、Kinematic Rigidbody 2D コンポーネントがこのように相互作用します。
ノート: Use Full Kinematic Contacts では、Kinematic Rigidbody 2D の位置と回転を明示的にコントロールできますが、完全衝突コールバックも使用できます。すべての Rigidbody 2D を明示的にコントロールする必要がある設定では、Dynamic Rigidbody 2D の代わりに Kinematic Rigidbody 2D を使用して、衝突コールバックが完全にサポートされるようにします。