Version: 2022.3
言語: 日本語
ボディタイプ: Kinematic (キネマティック)
Rigidbody 2D プロパティ: Simulated

Body Type: Static (静的)

Static Rigidbody 2D (2D 静的リジッドボディ) はシミュレーションの下では全く動かないようにデザインされています。何かがそれに衝突したら、Static Rigidbody 2D は動くことのないオブジェクトのような (まるで限りなく重いもののような) 挙動をします。また、これは、もっともリソースに負担のかからない Body Type (ボディタイプ) です。Static (静的な) ボディは Dynamic Rigidbody 2D (2D 動的リジッドボディ) とのみ衝突します。 ノート: Static Rigidbody 2D どおしの衝突は、動くようにデザインされていないためサポートされていません。

それらの限られた挙動のため、この Body Type では、かなり限られたプロパティだけが使用可能です。

利用可能な Rigidbody 2D プロパティ

プロパティ 機能
Body Type この Rigidbody 2D のコンポーネント設定の移動動作と Collider 2D の相互作用を設定するために選択します。
Dynamic この Rigidbody 2D を Dynamic (動的) ボディタイプに設定する場合に選択します。これは、シミュレーション下で動くように設計されており、すべての Rigidbody 2D プロパティが利用可能です。 これは、Rigidbody 2D のデフォルトのボディタイプです。
* Kinematic この Rigidbody 2D を Kinematic (キネマティック) ボディタイプに設定します。これは、極めて明示的なユーザー制御下でのみシミュレーション下で動くように設計されています。詳細は ボディタイプ: Kinematic (キネマティック) を参照してください。
Static この Rigidbody 2D を Static (静的) ボディタイプに設定する場合に選択します。これは、シミュレーション下でまったく動かないように設計されており、無限の重力がある動かない物体のような挙動を持ちます。
Material この Rigidbody 2D にアタッチされているすべての Collider 2D に共通の 物理マテリアル を設定します。 ノート: Collider 2D が 1 組になっている場合は、Collider 2D は自身のマテリアルプロパティを使用します。 ここ、または Collider 2D でマテリアルが指定されていない場合、デフォルトのオプションは None (Physics Material 2D) です。 これは、Physics 2D ウィンドウで設定できるデフォルトのマテリアルを使用します。

ヒント: これを使用すると、同じ Static ボディ タイプの Rigidbody 2D にアタッチされたすべての Collider 2D がすべて同じマテリアルを使用できるようになります。
Simulated Simulated を有効にすると、ランタイムに、Rigidbody 2D とそれにアタッチされたすべての Collider 2D と Joint 2D を物理的シミュレーションと相互作用させます。無効にすると、これらのコンポーネントはシミュレーションと相互作用しません。 詳しくは後述の Rigidbody 2D プロパティ: Simulated を参照してください。このボックスはデフォルトで有効になっています。
Layer Overrides レイヤーのオーバーライド設定を展開します。
Include Layers (他の Collider2D との衝突が発生するかどうかの決定に際して) この Rigidbody2D にアタッチされている全ての Collider2D が含むべき追加的レイヤーを選択します。詳しくは Rigidbody2D.includeLayers を参照してください。
Exclude Layers この Rigidbody2D にアタッチされているすべての Collider2D が、他の Collider2D との衝突が発生するかどうかを決定する際に除くべきレイヤーを選択します。詳しくは Rigidbody2D.excludeLayers を参照してください。

大量の Static Collider 2D の作成

Rigidbody 2D を Static ボディ タイプに設定する以外に、Static Rigidbody 2D を作成する別の方法があります。 これは、Collider 2D コンポーネントを持つゲームオブジェクトに Rigidbody 2D コンポーネントがまったくない場合です。Rigidbody 2D コンポーネントのないすべての Collider 2D は、内部的には単一の非表示の Static Rigidbody 2D コンポーネントにアタッチされていると見なされます。

つまり、個々のゲームオブジェクトに Rigidbody 2D コンポーネントを追加する必要がないので、多数の Static Collider 2D を作成することができます。どちらの方法で Static Collider 2D を作成しても、状況によって利点があります。

個々の Static Collider 2D をランタイムに移動または再構成する必要がある場合は、Rigidbody 2D コンポーネントを追加して Static ボディタイプに設定します。これは、独自の Rigidbody 2D がある場合に Collider 2D をシミュレートする方が短時間でできます。Collider 2D のグループをランタイムに移動または再構成する必要がある場合、各ゲームオブジェクトを個別に移動するよりも、それらをすべて 1 つの非表示の親 Rigidbody 2D の子にする方が短時間でできます。

ノート: 上にのべたように、Static Rigidbody 2D は動かないようにデザインされ、交差する 2 つの Static Rigidbody 2D オブジェクト間の衝突は記録されません。ただし、Static Rigidbody 2D と Kinematic Rigidbody 2D の場合は、それらに付帯する Collider 2D の 1 つのがトリガーに設定されている場合は、互いに相互作用します。また、Kinematic ボディが相互作用するものを変える機能もあります。詳しくは後述の Use Full Kinematic Contacts を参照してください。

ボディタイプ: Kinematic (キネマティック)
Rigidbody 2D プロパティ: Simulated