fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE5/UE4 C++でゲームインスタンス(GameInstance)を継承した独自のクラスを作る(UGameInstance、UGameplayStatics::GetGameInstance)

C++でゲームインスタンス(GameInstance)を継承した独自のクラスを作る方法です。

公式ドキュメントはこちら。

・UGameInstance
https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/UGameInstance/

C++で独自のゲームインスタンス(GameInstance)クラスを作成する場合は「UGameInstance」を継承します。
こんな感じですね。
#include "Engine/GameInstance.h"

// UGameInstanceを継承した独自のゲームインスタンス(GameInstance)クラスを作成
UCLASS()
class UNewGameInstance: public UGameInstance
{

GENERATED_BODY()
public:
// コンストラクタ
UNewGameInstance();
};

あとは基本的に「UGameInstance」に関するイベントを記述するだけなので難しいことはないのかなと思います。

この作成した独自のゲームインスタンス(GameInstance)クラスを取得するには
「UGameplayStatics::GetGameInstance」関数を使います。

「UGameplayStatics::GetGameInstance」関数は素の「UGameInstance」を取得する関数なので
独自のゲームインスタンス(GameInstance)クラスにキャストしてあげます。

TObjectPtr< UNewGameInstance> aNewGameInstance = Cast< UNewGameInstance>(UGameplayStatics::GetGameInstance(this));

こんな感じの記述になります。

ゲームを作る時には独自のクラスを作ることは結構必須だと思うので覚えておきたいですね。

| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/759-f202179c

TRACKBACK

PREV | PAGE-SELECT | NEXT