10
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RequireComponentとは&有用性

Last updated at Posted at 2018-07-07

#RequireComponentとは?
Unityのスクリプトリファレンスによると...

RequireComponent属性は、必要なコンポーネントを依存関係として自動的に加えます。

RequireComponentを使ったスクリプトをゲームオブジェクトにアタッチすると、必要なコンポーネントが自動的にそのゲームオブジェクトに加えられるようになります。
これはセットアップエラーを回避するのに役に立ちます。
例えば、あるスクリプトではRigidbodyが同じゲームオブジェクトに常に加えられる必要があるとします。
RequireComponentを使用することでこれを自動的に実行し、セットアップで間違えることがなくなります。RequireComponentは、コンポーネントがゲームオブジェクトに加えられる時点で、欠落している依存関係のみを検知します。ゲームオブジェクトに新しい依存関係が欠落していても、そのコンポーネントのすでに存在しているインスタンスにそれらの欠落した依存関係が自動的に加えられるわけではありません。

まあ、簡単にまとめると...

アタッチするGameObjectに対して**必要不可欠な属性(RigidbodyやAnimator, Scriptなど)**をスクリプトに書き込んでくことによってアタッチのし忘れを防止するおまじないみたいな感じです.

#RequireComponentの有用性
では, どういうときにRequireComponentを使うのかというと例えば...

ExampleScript.cs
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Animator))] //AnimatorをアタッチしたGameObjectにComponentとして加える
[RequireComponent(typeof(Rigidbody))] //RigidbodyをアタッチしたGamaObjectにComponentとして加える
[RequireComponent(typeof(MovingScript))] //MovingScript.csをアタッチしたGameObjectとして加える

なので、使える場面として
・たくさんのGameObjectにアタッチする予定のあるスクリプトの時に使える
・Componentに入れ忘れやすい人
・エラー回避

ぜひぜひ使ってみてください〜

10
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?