MonoBehaviour
UnityではMonoBehaiviour呼ばれるクラスが存在しています。
これはUnity上でコンポーネントとして扱う際に必ず継承する必要があるクラスです。
※コンポーネントとはMonoBehaiviourを継承して実装された様々な機能を指します
このMonoBehaiviourを継承することでUnityのInspector上で機能の追加や設定などを行うことができるようになります。
Unity上で管理されている機能は基本的に全てMonoBehaiviourを継承しています。
なので3Dや2Dといったものからエフェクトやサウンドまで様々なオブジェクトがMonoBehaiviourを継承してコンポーネントとされています。
※自作の場合はMonoBehaiviourを継承しない手段もあります。
試しにHierarchyで[3D] -> [Cube]を作成してます。
そして生成されたCubeを選択してみるとInspector上に下記のようなコンポーネントが並びます。
- Mesh Filter
- Mesh Renderer
- Box Collider
これらが3Dのオブジェクトを生成するだけで使用されています。
Unityではこのように様々なコンポーネントを組み合わせることでゲームとして動作させています。
コンポーネントの作成
MonoBehaiviourを継承したコンポーネントは自分でも作成することができます。
コンポーネントを作成することでゲーム内に様々な機能を追加していくことができます。
では早速コンポーネントを作成していきましょう。
先ずはHierarchy上にコンポーネントを追加するためのオブジェクトを作成します。
右クリックして[Create Empty]を押すことでコンポーネントのないオブジェクトを作成できます。
GameObjectが作成されたことが分かるかと思います。
次にGameObjectをクリックしてInspectorに設定を表示させます。
するとCubeと違ってTransformしか表示されないのが分かるかと思います。
ではここに自作コンポーネントを追加していきましょう!
最初にInspector上にある[Add Component]のボタンを押します。
次に表示されるコンポーネント一覧の下部にある[New Script]を選択します。
最後に作成するコンポーネントの名前を入力して[Create and Add]をクリックします。
すると先ほどのInspector上に指定して名前のコンポーネントが追加されます。
今回は名前をデフォルトのNew Behaiviour Scriptにしたのでその名前が表示されています。
同時にProject上のAssetsにもNewBehaviourScript.csが追加されています。
ではProject上からNewBehaviourScript.csをダブルクリックしてみましょう。
Visual Studioが起動して作成したスクリプトが表示されました。
これでコンポーネントを実装していく準備が整いました。