14. Pawn Class
GameModeでDefaultPawnクラスプロ
パティに割り当てることができるクラ
スはいくつかあります:
• Pawn class
• Character class
• Vehicle class
PawnクラスはさまざまなPawnタイプ
を作成するためのジェネリッククラス
です。CharacterクラスとVehicleクラ
スは、ほとんどのゲームで見つかった
特定の共通のPawnを扱うように設定
されています。
Pawn
class
HUD
class
Player
Controller
class
Player
State
class
Game
State
class
Game Mode
class
GameInstance
class
http://api.unrealengine.com/JPN/Gameplay/Framework/Pawn/index.html
Pawn
16. Player Controller Class
コントローラクラスには、Player
ControllerとAI Controllerという2つの
基本的なタイプがあります。
ゲームのすべての人間のプレーヤーに
は、それらに割り当てられたPlayer
Controllerクラスのインスタンスがあ
ります。
Pawn
class
HUD
class
Player
Controller
class
Player
State
class
Game
State
class
Game Mode
class
GameInstance
class
17. Player State Class
Player Stateとは、プレイヤーをシミュ
レートしている人間のプレーヤーやボッ
トのような、ゲームの参加者の状態です。
ゲームの一部として存在するノンプレイ
ヤーAIには、プレイヤー状態はありませ
ん。
プレーヤー状態に適したデータの例には、
プレーヤーの名前、スコア、またはプ
レーヤーが現在CTFゲームでフラグを運
んでいるかどうかが含まれます。
すべてのプレイヤーのプレイヤー状態は、
(プレイヤーコントローラーとは異な
り)すべてのマシンに存在し、物事を同
期させるために自由に複製することがで
きます。
Pawn
class
HUD
class
Player
Controller
class
Player
State
class
Game
State
class
Game Mode
class
GameInstance
class
19. GameInstance Class
GameInstanceは、状態がレベルの切
り替えに耐えるクラスです。
Game ModeやPlayer Controllerのよう
なクラスは、レベルの読み込み/リ
セットの間に破棄され、それらのクラ
スに格納されたデータは削除されます。
レベル間で保持したいデータ(プレー
ヤーの健康状態や弾薬、全体的なスコ
アなど)は、GameInstanceに配置す
る必要があります。
Pawn
class
HUD
class
Player
Controller
class
Player
State
class
Game
State
class
Game Mode
class
GameInstance
class
20. Class 生成タイミング 役割
アプリケーションが起動した時、アプ
リケーション終了まで維持する
永続変数を保持する
2つのレベルで値を保持する必要があり、SaveGameに保存
する必要がない
レベルが読み込まれた時生成される ルールを記述する(サーバだけがアクセスできる)
ゲームの開始、停止
GameModeによって生成される ゲーム内の全プレイヤーが知る必要がある情報
(タイマー,スコア,勝利チーム)
GameModeによって生成される Characterのアクション(HUD, カメラ, マウス, キーボード,
ゲームパッドの入力)
GameModeによって生成される Controllerの入力に応答したアクション+個人情報と状態を
保持します(全プレイヤーが知ることが出来る情報)
(体力、弾数(武器交換がある場合は弾数は武器が持つ))
GameModeによって生成される HUDを表示する
PlayerControllerが生成された時に生成さ
れる
Pawnが保持しない個人だけが知っていればいい情報
(最高得点、現在のキルストリーク、プレイヤー名.)
各Classの役割
(マルチプレイヤーの時には、細心の注意を払う)
Pawn
Player Controller
Game State
Game Mode
GameInstance
Player State
HUD
https://forums.unrealengine.com/development-discussion/blueprint-visual-scripting/119603-what-should-i-do-in-GameMode-gamestate-and-playerstate
What should I do in GameMode, GameState, and PlayerState?