【初心者Unity】ゲームオブジェクトとは
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
ゲームオブジェクトとは
これはUnityでゲームを作る上で、もっとも基本となる仕組みです。
ゲームには様々な要素が存在します。
キャラクターやステージ、樹や水といった背景や光源、ゲーム画面を映す視点(カメラ)など、いくつもの要素が互いに影響し合うことで視覚性、操作性が生まれます。
Unityで、これらの要素を表現する仕組みの根幹をなすのがゲームオブジェクトです。
ゲームオブジェクトは、機能を追加するための入れ物として扱われます。
追加される機能はコンポーネントと呼ばれます。
(参考)コンポーネントとは
要するに、ゲームオブジェクト(入れ物)に様々なコンポーネント(部品)を追加していくことで、ゲームシーンに登場する様々な要素を作成できます。
とはいえ、毎回空っぽのゲームオブジェクトに部品を追加するところから作成するのでは大変なので、メジャーな機能をあらかじめ組み合わせたゲームオブジェクトも複数用意されています。
基本はこのようなプリミティブなゲームオブジェクトを使いつつ、状況に応じて機能(コンポーネント)を付け外しすることで、作りたいゲームに適したゲームオブジェクトを作成します。
ゲームオブジェクトの生成
ゲームオブジェクトの作成方法は、複数用意されています。
1.ヒエラルキービューから作成
とても使用頻度の高い方法です。
ヒエラルキービュー左上の「+」マークをクリックして、
メニューが表示されるので作成したいゲームオブジェクトを選択します。
選択したゲームオブジェクトはヒエラルキービューの一覧表示に追加され、同時にシーンビューにも表示されます。
ちなみに、ヒエラルキービューのオープンスペースで右クリックをしても、以下のようなメニューが表示されるので、こちらからでもゲームオブジェクトが作成できます。
個人的には最も使用頻度の高い方法です。
2.画面上部メニューから作成
Unityエディタ画面上部のGameObjectメニューからも、ヒエラルキービューのメニューと同様の操作が行えます。
3.スクリプトから作成
詳細は別の記事に譲りますが、以下のような関数が用意されています。
・Instantiate
スクリプトから、指定したゲームオブジェクトをシーンにクローン(複製)する方法です。
(参考)
Instantiateを具体例付きで解説
Instantiateでオブジェクトをクローンする方法(応用編)
・CreatePrimitive
スクリプトから基本的なゲームオブジェクト(Cubeなどあらかじめ用意されているもの)を生成する方法です。
(参考)
Primitiveなゲームオブジェクトをスクリプトから生成する方法
ゲームオブジェクトの削除
作成方法同様、ゲームオブジェクトの削除方法も複数用意されています。
1.ヒエラルキービューから削除する方法
対象のゲームオブジェクトを右クリックすることでメニューが表示されるので、Deleteを選択します。
2.シーンビューから削除
シーンビューでゲームオブジェクトを選択し、キーボードのdeleteキーを押すことでも削除が可能です。
3.スクリプトから削除
詳細は別の記事に譲りますが、以下のような関数が用意されています。
・Object.Destroy
指定したゲームオブジェクトをシーンから削除できます。
(参考)
Destroyを具体例付きで解説
おまけ
Create Emptyによって作成されるEmptyオブジェクトは、コンポーネントが何も追加されてない状態のゲームオブジェクトです。
これにコンポーネントを追加していくことで、あらゆるオブジェクトを作成することができます。
例えばプリミティブなゲームオブジェクトも、ゼロから作ることができます。
⇒EmptyオブジェクトをもとにSphereオブジェクトを作成
試してみるとゲームオブジェクトとコンポーネントの理解が深まると思います。