Unreal Engine のゲームプレイ フレームワークは、プロジェクトの構成要素として機能する複数のクラスとコンポーネントを提供します。
-
アクタは、レベル内に配置またはスポーン可能なオブジェクトの基本クラスです。アクタには、アクタの動きやレンダリング方法を制御するために使用できる、アクタ コンポーネントのコレクションが含まれていることがあります。アクタは、再生中にネットワーク全体でのプロパティと関数呼び出しのレプリケーションをサポートします。
-
カメラは、プレイヤーがワールドをどのように見ているかなど、プレイヤーの視点を表します。PlayerController はカメラ クラスを指定し、プレイヤーがワールドを見る位置と方向を計算するために使用されるカメラ アクタをインスタンス化します。
-
ポーン クラスは、プレイヤーまたは AI によって制御可能なすべてのアクタの基本クラスです。ポーンは、ワールド内における、プレイヤーまたは AI エンティティの物理的な実体です。Character (キャラクター) は、歩き回る能力を持つ特別なタイプのポーンです。デフォルトでは、コントローラーとポーンの間には 1 対 1 の関係があります。つまり、各コントローラーは常に 1 つのポーンのみを制御します。
-
コントローラーは、アクションを制御するためにキャラクターのようなポーンまたはポーン派生クラスを所有できる非物理的なアクタです。プレイヤー コントローラーは人間のプレイヤーによるポーンの制御に使用され、AI コントローラーは制御するポーンに人工知能を実装します。コントローラーは、Possess 関数を使用してポーンの制御を取得し、UnPossess 関数を使用してポーンの制御を放棄します。
-
ゲームプレイ タイマーは、遅延後または一定期間にわたって実行されるイベントをトリガーする特定の関数ポインターへの非同期コールバックを作成します。
-
ゲーム フレームワークのベースは GameMode です。AGameModeBase アクタは、レベルがゲームプレイ用に初期化されるときにインスタンス化されます。GameMode はゲームのルールを設定します。これはサーバー上でのみインスタンス化され、クライアント上には存在しません。
-
Game Features と Modular Gameplay のプラグインをプロジェクトで利用すると、デベロッパーはスタンドアローン機能を作成できます。これらのプラグインを使用すると、プロジェクトのコードベースをクリーンで読みやすい状態に保ち、無関係な機能間の偶発的な相互作用や依存関係を回避できます。
-
ユーザー インターフェース (UI) とヘッドアップ ディスプレイ (HUD) は、ゲームに関する情報をプレイヤーに提供します。場合によっては、プレイヤーがゲームとやり取りする手段となります。
フレームワーク クラスの関係
以下のフローチャートは、これらのコア ゲームプレイ クラスが互いにどのように関係しているかを示しています。ゲームは、GameMode と GameState によって構成されます。ゲームに参加する人間のプレイヤーは、PlayerController と関連付けられます。 これらの PlayerController を使用すると、プレイヤーはゲーム内でポーンを所有し、レベル内で物理的な表現を行うことができます。PlayerController は、プレイヤーに入力コントロール、ヘッドアップ ディスプレイ (HUD)、カメラ ビューの処理を行う PlayerCameraManager も提供します。
