【Unity入門】他のオブジェクトを取得する方法

スクリプトで他のオブジェクトを取得することができます。

やり方は、publicをつけたGameObject型の変数を作って、取得したいオブジェクトをUnityエディタから指定するだけです。

実際にやってみる

準備

それでは、実際にオブジェクトに力を加えてみましょう。

まずは、以前作成した、『Unity Basics』というプロジェクトを開いてください。

『Unity Basics』を開いたら、他のオブジェクトを取得するシーンを作りましょう。

Scenesフォルダの中に作成します。

ProjectウィンドウでScenesフォルダを選択しましょう。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので、

『Scene』をクリックしましょう。

すると、Scenesフォルダの中に

新しくSceneが作成されます。

Sceneの名前を『OtherObject』に変更しておきましょう。

今回は『OtherObject』の中でやっていきたいので、Sceneを移動します。

『OtherObject』をダブルクリックしましょう。

すると、Sceceを移動することができます。

Hierarchyウィンドウを見ると、現在のSceneが『OtherObject』に変わっていますね。

次に他のオブジェクトを取得するスクリプトを作りましょう。

Scriptsフォルダを選択してください。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので『C# Scripts』を選択します。

すると、新しくスクリプトが作成されます。

名前が確定してしまう前に『OtherObject』と変更しましょう。

名前を変更したら、スクリプトを編集していきましょう。

OtherObjectをダブルクリックしてください。

すると、VIsual Studioが起動して、OtherObjectを編集できるようになります。

他のオブジェクトを取得してみる

それでは、他のオブジェクトを取得していきましょう。

今回は他のオブジェクトを取得して、その名前をコンソールに出力してみようと思います。

まずは、先ほど作ったスクリプトを適当なオブジェクトに追加します。

今回はDirectional Lightに追加しましょう。

スクリプトOtherObjectをDirectional Lightにドラッグ&ドロップしましょう。

すると、Directional LightにOtherObjectが追加されます。

それでは、他のオブジェクト、今回であればMain Cameraを取得して、その名前をコンソールに出力してみましょう。

Start関数の上に

public GameObject mainCamera;

と記述しましょう。

コードについて説明していきます。

このコードはGameObject型の

mainCamera

という変数を作るという内容です。

publicがついているので、

Unityエディタで値を格納することができます。

実際に値を格納してみましょう。

スクリプトを保存して、Unityエディタに戻りましょう。

Unityエディタに戻ったらDirectional Lightを選択しましょう。

Directional LightについているOtherObjectを見てみると、

Main Cameraという項目ができているのがわかります。

ここに指定したオブジェクトがスクリプトに記述したmainCameraという変数に格納されます。

それでは、オブジェクトMain Cameraを指定しましょう。

オブジェクトMain CameraをMain Cameraという項目にドラッグ&ドロップしてください。

すると、mainCameraという変数にMain Cameraというオブジェクトが格納されます。

これで、オブジェクトMain Cameraを取得することができました。

スタート時にMain Cameraの名前がコンソールに表示されるようにしてみましょう。

Debug.Log(mainCamera.name);

と記述しましょう。

コードについて説明しておきます。

このコードは、mainCameraの名前を

コンソールに出力する

といった内容です。

mainCameraは

GameObject型の変数で

UnityエディタからMain Cameraオブジェクトを格納しました。

この状態で実行すると、ゲームスタート時にコンソールに『Main Camera』と出力されるはずです。

実際にそうなるのか実行して確かめてみましょう。

スクリプトを保存してUnityエディタに戻りましょう。

Unityエディタに戻ったら再生ボタンを押しましょう。

すると、予想通りコンソールには『Main Camera』と出力されますね。

このようにして、スクリプトで他のオブジェクトを取得します。