【Unity基礎】GameObjectとは?Unityの「もの」の基本

ゆかり
ゆかり

Unityの画面は少しわかってきたんですけど……。
Sceneビューに何かを置いて作業するって、具体的には何を置けばいいんですか?

リンカ先生
リンカ先生

Unityでは、Sceneに置いて作業する「もの」の基本単位を GameObject と呼ぶよ。
床も、壁も、ライトも、アバターも、Unity上ではGameObjectなんだ。

前回の記事では、Unityの基本画面について見てきました。

Projectは「素材置き場」。
Sceneは「作業場」。
Hierarchyは「Sceneに置かれているものの一覧」。
Inspectorは「選んだものの設定を見る場所」。

でしたね。では、Sceneに置かれている「もの」とは何でしょうか。

Unityでは、Sceneに置かれるものの多くを「GameObject」として扱います。

UnityのSceneにあるGameObjectの例

この記事では、VRChatのワールド制作やアバター改変で必ず出てくる GameObjectについて、初心者向けに整理していきます。

この記事を読むとできるようになること
  • GameObjectとは何かがわかる
  • GameObjectを作ることができる
  • Scene・Hierarchy・Inspectorの関係がわかる
  • GameObjectとComponentの関係がわかる

GameObjectとは

GameObjectは、Unityで扱う「もの」の基本単位です。

たとえば、VRChatワールド制作では、次のようなものがGameObjectとして扱われます。

  • ドア
  • ライト
  • 音を鳴らす場所
  • VRCWorld

アバター改変でも、次のようなものがGameObjectとして扱われます。

  • アバター本体
  • 帽子
  • メガネ
  • 表情やアニメーションに関係するオブジェクト

Unityでは、Sceneの中にある「もの」をGameObjectとして、選んだり、移動したり、設定を変えたりします。

最初は、

UnityでSceneに置かれているものは、だいたいGameObjectとして扱われる

くらいに考えれば大丈夫です。

GameObjectを作ってみよう

SceneにCubeを追加する

GameObjectは、実際にUnity上で作ることができます。まずは、見た目がわかりやすい Cube をScene上に作ってみましょう。

Unity上部のメニューから、

GameObject > 3D Object > Cube

を選びます。

すると、Sceneビューに白い立方体が表示されます。これが、いま作成したGameObjectです。

GameObjectの作成

HierarchyにもCubeが追加される

Hierarchyを見ると、ここにもCubeという名前の項目が追加されていることがわかります。
Sceneは「作業場」、Hierarchyは「作業場に置かれているものの一覧」でしたね。いま、SceneにCubeが置かれたので、Hierarchyの一覧にもCubeが追加されたというわけです。

Hierarchyへの追加

Sceneビューでは、GameObjectを見た目で確認できます。
Hierarchyでは、GameObjectを名前の一覧から確認できます。

同じGameObjectを、Sceneビューでは「見た目」で探し、Hierarchyでは「名前」で探す、と考えるとわかりやすいと思います。

InspectorでCubeを確認してみよう

HierarchyまたはSceneでCubeを選択した状態で、Inspectorを見てみましょう。

Inspectorには、Cubeの設定が表示されます。

GameObjectのInspector

たとえば、Cubeには次のようなComponentが付いています。

  • Transform
  • Mesh Filter
  • Mesh Renderer
  • Box Collider

いまは細かい意味を全部覚えなくて大丈夫です。

ここではまず、

GameObjectを選ぶと、InspectorにそのGameObjectの設定が表示される

ということを覚えましょう。

ゆかり
ゆかり

Sceneビューで見えているCubeと、HierarchyのCubeと、Inspectorに出ている設定は、全部同じものを見ているんですね💡

リンカ先生
リンカ先生

その通り!Scene・Hierarchy・Inspectorは、同じGameObjectを別の角度から見ているんだ。

Cubeの名前を変えてみよう

作ったばかりのCubeは、名前がCubeになっています。

このままでも使えますが、オブジェクトが増えてくると、どのCubeが何なのかわかりにくくなるので、名前を変更してみましょう。

HierarchyでCubeを右クリックして「Rename」をクリックすると、名前を変更できるようになります。たとえば、今回は練習用なので「TestBox」としておきます。

GameObjectの名前変更
ゆかり
ゆかり

名前を変えただけでも、少し管理しやすくなりました✨

リンカ先生
リンカ先生

Unityでは、GameObjectにわかりやすい名前を付けることも大事な作業だよ

GameObjectにはいろいろな部品をつけられる

GameObjectは、いろいろな部品を付けることで、見た目や機能を持たせることができます。

たとえば、

  • 音を鳴らす
  • 当たり判定を持つ
  • 光る
  • アニメーションする
  • VRChatで持つことができる

といったことは、GameObjectにさまざまな設定や機能を付けることで実現します。

この「機能を追加する部品」のことを、Unityでは Component と呼びます。

GameObjectとComponentの関係

Componentについては、後の記事で詳しく説明します。
この記事ではまず、

GameObjectはUnityで扱う「もの」の基本単位。
Componentを付けることで機能を持つ。

と理解しておけば大丈夫です。

ワールド制作でのGameObject

VRChatワールド制作では、GameObjectを配置して空間を作っていきます。

たとえば、旅館の部屋なら、

  • 床のGameObjectを置く
  • 壁のGameObjectを置く
  • 障子や襖のGameObjectを置く
  • 提灯のGameObjectを置く
  • ライトのGameObjectを置く
  • 音を鳴らすGameObjectを置く

というように、さまざまなGameObjectを組み合わせて空間を作ります。

GameObjectを配置する。
位置や向きを調整する。
見た目や機能を設定する。

この繰り返しで、ワールドは少しずつ形になっていきます。

よくある疑問

GameObjectと3Dモデルは同じ?

GameObjectと3Dモデルは、同じものではありません。

3Dモデル は、立方体、机、ドア、アバターの体などの「形」を表すデータです。
一方で GameObject は、UnityのScene上に置かれている「作業対象」です。

たとえば、3DモデルのファイルがProjectに入っているだけでは、まだScene上には存在していません。
その3DモデルをSceneに置くと、UnityはそれをScene上で扱えるGameObjectとして配置します。

つまり、

  • 3Dモデル:形のデータ
  • GameObject:Scene上に置かれた作業対象

と考えるとわかりやすいかもしれません。

GameObjectと3Dモデルとの関係

GameObjectは必ず見える?

たとえば、音を鳴らすためだけのGameObjectや、管理用のGameObjectなどは、Sceneビューで形として見えない場合があります。

ただし、Sceneに存在していればHierarchyには表示されます。

最初は、Cubeのように見えるGameObjectから理解していけば大丈夫です。

見えないGameObject

GameObjectを消すとどうなる?

HierarchyにあるGameObjectを削除すると、SceneからそのGameObjectが消えます。
ただし、Projectにある元の素材やPrefabまで消えるとは限りません。

ProjectとHierarchy、Sceneの関係については、後の記事で詳しく説明します。

まとめ

今回は、次のことがわかれば大丈夫です。

  • GameObjectはUnityで扱う「もの」の基本単位
  • Sceneに置かれているGameObjectはHierarchyに表示される
  • GameObjectを選ぶとInspectorに設定が表示される
  • Componentを付けることで、見た目や機能を持てる
  • GameObjectには見た目があるものと、見た目がないものがある
  • ワールド制作でもアバター改変でもGameObjectを扱う

細かいComponentやTransformの仕組みは、まだ完璧に理解しなくても大丈夫です。

まずは、

Unityで作業するということは、GameObjectを配置して調整していくこと

と覚えましょう。

ゆかり
ゆかり

Unityで作業するって、GameObjectを置いて、そこにいろんな設定や機能を付けていくことなんですね

リンカ先生
リンカ先生

その通り。GameObjectがわかると、Unityの作業がかなり見えやすくなるよ

次回は、Sceneビューの基本操作を見ていきます。
GameObjectを選択したり、近づいたり、移動・回転・拡大縮小したりする基本操作を覚えていきましょう。

コメント

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