WindowCapture2D

Unreal Engine用リアルタイムウィンドウキャプチャプラグイン – 外部アプリケーションウィンドウをUnreal Engineのプロジェクト内に表示

概要

WindowCapture2Dは、外部アプリケーションのウィンドウをリアルタイムでキャプチャし、Unreal Engineのテクスチャに映像を反映します。

このプラグインを使用すると、デスクトップアプリケーション、ウェブブラウザ、その他のソフトウェアをゲーム内のテクスチャとしてシームレスに統合できます。

VR, ARアプリケーション内に別のアプリケーションを表示させたり、シミュレーションの中にその他のコンテンツを表示したり、あなたのUEプロジェクトに革新的な機能を追加することができます。

主な機能

  • Windows OS上の任意のウィンドウをリアルタイムでキャプチャ(Mac, Linuxには未対応)
  • キャプチャしたウィンドウをUnreal Engineのテクスチャとして表示
  • ウィンドウタイトルによる柔軟なターゲット指定(完全一致、部分一致などルールの指定可能)
  • 高パフォーマンスなキャプチャシステム
  • C++とBlueprintの両方でのフル機能サポート

デモビデオ

以下のビデオでは、WindowCapture2Dの基本的な機能と使用方法を紹介しています:

使用例

WindowCapture2Dの一般的な使用例:

  • シミュレーターやトレーニングアプリケーションでの実際のソフトウェアインターフェースの表示
  • ゲーム内ブラウザの実装
  • 仮想デスクトップ環境の作成
  • インタラクティブなマルチメディア展示の開発

使用方法

3D空間のPlaneにキャプチャ映像を出力する

Content BrowserのSettingsメニューを表示してから”Show Plugin Content”にチェックを付けると、画面左側のツリービューにWindowCapture2D Contentが選択可能になるので、”PlaneActor”を選択してください。

WindowCapturePlane Actorを選択してレベルに配置します。

配置したWindowCapturePlaneのPropertiesでキャプチャ対象のウィンドウをセットします。

  • Capture Target Titleにキャプチャしたいウィンドウのタイトルを入れてください
  • Title Maching Window Searchでは入力した文字列とどのようにマッチングさせるかを選択できます
    • PerfectMatch : ウィンドウのタイトルと完全に一致
      ForwardMatch : ウィンドウのタイトルとの前方一致
      PartialMatch : ウィンドウのタイトルと部分一致
      BackwardMatch : ウィンドウのタイトルと後方一致
      RegularExpression : 正規表現を使ってウィンドウのタイトルとマッチング
  • Frame Rateにキャプチャする間隔をセットしてください

PlayするとWindowCapturePlaneにキャプチャされた映像が表示されます。

ウィジェットにキャプチャ映像を出力する

ユーザーウィジェットのブループリントを開いて、任意の場所にWindowCaptureUMGを配置してください。

配置したWindowCaptureUMGのPropertiesでキャプチャ対象のウィンドウをセットします。

セットする項目については上記WindowCapturePlaneと同じです。

キャプチャされた映像が出力されるTextureを直接扱いたい

以下のブループリントを参考にしてキャプチャされた映像が含まれるテクスチャを取得できます

  1. CaptureMachineオブジェクトを生成します
  2. CaptureMachineオブジェクトのPropertiesにウィンドウの情報をセットします
  3. CaptureMachineオブジェクトのStartメソッドを呼びます
  4. ウィンドウがキャプチャされると”Change Texture”イベントが呼ばれて、そこでTexture2Dオブジェクトが取得できます
    • キャプチャしているウィンドウのサイズを変えるとその都度テクスチャが作り直されて”Change Texture”が呼ばれます

注意点

  • WindowCapture2DはWindows OSでのみ動作します
  • Windows10でも理論上は動作しますが、公式サポートはWindows11でのみ行います
  • 4K, 5Kなどの高精細なディスプレイに最大化したウィンドウをキャプチャしようとするとCPU, GPUのパワーをかなり消費します
  • Windows11であっても一部キャプチャ不可能なウィンドウも存在します

FAQ

こちらでよくある質問を確認することができます