Menu
CoddyTech

RequireComponent

CoddyのUnityジャーニー「Unityスクリプティングの基礎」セクションの一部。レッスン 33/67。

[RequireComponent(typeof(Rigidbody))]をスクリプトのクラスの上に記述すると、そのスクリプトが同じオブジェクト上のRigidbodyなしでは動作できないことをUnityに伝えます。

[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
    Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }
}

スクリプトをInspectorまたはAddComponentからオブジェクトに追加すると、Unityはこの属性に従って動作します。オブジェクトにRigidbodyがなければ、Unityが追加します。Jumperがオブジェクトに付いている間、InspectorからそのRigidbodyを削除することはできません。そのため、ここでのGetComponentは必ずRigidbodyを見つけられ、Jumperでチェックする必要はありません。

この属性は遡って適用されません。この行を書く前からJumperが付いていたオブジェクトには、スクリプトを一度削除して再び追加するまでRigidbodyは追加されません。1つの属性で最大3つの型を指定できます。たとえば[RequireComponent(typeof(Rigidbody), typeof(BoxCollider))]のように指定でき、1つのクラスに複数の属性を付けることもできます。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Unityスクリプティングの基礎のすべてのレッスン