【UE5】スプラッシュスクリーンでランダムな画像を表示する

UE5 では Project Settings の各プラットフォームからスプラッシュスクリーン(起動画面)を変更できます。




画像を用意して指定するとこんな感じになります。
プロジェクトに関連する画像が出たりするとテンション上がりますよね!




今回は下記の画像をランダムに表示してみようと思います。
画像は3枚を用意しました。

  


まずは LoadingPhaseEarliestPossible のモジュールを作成します。
EarliestPossible を指定することで可能な限り早く読み込まれます。

{
	"Name": "CustomizeSplashScreen",
	"Type": "Runtime",
	"LoadingPhase": "EarliestPossible"
}



次に StartupModule 関数の中で FGenericPlatformSplash::SetCustomSplashImage でスプラッシュスクリーンを上書きします。

void FCustomizeSplashScreenModule::StartupModule()
{
	TArray<FString> imagePaths;
	imagePaths.Add(FPaths::ProjectDir() + "/Images/EdSplash01.bmp");
	imagePaths.Add(FPaths::ProjectDir() + "/Images/EdSplash02.bmp");
	imagePaths.Add(FPaths::ProjectDir() + "/Images/EdSplash03.bmp");
	
	const int32 i = FMath::RandRange(0, imagePaths.Num()-1);
	FGenericPlatformSplash::SetCustomSplashImage(*imagePaths[i]);
}



これでランダムに表示できるようになりました!
モジュールを追加するのが若干手間ですが、是非試してみて下さい。




UE Version : 5.0.3-20979098