Create Emptyって何者?

未分類

Create EmptyとはゲームオブジェクトのiPS細胞

Create Empty

位置情報だけを持つ、汎用性のあるゲームオブジェクトのことを空のオブジェクトと呼びます。
このゲームオブジェクトにMeshなどの情報を与えることで様々なオブジェクトに変身させることも出来ますが、一般的には、スクリプトの要素だけを持たせたり、様々なオブジェクトを子供に持たせることで親オブジェクトにするなどの要素として使われることが多いようです。

Meshの要素を持っていないため、姿は見えないけど特定の役割だけを持たせたいというような時に利用できるため、開発の際に多用されることが多いようです。空のオブジェクトと言われるのは、位置情報しか持ち合わせていないからです。

Create Emptyで作成されたGame Objectをクリックして、Inspectorを見ると、名前とTransformのみが追加された状態になっています。

コンポーネントの追加で何にでも変身

Add Compornentで、Mesh Filterを追加、Meshの要素がNoneになっているので、◎をクリックして、Cubeを選択、さらにAdd CompornentからMesh Rendererをクリックすると、ピンク色のCubeが出現します。

Mesh FilterのMeshからCubeを選択することでCube Objectに変身する

Assetで右クリックして、Materialを追加して、この空のゲームオブジェクトにドラッグすると、Cubeが出来上がります。もちろん、Create EmptyからわざわざCubeを作ることは無いと思いますが、『何にでも変身できる空のオブジェクト』と言われている理由がわかったと思います。

オブジェクトには目に見える形状を持つモノや、カメラライトなど主に表示のための機能を持つモノなど色々ありますが、追加されるコンポーネントによって、何にでも変化させることが出来ます。もちろん、Cubeなどのような形状を持つオブジェクトも、コンポーネントの追加や削除を行なうことで、どんなものにも変身します。

Materialを削除する方法

ちなみにMaterialコンポーネントは、Mesh Redererとセットになっているため、Mesh RedererをRemove Compornentで削除することで、Materialコンポーネントも一緒に消えます。開発中、見えていた方が便利が良い場合もあると思いますが(初心者なのでそんなことがあるのかは、わかりませんが)Cubeなどの形状のあるものを使いスクリプトなどを当てて動きを決定してから、最終的に他のオブジェクトに差し替えたり、スクリプト情報だけを持ち合わせるScriptオブジェクトに変更することも可能だということだと思います。
※開発していくうちに、便利な使い方などを発見したらまた投稿しますね。

僕は、Create Emptyは、どんなオブジェクトにも変身出来るオブジェクトのiPS細胞(人工多能性幹細胞)のようなモノだと理解することにします。ちなみにUnityの公式のマニュアルでは、「ゲームオブジェクトは空の料理鍋、コンポーネントはゲームのレシピに含まれる様々な材料と考えるとよいでしょう。」と解説しています。

公式マニュアルのページ


参照元:https://docs.unity3d.com/ja/2018.4/Manual/GameObjects.html

コメント

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