【Unity 簡単解説】create emptyの使い方をマスターしよう

create emptyの使い方 メタバース

どうも、ナッツパパです(^^)
本記事では、Unityの【Create Empty】の使い方について解説していきます。

create emptyの場所説明画像

上画像のように【Create Empty】は、Unityメニューバーの左から4番目GameObjectのプルダウンメニューから選択できます。

ナッツパパ
ナッツパパ

結構便利な機能ですし簡単なので、ここでしっかり理解しておきましょう(^^)

 

Create Emptyとは?

【Create Empty】とは、その名の通り空のゲームオブジェクトを作る機能です。

ナッツパパ
ナッツパパ

【Create Empty】の使い方 =【空のゲームオブジェクトの使い方】です

実際に【Create Empty】をクリックして、空のゲームオブジェクトを作ったものが下の画像です。

空のゲームオブジェクトの画像

見ての通り、空のゲームオブジェクトは『transform』で設定した位置情報だけを持っています。
その他の『Mesh Rendere』や『Collider』の様なデータ情報(コンポーネント)は持っていません。
ですので、画面には描画されませんが、位置情報を持っているのでしれっと存在はしています

ナッツパパ
ナッツパパ

簡単に言うと、透明のゲームオブジェクトです

 

Create Empty(空のゲームオブジェクト)の使い方

結局のところ【空のゲームオブジェクト】をどの様に使うかが最も重要で、本記事の本題であります。
▼【空のゲームオブジェクト】の使い方は、主に以下の2つが挙げられます。

ゲームオブジェクトに、スクリプト(自作機能)だけを持たせる
Hierarchyウィンドウ内のゲームオブジェクトを整理する

それぞれ解説していきますね。

ゲームオブジェクトにスクリプトだけを持たせる

ゲーム開発をしていると、特に画面に描画しなくてもいいけど、スクリプト(自作機能)だけ紐づけたゲームオブジェクトが欲しくなる時があります。
そんな時に便利なのが、空のゲームオブジェクトですね。

例えば、上からボールが大量に降ってくるステージを作るとします。
この場合、ボールを大量に落とす機能を持ったゲームオブジェクトを上空に作る必要があります。
しかし、このオブジェクトは画面には見えない上空に存在するので、わざわざ描画する必要がないわけです。
こんな時に、【Create Empty】で空のゲームオブジェクトを生成します。

必要のない描画処理を省くことで、ゲーム処理を軽くすることが出来ます。
ナッツパパ
ナッツパパ

空のゲームオブジェクトをいつ使うかは、描画するかしないかで各々判断して下さい♪

 

Hierarchyウィンドウ内のゲームオブジェクトを整理する

空のゲームオブジェクトをフォルダとして使う

上画像の『Empty Object』が【Create Empty】で作った空のゲームオブジェクトですね。
空のゲームオブジェクトは、Hierarchyウィンドウ内でフォルダの様な働きをしてくれます
赤丸内の▼マークをクリックすることで、折りたたんですっきり整理整頓することもできます。

もっと具体的にいうと、空のゲームオブジェクトを親要素にして、他のゲームオブジェクト(Cube・Sphere・Capsule)を子要素にしています。

ナッツパパ
ナッツパパ

ドラッグ&ドロップで簡単に子要素にすることが出来ますよ!

ゲームオブジェクトを親子関係にすると、以下2点のメリットがあります。

①親要素の位置を変えることで、全ての子要素の位置を変えることが出来る
②親要素を非アクティブにすることで、子要素を一気に画面から消すことが出来る

子要素が描画される位置は、親要素の位置(Transfоrm内の数値)を基準にして決まります。
ですので、例えば、親要素(空のゲームオブジェクト)のtransform.pоsition.xの値を0から3に変えると、子要素(Cube・Sphere・Capsule)の位置もそれに伴って変化するということです。

▼下のbefore・afterの画像を見てイメージしてください。

unity ゲームオブジェクト子要素の位置 before

上の画像(Before)では、【空のゲームオブジェクト】をクリック選択した状態です。
【空のゲームオブジェクト】を親として、配下にCube・Sphere・Capsuleを入れています。
pоsitionプロパティは0となっています。
そしてpоsitionプロパティの値を3に変化させたAfter画像が以下です。

unity ゲームオブジェクトの子要素の位置 after

全ての子要素(Cube・Sphere・Capsule)もX軸方向に3だけ動いているのが分かります。
このように、一気にオブジェクトを移動させたい時などに非常に便利なテクニックとなります。

最後に

結局、空のゲームオブジェクトは、画面に描画されないというのが最大の特徴です。
【Create Empty】を使うか使わないかの基準として、ゲームオブジェクトを画面に描画するかどうかで各自判断することになりますね。
空のゲームオブジェクトは、後からコンポーネントを追加することも出来るので使い勝手は非常にいいと思います(^^)