はじめてのUnity 【第4回 Unityのゲームシーン構築① ゲームオブジェクトとコンポーネント】
はじめてのUnity 【第4回 Unityのゲームシーン構築① ゲームオブジェクトとコンポーネント】
前回はUnityの基本操作について説明しました。
今回は実際にゲームシーンを構築していくために必要な知識、ゲームオブジェクトとコンポーネントについてです。
[Unity_317×90]
ゲームシーン構築① ゲームオブジェクトとコンポーネント
ゲームオブジェクト(GameObjects) とは?
ゲームオブジェクトは、ゲーム中のオブジェクトという意味であり、Unityにおけるもっとも重要な要素です。
ゲームオブジェクトの使い方を理解することがそのままツールの使い方を学ぶことといえます。
オブジェクトとは、物、対象物という意味で、ゲーム中のすべてのオブジェクトはゲームオブジェクトとなります。
ゲームオブジェクトは、ゲームシーン内に好きなように配置することはできますが、それ自体には動いたり、光ったりする機能はありません。
ゲームオブジェクトはそこにあるだけであり、いわばコンテナ(容れ物) のようなものです。
では、どのようにしてただのコンテナであるゲームオブジェクトを動かしたり、特殊効果として働かせるのでしょうか?
ここで必要となるのがコンポーネントです。
コンポーネント(Components) とは?
コンポーネント(Components) は、ゲームシーン内における、オブジェクトの動作の基礎にあたります。
ただのゲームオブジェクトが空のコンテナだとすると、コンポーネントは部品です。
動く、消える、光る、鳴るなどの様々な部品を、コンテナに入れていくことで、自分が作りたい思い通りの動きをするゲームオブジェクトを作り上げることができます。
ゲームオブジェクトとコンポーネントの関係
次に、最も重要な移動(Transform) のコンポーネントを例にして、ゲームオブジェクトとコンポーネントの関係を見ていきます。
Unityのシーンを開き、MACなら Shift + Command + N 、Windowsなら Shift + Control + N を押します。
新しい空のゲームオブジェクトが作成されるので、それを選択してインスペクタを見てみましょう。
インスペクタには、そのオブジェクトが持っているコンポーネントの情報が表示されます。
空のゲームオブジェクトであっても、名前とタグ(Tag)とレイヤ(Layer)と移動(Transform)のコンポーネントは初めから持っています。
移動のコンポーネントはシーン内に配置したすべてのゲームオブジェクトが持っています。
これは、シーンの中でオブジェクトの位置を決定しているコンポーネントなため、外すことができないからです。
次に、シーンを作成するとデフォルトで追加されるメインカメラのゲームオブジェクトを見てみましょう。
メインカメラゲームオブジェクトは、空のゲームオブジェクトよりも色々なコンポーネントを持っています。
当然、移動のコンポーネントは持っていますが、加えて以下のコンポーネントも持っています。
カメラ(Camera)コンポーネント ゲーム画面での視点の位置になります。
GUIレイヤ(GUILayer) 2D GUI のレンダリングのON / OFF
フレアレイヤ(Flare Layer) カメラのレンズ内で屈折する光の効果シミュレートのON / OFF
オーディオリスナ(Audio Listener) マイク機能の ON / OFF
これらのコンポーネントはメインカメラのオブジェクトが初めから持っているものですが、このようにコンポーネントを持つことで、ゲームオブジェクトに効果や機能を持たせることができます。
コンポーネントの追加
試しに先ほど作成した空のゲームオブジェクトにコンポーネントを追加してみましょう。
コンポーネントは、コンポーネントメニューから、選択しているゲームオブジェクトに追加することができます。
もしくはゲームオブジェクトを選択して、インスペクタから Add Component を選択します。
ここではリジッドボディ(Rigidbody) というコンポーネントを追加してみたいと思いますので、
空のゲームオブジェクトを選択しながらComponent > Physics > Rigidbody をメニューから選びます。
追加されたリジッドボディの属性がインスペクタに表示されます。
この状態でゲームの再生ボタンを押してみましょう。
インスペクタのTransform > Position Y を見てください。値がどんどんマイナスになっていくのが見て取れると思います。
このリジッドボディは、オブジェクトに重力エンジンを作用させるコンポーネントです。
適用させたゲームオブジェクトは物理特性に従った制御のもとに動作するようになります。
このように、コンポーネントを追加していくことで、様々な効果が組み合わさったゲームオブジェクトを作成することができます。
まとめ
今回はゲームシーン作成において重要なゲームオブジェクトとコンポーネントの関係について紹介しました。
コンポーネントの種類はここでは紹介しきれないくらい様々なものがありますので、ぜひ色々と試してみてください。
次回も引き続きゲームシーンの構築について紹介していきます。
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
ゲーム制作関連のオススメ連載リンク
とっても手軽なゲーム制作体験!
Unityゲーム開発基礎
実際のリリースゲームを題材にしたハンズオンゲーム制作連載
実践unityゲーム開発