Spatial Reality Displayに表示されている映像を取得してみよう

このページでは、Spatial Reality Displayに表示されている映像について取得する方法を説明します。取得した映像の利用方法については、サンプルアプリ を参考にしてください。

事前準備

  • Spatial Reality Display SettingsがPCにインストールされていること。インストールしていない場合は Setup Spatial Reality Display Settings を参照してください。
  • The Epic Games LauncherとUnreal Engine、Visual Studio がインストールされていること。
  • Unreal EngineでC++を利用 できる状態になっていること。

結合画像の取得方法

SRDisplayPluginに定義されている On Spatial Reality Display RenderTextureCompletedDelegate を設定することで、描画のタイミングで、Spatial Reality Displayに表示されている混合画像を取得できます。

  1. On Spatial Reality Display RenderTextureCompletedDelegate に設定する関数の準備をします。第1引数が FRHICommandListImmediate&、第2引数が FTextureRHIRef となる関数を定義してください。

Note

Unreal Engine 4.27を利用している場合は、第2引数は FTexture2DRHIRef としてください。

 

void RenderingSRDisplay2DWindow(FRHICommandListImmediate& RHICmdList, FTextureRHIRef SrcTexture);

  1. FSRDisplaySystem から On Spatial Reality Display RenderTextureCompletedDelegate を取得し、前のステップで定義した関数を設定します。On Spatial Reality DisplayRenderTextureCompletedDelegate への設定方法については、マルチキャスト デリゲート を参照してください。例では、AddRaw() を利用します。

srdisplay_module::FSRDisplaySystem* SRDisplaySystem = USRDisplayFunctionLibrary::GetSRDisplaySystem(); FOn Spatial Reality DisplayRenderTextureCompletedDelegate& On Spatial Reality DisplayRenderTextureCompletedDelegate = SRDisplaySystem->Get Spatial Reality DisplayRenderTextureCompletedDelegate(); On Spatial Reality DisplayRenderTextureCompletedDelegate.AddRaw(FSample2DWindow::GetPlayWindow(), &FSample2DWindow::RenderingSRDisplay2DWindow);

  1. Spatial Reality Displayに描画されるタイミングで、On Spatial Reality Display RenderTextureCompletedDelegate に設定した関数が呼びだされます。第2引数が結合画像のテクスチャとなります。

開発者お問い合わせ・
商用利用について