UE5 SceneCapture2Dのハマった仕様

※この記事はUE5.3.2で確認しています。

RenderTargetにレンダリング結果を渡せるSceneCapture2D
これを使っていて気がついたことがあったのでメモ

シーン内にSceneCapture2Dが複数あり、RenderTargetに同じものが指定されている場合
CaptureSortPriorityが小さいものが優先して適用されます。
このとき、CaptureSortPriorityが高く使用されていないSceneCapture2Dは
全く動いていないものだと思いましたが

StatRHIでTriangleDrawnを確認してみたところ
レンダリングされているようでした。

DrawnTris_Normal
カメラ一つのみ
6万5千程度

DrawnTris_Camera1
SceneCaptureを一つ追加
12万1千
大体二倍ですね

DrawnTris_Camera10
カメラ一つ
SceneCaptureを11個
CaptureSortPriorityは-1が一つ100が10個です。
驚きの66万!?

SceneCaptureはRenderTargetに反映されていなくても描画処理が走っているようです。

これを避けるにはOptionにあるCaptureEveryFrameをOffにして
必要に応じてCaptureonMovementを切り替えれば大丈夫なようです。
Option menu

追記
BluePrintノードのDeactivateを呼んでもレンダリングの更新を止めることができるのを確認しました。

SceneCaptureの意外な落とし穴でした。