37.主に使用するブループリントクラスを簡単に紹介
では、ブループリントクラスにはどんな種類があるのでしょうか?今回は主に使用するブループリントクラスの種類をざっくり解説していきます。それぞれの使い方については後のページで紹介します。
主に使用するブループリントクラスを紹介
https://scrapbox.io/files/65c2a2b91330b500231e996c.jpg
最初に覚えておきたいブループリントクラス(親クラス)ですが主に7種類、重要なものを紹介します。
table:親クラス
親クラス 使用用途と解説
Actor アイテムやコインなどレベル上のアクタを実装するためのブループリントクラス
Pawn 操作するプレイヤー(車やボール,駒など)を実装するためのブループリントクラス
Character 操作する人型のプレイヤーを実装するためのブループリントクラス
PlayerController プレイヤーの操作を管理する用のブループリントクラス
GameModeBase ゲームのルールを管理する用のブループリントクラス
GameInstance レベルを跨いで永続的に存在するブループリントクラス
SaveGame データをセーブ,ロードを実装するためのブループリントクラス
①Actor(アイテムやコインなど)
https://scrapbox.io/files/65c2a309e56d0f00272816cd.jpg
Actorは例えばアイテムやコインやギミック(例えば開く扉)など、最初から自由に構成できるものを対象に実装する際に使用するブループリントクラスです。Actorは最初コンポーネントは何もついていないので、そこにStaticmedshコンポーネントなど様々なコンポーネントを追加して1からアクタを構成していきます。
②Pawn(プレイヤーなど)
https://scrapbox.io/files/65c2a38cc57b870023cdd6e0.jpg
Pawnはプレイヤーとなるアクタを実装する時に使用します。例えばプレイヤーが操作する車などを実装したい時などにこのPawnを使用したりします。
③Character(人型のプレイヤーなど)
https://scrapbox.io/files/65c2a3bb4589980024f0a275.jpg
Characterは主に人型のプレイヤーを作る場合に使用します。例えばマリオとかFPSゲームの操作キャラクターとかそういったプレイヤーとなるキャラを実装する時にCharacterを使用します。
CharacterのコンポーネントはデフォルトでCapsuleComponentやCharacterMovementといったキャラクター実装に必要となるコンポーネントが付いています。プレイヤーとなるキャラクター制作に適しているブループリントクラスになっています。
https://scrapbox.io/files/65c2a4231330b500231e9c89.jpg
なおCharacterはPawnの子クラスになっており、Pawnと同じでプレイヤーとして使用できるブループリントクラスになっています。違いとしてはCharacterは「人型の歩行可能なプレイヤー」に適しています。一方Pawnは「車とかボール」など人以外のプレイヤーに適している形になっています。
④PlayerController(プレイヤーの操作管理やマウスなどの設定)
https://scrapbox.io/files/65c2a47606dbbd0024cc2643.jpg
PlayerControllerはプレイヤーの操作管理を行うブループリントクラスです。例えばマウスの表示設定を保持していたり、プレイヤーを操作するブループリントとして使用します。下で紹介するゲームモード(GameModeBase)にセットする事でゲーム内で使用できます。
⑤GameModeBase(ゲームのルール)
https://scrapbox.io/files/65c2a4e060b2ae00236b168f.jpg
GameModeBaseは簡単に言うとゲームのルールを決めるための特殊なブループリントクラスになります。GameModeBaseは一般的にゲームモードと呼ばれます。ワールドセッティングやプロジェクト設定にセットして言わばゲームのルールとして役割を担います↓
https://scrapbox.io/files/65c2a4ec9ded0c00247a551a.jpg
GameModeBaseは上画像の様に6つの設定項目があり、例えばDefualtPawnClassにはゲームで使用するキャラクターなどをセットしたりします。またゲームモード自体にスコアやタイマーなどのノードを作る場合が多いです。
⑥GameInstance(永続的に存在)
https://scrapbox.io/files/65c2a534d2fed10025d331a9.jpg
GameInstanceはレベルを跨いで永続的に存在し続けるブループリントクラスになります。なので変数をGameInstanceのブループリントクラスで作るとレベルを跨いで保持する事ができます。例えばコインを10枚獲得したとして、次のステージ(レベル)にそのコイン枚数の変数を引き継ぎたいとします。通常のブループリントクラスはレベルを切り替えると変数はリセットされますが、GameInstanceを使用するとレベルを跨いで変数のデータとなるコイン枚数を保持する事ができます。
⑦SaveGame(データをセーブ,ロード)
https://scrapbox.io/files/65c2a5af75facf0025331223.jpg
ゲームのデータをセーブする際に使用するのがSaveGameというブループリントクラスになります。例えばコイン枚数を保存したり、ゲームの進行状況、スコア、ゲームで獲得したアイテムとかそういったデータをセーブして、次プレイ開始した時にデータをロードする事ができます。
🐱ちなみにですが、セーブにはPC自体(ローカル)に保存する方法とクラウド(サーバー)に保存する2パターンがあります。後者は難しいですし簡単に実装出来るものではないので、最初は前者のSaveGameを使用してローカルにゲームデータを保存していくという事になります。
その他のクラス
🌟その他のクラス
AI Controller : 主にプレイヤー以外のAIキャラに使用する
キャラBPのクラスのデフォルトのPawnのAI Controller Classで登録する。
Game Instance : レベルが変更されても情報を保持してくれるBP
使用するにはマップ&モードの一番下のGameInstanceから作成したものを選択しておく
SaveGame : ゲームを落としても情報が保持されるBP
GameStateBase:ゲームのグローバルステートを管理するクラス。GameModeBaseに登録する必要がある
PlayerState:プレイヤー名、ハイスコア、デス数を保存したりする。GameModeBaseに登録する必要がある
HUD:HUDを管理する。GameModeBaseに登録する必要がある