この広告は、90日以上更新していないブログに表示しています。Windowsでウィンドウをキャプチャできるライブラリ「UnityGraphicsCapture」をつくりました。github.comUnityでウィンドウやデスクトップ画面をキャプチャする方法といえばhecomiさんのuWindowCaptureが有名ですね。1803以降で使用できるWindows.Graphics.CaptureというAPIで、こちらは任意のウィンドウやモニターをDirectXのテクスチャとして取得することができるものです。テクスチャのポインタをそのままUnityで読み込んでTexture2Dとして使用できるためコピーやCPUへの読み戻しの実装が不要で、おそらく低オーバーヘッド、低遅延低負荷で動作します(API側の内部実装がわからないので一概には言えませんが......)。ついでにキャプチャされているウィンドウに黄色い枠が表示される仕様になっており、ユーザーにとって安心感もあります。形式で配布しています。簡単なのは「CaptureTexture」コンポーネントを使う方法です。(QuadやPlaneなど)を配置し、「CaptureTexture」コンポーネントをとりつけます。CaptureTextureのインスペクタから「...」ボタンを押してウィンドウやモニターを選択します。対象のレンダラーでウィンドウが表示されます。スクリプトからウィンドウを設定するRuccho.UnityGraphicsCapture.Utilsクラスに、キャプチャターゲットを列挙するメソッドが用意されています。target)で設定することができます。詳しいサンプルコードはGitHubのREADMEやUnityプロジェクト内にありますので、そちらをご覧ください。github.com余談Windows.Graphics.CaptureはC#から直接使用可能なAPIも存在するのですが、こちらはWinRTのAPIなのでUWP限定です。ビルドでも動作させることができます。10はてなブログをはじめよう!rucchoさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。