Unity:コンポーネントって何?(GetComponent)

Unityを始めたばっかりの癖に小生意気にもGetComponentなんて使って、ちょっと時間が経ったらすぐに忘れるコンポーネントって何だったっけ?って話。

Componentって?

これです。

これは「インスペクター」ですが、この中にある1つ1つの要素のこと(TransformとかSphereとか)のことを示します。

コンポーネントは増やせる

いっちばん下の「コンポーネントを追加」で色んなコンポ―ネントを増やすことが可能です。中には結構な頻度で利用する「rigidbody」くんもあります。
そしてプログラムを書くことによってより繊細な動作なども付加させることが出来るので、タイトルにもある通りGetComponentというものを利用したりするのです。

GetComponentって?

本来はこうらしいですよ。

this.GetComponent<コンポーネント名>( );

これが省略されてこのような形に。

GetComponent<コンポーネント名>( );

つまり何が言いたいかと言うと、GetComponentって、このGetComponentを使って書いているプログラムが適用されている(アタッチされている)オブジェクトのコンポーネントを取って来ますよってことなんですね。
なので何でもかんでも持って来るわけではない、ということです。

GetComponent<Rigidbody>();の場合、このプログラムがアタッチされたオブジェクトのRigidbodyコンポーネントをゲットしてきますよ!ってことですな!

使い方

GetComponent<コンポーネント名>();

当然ながらこのコンポーネント名の所には、正式な名称を書くようにしましょう。

変数に入れられる

ゲットして来たコンポーネントを変数に格納することが可能なんです。これまた不思議ですよねぇ。
変数の型としては、その格納するものに合わせる必要があります

変数名 = GetComponent<コンポーネント名>();

例えば変数に格納したいコンポーネントがRigidbodyだったとしたら、変数の型はRigidbodyに。

Rigidbody 変数名;

※色々と学んだらまた追記します。

タイトルとURLをコピーしました