Unreal Engine 4での基本的なアーキテクチャー(簡単に言えば設計理念)ですが、これを知っているだけで理解は大幅にしやすくなると思います。今回は物凄く簡単にそのアーキテクチャーの解説をしてみます。
本当の詳しい解説は本家のドキュメントにありますので、もっと濃い内容がほしい!という人はこれ以上ここは読まずに下のページに飛びましょう。
Unreal Engine | Unreal Architecture
オブジェクトとアクター
UE4ではワールド上に配置できる物体をアクターと呼びます。アクターはそのまま訳すと俳優ですね。まさしく舞台で動く俳優というわけです。更にアクターはオブジェクトでもあります。オブジェクトは全てのクラスの基本クラスです。
なぜオブジェクトとアクターが別々なのか、わかりやすく説明すると…
俳優さんはアクターですが、その俳優さんが着ていてる衣服やアクセサリーはオブジェクトという特殊なパーツになるという考え方です。
アクターにはコンポーネントという機能を追加し、より個別の機能を足していくということです。これが特殊なオブジェクトとして実現されるというもの。
わかりにくいかもしれませんが俳優さんの例でなんとなく理解してください。
ゲームプレイフレームワーク
更にゲーム全体を通してゲームプレイフレームワークというものがあります。これは読んで字の如くのことなのであまり説明することはありませんね。
ここではそのフレームワークにどういうものがあるか説明していきましょう。
■ ポーン
英語で書くと"Pawn"です。ポーンはワールドの中に出現できるアクターです。もちろん出現するだけなく、コントロールして動きを制御できる最も単純なアクターと言えるでしょう。
■ キャラクター
これ以上にないほどわかりやすい名前ですが、キャラクターはポーンの機能に合わせて人型であるという前提があります。人間のような動きをつけるための基本的な機能が備わっており、アニメーション機能が充実しています。
■ コントローラー
コントローラーはポーンを実際に動かして制御する責任をもつアクターです。基本的に動きがついてコントロールされるという前提のものです。
■ プレイヤーコントローラー
更に操作しているプレイヤーが存在しているコントローラーがプレイヤーコントローラーです。これは入力操作する第三者が存在している前提のものです。
■ AIコントローラー
AI、つまり人工知能を持つ自立行動を行うコントローラーです。プレイヤーコントローラーと違うのは入力操作がなくとも動く前提のものになっています。
■ HUD(ヘッドアップディスプレイ)
いわゆる2D要素でゲーム画面に映っているパラメーター表示等に使われるアレです。UIとも言いますが、2Dゲームのそれとはちょっと違います。UE4には"Canvas"と"Slate"という2種類のHUD作成用フレームワークがあります。
■ カメラ
説明するまでもありませんが、カメラです。プレイヤーコントローラーは典型的にこのカメラを1つ持つようになっています。またカメラコンポーネントとカメラアクターという2種類の基本カメラがあります。
■ ゲームモード
ゲームの基本ルールや設定等を決めるものです。デフォルトで出現するポーンやHUD、プレイヤーコントローラーや後述のゲームステートやプレイヤーステートを決めることができます。
■ ゲームステート
ゲームの状態を持つことができるものです。このステートの中にスコアをもたせたり、進行中のミッションやクエストの情報を保存しておいたりするものです。グローバル変数的なものに近いですね。
■ プレイヤーステート
これはプレイヤーごとの状態を持つことができるものです。もう説明はほとんどいりませんね。プレイヤーごとに状態を持ちたいという場合はこのプレイヤーステートに情報を保存しておきます。
フレームワークの相互関係
※画像はUnrealArchitectureのページから引用
以上のようにゲームプレイフレームワークの相互関係があって、それぞれに役割があります。これがアンリアルの基本アーキテクチャーですね。ひとまずこういうものと覚えておけば理解がしやすいのではないでしょうか。