Unity入門:コンポーネントをプログラムで追加

Unityにおいてコンポーネントをプログラムで追加する方法です。

 

Unityでコンポーネントは非常に便利なものです。

しかしながら時にこれが原因でエラーが起こることがよくあります。

 

よくあるのは複数のコンポーネントを使用しているGameObjectにおいて、

うっかり必要なものを付け忘れ、それがないためにエラーが起こることです。

 

これはコンポーネントが多くなれば多くなるほど付け忘れは多くなります。

 

その対策として必要なコンポーネントをスクリプト内でつけてあげることです。

これならば自分でわざわざつけることがないので付け忘れがなくなります。

 

コンポーネントをスクリプト側でアタッチするには、RequireComponentを使用します。

 

具体的な使い方は、

 

[RequireComponent (typeof (Rigidbody))]

public class PlayerScript : MonoBehaviour {
       void Update() {
            rigidbody.AddForce(Vector3.up);
       }
}

 

といった具合です。
上のコードの[RequireComponent (typeof (アタッチしたいコンポーネント))]

でコンポーネントをスクリプト上からアタッチすることができます。

 

コードでつけてあげているためEditor上でrigidbodyをつけてあげなくても、

下のようにrigidbodyのメソッドを使用することができます。簡単ですね。

 

またこの方法のもう1つの利点としては複数の人物で1つのゲームを作成するときに非常に有効です。

複数の場合コンポーネントの付け忘れは発見が非常に困難です。

 

ですのでこの方法で1番上にコードを書いてあげれば、他のメンバーに

そのコンポーネントが必要なことを明示してあげることができるためです。

 

以上のようにコンポーネントは簡単にスクリプトからアタッチすることができるので、

またミスも少なくなるのでどんどん活用していきたいですね。

 

以上、Unityにおいてコンポーネントをプログラムで追加する方法でした。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です