【Unityで学ぶC#プログラミング⑮】GetComponent関数

プログラミング初心者向けのUnityで学ぶC#講座。

初心者にもわかりやすく、なるべく専門的な用語をなくして簡単に説明します。

今回は「GetComponent関数」についてです。

この記事を読み終えると以下のことが分かるようになります。

GetComponent関数とは

GetComponent関数の使い方

GetComponentInChildren関数の使い方

今回は初学者の人には少し難しいかもしれませんが、GetComponent関数はUntiyでゲーム開発する上で非常に重要です。

少しずつで良いので覚えていきましょう。

それではさっそく解説していきます。

GetComponentとは

GetComponentの前に、まずComponentについて説明しましょう。

Unityの要素すべてはcomponentという単位で作られています。

いままで紹介してきたCollider、Rigidbodyやスクリプトもすべてcomponentです。

このcomponentをゲームオブジェクトにアタッチして、さまざまなものができています。

例えばPlayerというゲームオブジェクトに3Dのモデリング、当たり判定のColliderや動かすためのRigidbodyのcomponentをアタッチするといった感じです。

このさまざまなcomponentをスクリプトからアクセスし、実行するのがGetComponentになります。

つまり、GetComponentを利用すると、下の画像のようなインスペクターの値をスクリプトから編集できるようになります。

GetComponent関数の使い方

説明を読んでいるだけではイメージし辛いので、実際にコードを書いて実行してみましょう。

まず3DオブジェクトCubeをシーンに追加して、Rigidbodyをアタッチします。

Rigidbody は下記のように設定しました。

このまま実行しても何もおきません。Cubeのオブジェクトは止まったままです。

下記のスクリプトを追加して、GetComponentでRgidbodyを取得しVelocityでオブジェクトを動かします。

実行して確認してみましょう。

オブジェクトが動くのが確認できました。

GetComponentInChildren関数

次に子のオブジェクトにアタッチされた Rigidbody を取得し動かしてみましょう。

まず、下記のオブジェクトを用意します。

親のオブジェクト「Parent」は空のゲームオブジェクト、その子供のオブジェクト「Cube」から Rigidbody を取得し動かします。

親オブジェクトに下記のスクリプトをアタッチします。

また子のオブジェクトが複数ある場合は、一番最初のオブジェクトがgetcomponentInChildrenで取得されます。

実行して確認してみましょう。

子のオブジェクトからRigidbodyが取得され、オブジェクトを動かすことができました。

今回の所は以上となります。今回は難しかったので、よく理解できなかった人もいるかも知れませんが、Unityでゲーム作成をしていくうちに次第に覚えていきます。あせらず少しずつ続けていきましょう。

最後まで読んでいただきありがとうございました。

おすすめ記事【現役Unityエンジニアが厳選】Unityを学ぶのにおすすめのプログラミングスクール3選

おすすめのUnityスクール

Unityが学べるおすすめのプログラミングスクールはTECH STUDIAMになります。

理由はゲーム開発に特化したプログラミングスクールであり、2ヶ月で9万円の授業料で他のプログラミングスクールに比べても安いからです。

興味のある方は、無料相談してみるのをオススメます。

ゲーム制作を学べるオンラインスクール TECH STUDIAM

Follow me!