Unityメモ #3 ゲームオブジェクトのつくり方

はじめに

さて一番基本的なオブジェクトであるゲームオブジェクトを今回作ります。
何度も書いているようにゲームオブジェクト自体は何も機能がないので画面に何も表示されません。
ヒエラルキーウインドウに表示されたのを確認するだけです。

見た目に変化があるものは次回以降で。地味ですいません。

ゲームオブジェクトを作る方法

1.Unityエディタ上で静的に配置(ぽとぺた)でつくる
2.コードで作る
3.プレハブから作る

「3」は今回説明しません。プレハブ自体の概念に関係しますのでこれはあとで。

1.Unityエディタ上でゲームオブジェクトを作る

まずヒエラルキーウインドウで「何も選択せず」右クリックでメニューを出して「CreateEmpty」を選択します。

そうすると素のゲームオブジェクトがヒエラルキー上に出来上がりました。

インスペクタウインドウを見るとTransformだけ存在しているというのがわかります。

座標系やスケールなどの情報しかないということ、これは必須であるというのがわかりますね。

ゲームオブジェクト(正確には必須コンポーネントのTransform)は親子関係を保持すると前回書きました。

この作成したゲームオブジェクトの下にゲームオブジェクトを作ってみましょう。
ぶらさげたいゲームオブジェクトを選択して先ほどと同じように「Create Empty」を選択します。

親子関係ができましたね。

静的なものはこのように作っていきます。

2.コードからゲームオブジェクトを作る

これは簡単で、

new GameObject();

これだけです。簡単なことは簡単なのですが・・・

コンストラクタが通った瞬間にヒエラルキー上に現れます。他のフレームワークではツリー上の親を指定するなどが必要なものがほとんどだと思いますが、Unityはインスタンス作っただけで登録されます。最初はまさかこんな挙動になるとはだれも思いませんので気を付けましょう。

この場合シーンのルートに置かれることになります。

親子関係を指定したい場合はtransformにあるSetParent()メソッドを使います。

GameObject parent = new GameObject("親");

GameObject child = new GameObject("子");
child.transform.SetParent(parent.transform);//親を指定

実行結果

はい、親子関係が出来上がりました。引数にstringをいれるとその名前が設定されたゲームオブジェクトが生成されます。


このコードを書く場所ですが、これはコンポーネントの作成とアタッチに関係してくるので、次回コンポーネントのつくり方で説明します。