9.

【UE5】FrameGrabberをBlueprintで使用する方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

Unreal Engine 5(UE5)では、Blueprintを使って、FrameGrabberを簡単に使用することができます。Blueprintは、プログラムコードを書くことなくゲームロジックを構築できるビジュアルスクリプティングツールであり、ゲーム開発者にとって非常に強力なツールです。FrameGrabberをBlueprintで活用する方法について、以下で詳しく説明します。

FrameGrabberの設定と準備

BlueprintでFrameGrabberを使うためには、まずキャプチャを開始したいタイミングを設定する必要があります。FrameGrabberは通常、特定のイベントや入力に基づいてフレームをキャプチャします。これを実現するために、Blueprintでイベントをトリガーしてキャプチャを開始し、完了後に画像を保存する流れを作成します。

UE5のBlueprintには、デフォルトでFrameGrabberに関連するノードが含まれていないため、少し工夫が必要です。以下の手順に従って、Blueprint内でFrameGrabberを使用する設定を行います。

BlueprintでのFrameGrabber設定方法

まずは、ゲーム内のアクションやイベントに基づいて、フレームキャプチャを開始できるようにします。UE5のBlueprintでFrameGrabberを設定するために、以下のような手順を踏みます。

  • 新しいBlueprintクラスを作成(例えば、アクターやゲームモードなど)
  • キャプチャを開始するタイミング(イベント)を設定
  • キャプチャが終了した後に画像を保存する処理を作成

次に、実際にBlueprint内でFrameGrabberを使用するために必要なノードを追加します。ここでは、FrameGrabberの動作を実現するためにカスタムイベントを作成し、それをトリガーします。

Blueprint内でのキャプチャ開始と保存処理

Blueprintでフレームキャプチャを実行するためには、まずExecute Console Commandノードを使用して、コンソールコマンドを実行します。これにより、FrameGrabberによるキャプチャが開始されます。以下の手順でBlueprint内でのキャプチャ処理を行います:

  • Execute Console Commandノードを追加
  • コンソールコマンドとして「HighResShot」や「TakeHighResScreenshot」などを指定
  • キャプチャ完了後に、指定したファイル名で保存処理を行う

この方法により、Blueprint内で簡単にフレームをキャプチャし、保存することができます。以下は、簡単なBlueprintの例です:

// Execute Console Commandノード Execute Console Command Command: "HighResShot" // または "TakeHighResScreenshot"

上記のコードは、Blueprint内で実行され、現在のゲーム画面のスクリーンショットをキャプチャします。ここで、HighResShotコマンドを使うことで、デフォルトの解像度でスクリーンショットを保存できます。

保存する画像のフォーマット設定

画像の保存形式については、Blueprint内では指定できるオプションが限られている場合があります。HighResShotコマンドを使用する場合、デフォルトではPNG形式で保存されます。もしJPEGなど別の形式で保存したい場合、Execute Console Commandを使って他のコマンドを実行することができます。

例えば、TakeHighResScreenshotコマンドを使うと、PNG形式で保存されますが、キャプチャする際に解像度を指定することができ、保存先のパスもカスタマイズ可能です。これをBlueprintで設定する際には、以下のようなコマンドを使います:

Execute Console Command Command: "TakeHighResScreenshot 1920x1080"

これで、指定した解像度(ここでは1920x1080)でスクリーンショットが保存されます。

BlueprintでのFrameGrabberの応用方法

Blueprintを使用することで、FrameGrabberをさらに柔軟に応用できます。例えば、特定のアクションをトリガーとして、ゲームプレイ中の特定の瞬間にスクリーンショットを撮る、またはプレイヤーの入力に反応してフレームを保存するなどが可能です。

以下は、プレイヤーが特定のキーを押したときにフレームをキャプチャする例です:

  • Input Keyイベントノードを追加
  • 押されたキー(例えば、F12)を設定
  • キーが押されたときに、Execute Console Commandノードでスクリーンショットを撮るコマンドを実行

これにより、プレイヤーがゲームプレイ中に特定のキーを押すと、その瞬間のスクリーンショットを保存することができます。

まとめ

BlueprintでのFrameGrabberの使用は、簡単なコンソールコマンドを実行するだけで実現できます。ゲーム内でのフレームキャプチャやスクリーンショットをリアルタイムで取得したい場合、Blueprintを使用することで、視覚的に設定でき、プログラムコードを書くことなく直感的に操作可能です。この記事で紹介した方法を活用して、UE5のゲーム開発における画像キャプチャ機能を効率的に活用してください。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. ブループリントで途中から親クラスを指定する方法
  2. C++で編集となっているコンポーネントをブループリントで編集する方法
  3. ブループリントでBoolean変数の初期値を変更する方法
  4. ブループリントで特定のキーが押された時にイベントを発火させる方法
  5. ブループリントで配列からインデックスを指定して取得する方法
  6. Blueprintで「Esc」キーを使ってイベントを発生させる方法
  7. Blueprintで「Cast To」を使い、複数のクラスに対応する方法
  8. Blueprintで指定した確率で処理を分岐させる方法
  9. FrameGrabberをBlueprintで使用する方法
  10. ブループリントで現在日時を取得する方法