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空間再現ディスプレイRenderTextureCompletedDelegate を設定することで、描画のタイミングで、Spatial Reality Displayに表示されている混合画像を取得できます。

  1. On空間再現ディスプレイRenderTextureCompletedDelegate に設定する関数の準備をします。第1引数が FRHICommandListImmediate&、第2引数が FTextureRHIRef となる関数を定義してください。

Note

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

 

void RenderingSRDisplay2DWindow(FRHICommandListImmediate& RHICmdList, FTextureRHIRef SrcTexture);

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

srdisplay_module::FSRDisplaySystem* SRDisplaySystem = USRDisplayFunctionLibrary::GetSRDisplaySystem(); FOn空間再現ディスプレイRenderTextureCompletedDelegate& On空間再現ディスプレイRenderTextureCompletedDelegate = SRDisplaySystem->Get空間再現ディスプレイRenderTextureCompletedDelegate(); On空間再現ディスプレイRenderTextureCompletedDelegate.AddRaw(FSample2DWindow::GetPlayWindow(), &FSample2DWindow::RenderingSRDisplay2DWindow);

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

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