Blog

[UE4] スクリーンショットの撮影方法

執筆: T.H.

はじめに

UE4 のスクリーンショット撮影には色々な方法があります。今回はその中からいくつかの方法とその違いをご紹介いたします。

UE4 エディタ上のスクリーンショット撮影方法

ショートカットキー『F9』を使用する

・準備

準備は不要で、挙動は異なりますが、再生中かどうかに関わらずスクリーンショットを撮る事が出来ます。

・スクリーンショット出力先

プロジェクトフォルダ内の『\Saved\Screenshots\Windows』に出力されます。(Windows の場合)

・スクリーンショットに含まれるもの

再生中の場合はエディタ全体

(ビューポート右上の UI という白文字はウィジェットで表示しています)

再生中ではない場合はビューポート

※右上にある UI の文字は BeginPlay 時に追加しているため表示されておりません。

ブループリントで ExecuteConsoleCommand の shot を使用する

・準備

(例)レベルブループリントで特定のキーが押下された時に ExecuteConsoleCommand の Command shot が呼ばれるようにする。

・スクリーンショット出力

プロジェクトフォルダ内の『\Saved\Screenshots\Windows』に出力されます。(Windows の場合)

・スクリーンショットに含まれるもの

プレイ中のレベル (UI 無し)

C++ で FScreenshotRequest の RequestScreenshot を使用する

・準備

(例)まずC++ で MyBlueprintFunctionLibrary に下記関数を追加する。

UFUNCTION(BlueprintCallable, Category = "MyBlueprintFunctionLibrary")
static void ScreenshotWithFilename(FString  file_name, bool is_show_UI);
void UMyBlueprintFunctionLibrary::ScreenshotWithFilename(FString  file_name, bool is_show_UI)
{
FString save_location = FPaths::ConvertRelativePathToFull(FPaths::ProjectDir());
FString file_path = save_location + FString(TEXT("/Saved/Screenshots/")) + file_name + FString(TEXT(".png"));
FScreenshotRequest screenshot_request = FScreenshotRequest();
screenshot_request.RequestScreenshot(file_path, is_show_UI, false);
}

次にレベルブループリントで特定のキーが押下された時にExecuteConsoleCommand の Command shot が呼ばれるようにする。

(FileName は出力ファイル名ですので、任意の名前にして下さい)

・スクリーンショット出力先

ScreenshotWithFilename 関数で指定したフォルダ (今回は『\Saved\Screenshots』) に出力されます。

・スクリーンショットに含まれるもの

IsShowUI を true にするとエディタ全体

IsShowUI を false にするとプレイ中のレベル (UI 無し)

パッケージ化後のスクリーンショット撮影方法

※プロジェクト設定→パッケージング→Project→BuildConfiguration が Shipping の場合は『①ショートカットキー『F9』を使用する』と『②ブループリントで ExecuteConsoleCommand の shot を使用する』は使用出来ません。

(Development 等の場合は使用可能です)

①ショートカットキー『F9』を使用する

UI 有り

②ブループリントで ExecuteConsoleCommand の shot を使用する

UI 無し

③C++ で FScreenshotRequest の RequestScreenshot を使用する

IsShowUI を true にすると UI 有り

IsShowUI を false にすると UI 無し

まとめ

スクリーンショットは色々な方法で撮影出来ますが、Shipping でパッケージ化後には使えない、UI が含まれない、エディタ全体が撮影される等違いがあります。用途に応じた撮影方法をご検討ください。

関連リンク