各クラスを設定する方法
C++で記述する場合
AMyGameModeBase::AMyGameModeBase()
{
GameStateClass = AMyGameState::StaticClass();
PlayerControllerClass = AMyPlayerGameState::StaticClass();
DefaultPawnClass = AMyDefaultPawn::StaticClass();
}
この記述で設定が行える。
GameModeの設定はプロジェクト設定から行おう。
BPで行う場合
BPの編集ウィンドウを開き青枠内を編集すれば良い。
GameModeやGameStateはBPだとわかりやすい面が多々あるので、C++を元にBPを作成して調整することをお勧めする。
GameModeBaseの役割
ゲームの設計の知識が浅いため、間違った知識を公開している可能性が高いです。指摘事項あればいただきたく存じます。
- ゲームのルール、勝利条件等を設定する。
- ポーズを要求された場合、一時停止の処理内容を設定する。
- プレイヤー数やスペクテイター数の設定
- レベル間の遷移やゲーム全体のシーケンス遷移、制御。
- ワールド内にどのような要素があるのか。
これらの内容はサーバー上にのみ存在し、通常はプレイ中に変更されるデータはあまりあってはならず、クライアントが知る必要のある一時的なデータは絶対にあってはいけません。
※UnrealEngine 4.27 Documentationを参照し、一部抜粋しております。