この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:T
更新日時:2025-02-28 21:29:53

タイトル: カメラに映った画面をスクリーンショットとして保存する方法
SEOタイトル: UE5でカメラに映った画面をスクリーンショットとして保存する方法

Unreal Engine 5(UE5)では、カメラの映像をスクリーンショットとして保存する方法がいくつかあります。本記事では、ブループリントを使用して簡単にスクリーンショットを取得し、保存する方法を詳しく解説します。

1. UE5でスクリーンショットを取得する方法

UE5では、スクリーンショットを取得する方法として以下の方法があります。

  • コンソールコマンドまたはブループリントを使用する方法
  • Render Targetを活用する方法

それぞれの方法について詳しく見ていきましょう。

2. コンソールコマンドまたはブループリントを使用する方法

UE5では、コンソールコマンドを使用することで、簡単にスクリーンショットを撮ることができます。また、ブループリントを使えば、特定のタイミングでスクリーンショットを撮影することも可能です。

例えば、以下のコマンドを実行すると、スクリーンショットを撮影できます。

HighResShot 1920x1080

このコマンドをブループリントで実行する場合は、「Execute Console Command」ノードを使用し、Command入力に HighResShot 1920x1080 を設定すれば、同じ結果を得ることができます。

3. Render Targetを使用したスクリーンショット保存

高品質なスクリーンショットを取得する方法として、Render Targetを使用する方法があります。

この方法では、Scene Capture 2Dを使用し、Render Targetに描画された映像をテクスチャとして取得し、それを画像ファイルとして保存します。

4. スクリーンショットのファイル名を取得する方法

UE5でスクリーンショットを保存する際に、ファイル名を取得する方法は使用するスクリーンショットの取得手段によって異なります。

4.1 コンソールコマンド (`HighResShot`) の場合

`HighResShot 1920x1080` を実行すると、スクリーンショットは `Saved/Screenshots/{プラットフォーム名}/` に保存されます。

ただし、この方法では **ファイル名が自動生成** され、直接取得することはできません。スクリーンショットの命名規則は以下のようになります:

`HighresScreenshot00000.png`

`HighresScreenshot00001.png`

番号は連番で増えていきます。

4.2 ブループリントでスクリーンショットを保存

ブループリントを使用すると、スクリーンショットの保存時にファイル名を指定できます。

例として、`HighResShot 1920x1080 filename=MyScreenshot` をコンソールコマンドで実行すれば、`Saved/Screenshots/{Platform}/MyScreenshot.png` に保存されます。

4.3 C++ でスクリーンショットのファイル名を取得

C++では `FScreenshotRequest::CreateViewportScreenShotFilename()` を使うことで、スクリーンショットの保存予定パスを取得できます。

以下のコードを使うことで、保存されるファイル名を事前に確認できます:

FString ScreenshotPath = FScreenshotRequest::CreateViewportScreenShotFilename(); UE_LOG(LogTemp, Log, TEXT("Screenshot will be saved as: %s"), *ScreenshotPath);

4.4 ファイル名取得方法の比較

方法 ファイル名の取得可否 メリット デメリット
コンソール (`HighResShot`) ❌ 直接取得不可 すぐに撮影できる 自動生成されるため不明
ブループリント (`HighResShot filename=`) ✅ 取得可能 任意の名前を指定できる コマンド入力が必要
C++ (`FScreenshotRequest`) ✅ 取得可能 事前に保存パスがわかる C++の知識が必要

「ファイル名を指定して保存」できる方法を選べば、確実に取得できます!

5. まとめ

UE5でスクリーンショットを保存するには、用途に応じて最適な方法を選択することが重要です。

  • 手軽に撮影する場合:コンソールコマンドまたはブループリントのノードを使用
  • 高品質なスクリーンショットが必要な場合:Render Targetを使用

また、スクリーンショットのファイル名を取得したい場合は、**ブループリントまたはC++の手法を活用** するのが最適です。