基本的なゲームプレイ クラスにはプレイヤー、味方、敵を表す機能に加えて、プレイヤー入力もしくは AI ロジックでこれらのアバターを制御する機能が含まれます。プレイヤー用のヘッドアップ ディスプレイや カメラを作成するクラスもあります。最後に、 GameMode、GameState、および PlayerState などのゲームプレイ クラスは、ゲーム ルールを設定し、ゲームとプレイヤーの進行状況をトラックします。
これらのクラスはすべて、必要に応じてレベル内に配置したりスポーンすることが可能なアクタのタイプを作成します。
ワールドでプレイヤー、友達、敵を表現する

Pawn | ポーン はワールドで「エージェント」となりうるアクタです。ポーンはコントローラで所有することが可能で、入力の受け取りを簡単に設定でき、他のプレイヤーのような様々なことが行えます。ポーンは人間の形を前提としていないことにご注意ください。 |
Character | Character は人間の形をしたポーンです。コリジョン用の CapsuleComponent と CharacterMovementComponent がデフォルトで付いています。人間の基本動作が可能で、ネットワーク全体でスムーズに動きをレプリケートでき、アニメーション関連機能も付いています。 |
プレイヤー入力や AI ロジックでポーンを制御する

Controller | Controller はポーンに指示を出す役目のアクタです。通常、 AIController と PlayerController の 2 タイプがあります。コントローラはポーンを「所有」して制御することができます。 |
PlayerController | PlayerController は、ポーンと、それをコントロールする人プレーヤーとの間のインターフェースです。PlayerController は、基本的に人プレイヤーの意思を表します。 |
AIController | AIController は、ポーンを制御することができるシミュレートされた「意思」のようなものです。 |
プレイヤーに情報を表示する

HUD | HUD はヘッドアップ ディスプレイです。多くのゲームで一般的な 2D オンスクリーン ディスプレイです。Health 、 ammo 、 gun reticle 等と思ってください。各 PlayerController には、これらのいずれかが通常あります。 |
Camera | PlayerCameraManager はプレイヤーの「眼球」で、挙動を管理します。各 PlayerController は、通常これらのいずれかを持ちます。詳細は、 camera workflow ページをご覧ください。 |
ゲームのルールを設定しトラックする

GameMode | 「ゲーム」のコンセプトは 2 つのクラスに分割されます。Game Mode と Game State は、ゲーム ルールや勝敗条件など含めたゲームの定義です。サーバー上にのみ存在します。通常はプレイ中に変更されるデータがあまりあってはならず、クライアントが知る必要のある一時的なデータは絶対にあってはいけません。 |
GameState | GameState はゲームのステートを含みます。接続されたプレイヤーのリスト、スコア、チェス ゲームの駒の位置、オープンなワールドゲームで完了したミッションのリストなどが含まれます。GameState はサーバーとすべてのクライアント上に存在し、自由にレプリケートして全てのマシンを最新の状態に保つことができます。 |
PlayerState | PlayerState は、人プレーヤーやプレイヤーをシミュレートしているボットなどの、ゲームの参加者のステートです。ゲームの一部として存在する非プレイヤーの AI は PlayerState を持ちません。PlayerState として適切なデータの例には、プレイヤー名、スコア、MOBA などの場合のインマッチ レベル、CTF ゲームでプレイヤーが今フラグを持っているかどうか、などがあります。すべてのマシン上ですべてのプレイヤーに対して PlayerStates が存在し (PlayerControllers とは異なります) 、自由にレプリケートして同期することができます。 |
Framework クラスの関係
このフローチャートは、中核となるこれらのゲームプレイ クラスの関係性を表したものです。ゲームは GameMode と GameState で構成されています。ゲームに参加している人プレイヤーは PlayerControllers と関連付いています。 これらの PlayerControllers により、プレイヤーはゲームでポーンを所有することができ、レベルで物理的な実体を持つことが可能になります。PlayerControllers はまた、入力制御、ヘッドアップ ディスプレイ (HDD) 、 カメラ ビューに対応する PlayerCameraManager もプレイヤーに提供します。

Gameplay Framework クラスの詳細は、 ゲームプレイ フレームワーク を参照してください。