メインコンテンツまでスキップ

Object

ゲームやアプリケーションの空間上に存在するあらゆる「もの」を指す言葉

なに?

オブジェクト(Object: 物体)とは、ゲームやアプリケーションの空間上に存在するあらゆる「もの」を指す言葉のことです。たとえば3Dゲームアプリケーションであれば、以下に挙げるあらゆるものが「オブジェクト」です。

  • 主人公、車、敵、ピストルの弾などのゲーム本編に登場するプレイヤーの目に見えるもの
  • 体力バー、「決定」ボタンのようなUIの部品
  • 体力などのステータスを管理するためのプレイヤーの目には見えない「入れ物」

C#やJavaなどのオブジェクト指向型言語においては、最も基本となるクラスとして「Objectクラス」(クラスとは、「一連の手続きや設定情報」がまとめられた設計書のようなもの)があります。全てのクラスは、スーパークラス(自分の親となるようなクラス)としてこのObjectクラスを持ちます。たとえプログラマが意識して無くとも、暗黙的に「このクラスは親としてObjectを持たせるよ」という動作を行います。

また、UnityにおいてはC#標準のObjectクラスとは別にUnityエンジン用の「UnityEngine.Object」クラスが存在します。これはUnityエンジンにおけるあらゆるクラスの基底のクラスとなります。

ヒエラルキーウィンドウから操作可能なあらゆるものを表現した、皆さんの聞き馴染みのある「GameObject」クラスはUnityEngine.Objectクラスを継承した子クラスであり、コンポーネント指向を実現するために必要な機能が備わっています。このため、「ヒエラルキーウィンドウでは~」という文脈におけるオブジェクトとは、ほぼ大抵の場合は「GameObject」を指している、と考えてよいでしょう。