🎡
【UnrealEngine5】SubSystemってなに?
はじめに
UnrealEngineでゲーム作るぞー!
じゃあ、まずゲームプレイのフレームワークどうしようか。え?SubSystemってのがよく使われてるって?
さ..す....ぶ?... なにそれ?使ったことない
↑という経緯でSubSystemについて勉強するメモ書きです。
SubSystemって?
Unreal Engine (UE) のサブシステムは、管理されたライフタイムを持つ自動的にインスタンス化されたクラスです。
公式によると、↑とのこと。
要するに「エンジンが決めたタイミングで勝手に生成・管理してくれるシングルトンのクラス」ってことかな?
SubSystemのライフサイクル
UnrealEngineに用意されているSubSystemは複数あり、それぞれ特定のタイミングで処理される。
以下のようなライフサイクル。
| 親クラス名 | 寿命 |
|---|---|
| UEngineSubsystem | エンジン起動 ~ 終了 |
| UEditorSubsystem | エディタ起動 ~ 終了 |
| UGameInstanceSubsystem | ゲーム起動 ~ 終了 |
| UWorldSubsystem | レベルロード ~ アンロード |
| ULocalPlayerSubsystem | プレイヤー生成 ~ 削除 |
上記のようなタイミングで呼び出したいクラスを自作して、このSubSystemクラスたちを継承すればいいってことです。
実装サンプル
参考文献
Discussion