はじめてのUnity 【第4回 Unityのゲームシーン構築① ゲームオブジェクトとコンポーネント】


はじめてのUnity 【第4回 Unityのゲームシーン構築① ゲームオブジェクトとコンポーネント】

ゲームシーン構築① ゲームオブジェクトとコンポーネント

前回はUnityの基本操作について説明しました。
今回からは実際にゲームシーンを構築していくために必要な知識として、ゲームオブジェクトとコンポーネントについてみていきます。

ゲームオブジェクト(GameObjects) とは?

ゲームオブジェクトは、ゲーム中のオブジェクトという意味であり、Unityにおけるもっとも重要な要素です。
ゲームオブジェクトの使い方を理解することがそのままツールの使い方を学ぶことといえます。

オブジェクトとは、物、対象物という意味で、ゲーム中のすべてのオブジェクトはゲームオブジェクトとなります。
ゲームオブジェクトは、ゲームシーン内に好きなように配置することはできますが、それ自体には動いたり、光ったりする機能はありません。
ゲームオブジェクトはそこにあるだけであり、いわばコンテナ(容れ物) のようなものです。

では、どのようにしてただのコンテナであるゲームオブジェクトを動かしたり、特殊効果として働かせるのでしょうか?

ここで必要となるのがコンポーネント(Components)です。

コンポーネント(Components) とは?

コンポーネント(Components) は、ゲームシーン内における、オブジェクトの動作の基礎にあたります。

ただのゲームオブジェクトが空のコンテナだとすると、コンポーネントは部品です。
動く、消える、光る、鳴るなどの様々な部品を、コンテナに入れていくことで、
自分が作りたい思い通りの動きをするゲームオブジェクトを作り上げることができます。


ゲームオブジェクトとコンポーネントの関係

次に、最も重要な移動(Transform) のコンポーネントを例にして、ゲームオブジェクトとコンポーネントの関係を見ていきます。
Unityのシーンを開き、MACなら Shift + Command + NWindowsなら Shift + Control + N を押します。
新しい空のゲームオブジェクトが作成されるので、それを選択してインスペクタを見てみましょう。

WS000011
空のゲームオブジェクトのインスペクタ

インスペクタには、そのオブジェクトが持っているコンポーネントの情報が表示されます。
空のゲームオブジェクトであっても、名前タグ(Tag)レイヤ(Layer)移動(Transform)のコンポーネントは初めから持っています。

移動のコンポーネントはシーン内に配置したすべてのゲームオブジェクトが持っています。
これは、シーンの中でオブジェクトの位置を決定しているコンポーネントなため、外すことができないからです。

次に、シーンを作成するとデフォルトで追加されるメインカメラのゲームオブジェクトを見てみましょう。

WS000012
メインカメラのゲームオブジェクトのインスペクタ

メインカメラゲームオブジェクトは、空のゲームオブジェクトよりも色々なコンポーネントを持っています。
当然、移動のコンポーネントは持っていますが、加えて以下のコンポーネントも持っています。

カメラ(Camera)コンポーネント         ゲーム画面での視点の位置になります。
GUIレイヤ(GUILayer)                2D GUI のレンダリングのON / OFF
フレアレイヤ(Flare Layer)              カメラのレンズ内で屈折する光の効果シミュレートのON / OFF
オーディオリスナ(Audio Listener)      マイク機能の ON / OFF

これらのコンポーネントはメインカメラのオブジェクトが初めから持っているものですが、このようにコンポーネントを持つことで、ゲームオブジェクトに効果や機能を持たせることができます。

コンポーネントの追加

試しに先ほど作成した空のゲームオブジェクトにコンポーネントを追加してみましょう。

コンポーネントは、コンポーネントメニューから、選択しているゲームオブジェクトに追加することができます。
もしくはゲームオブジェクトを選択して、インスペクタから Add Component を選択します。

ここではリジッドボディ(Rigidbody) というコンポーネントを追加してみたいと思いますので、
空のゲームオブジェクトを選択しながらComponent > Physics > Rigidbody をメニューから選びます。

WS000014
追加するコンポーネントの選択

追加されたリジッドボディの属性がインスペクタに表示されます。

WS000015
リジッドボディが追加されたインスペクタ

この状態でゲームの再生ボタンを押してみましょう。
インスペクタのTransform > Position Y を見てください。値がどんどんマイナスになっていくのが見て取れると思います。

このリジッドボディは、オブジェクトに重力エンジンを作用させるコンポーネントです。
適用させたゲームオブジェクトは物理特性に従った制御のもとに動作するようになります。

このように、コンポーネントを追加していくことで、様々な効果が組み合わさったゲームオブジェクトを作成することができます。


まとめ

今回はゲームシーン作成において重要なゲームオブジェクトとコンポーネントの関係について紹介しました。
コンポーネントの種類はここでは紹介しきれないくらい様々なものがありますので、ぜひ色々と試してみてください。
次回も引き続きゲームシーンの構築について紹介していきます。


最後までお読みいただきありがとうございます。
← Unityの記事一覧にもどる

  • このエントリーをはてなブックマークに追加

PAGE TOP