UnrealEngineで以下のような現象があったため記録として残しておきます。
SceneCaputreComponentでCaptureEveryFrameをオフにしてCaptureSceneをしているとレベルに配置したWidgetを視界に入れるかCaptureEveryFrameをオンにしたSceneCaptureComponentで映しておかないと表示されない。
確認環境
UE4.27.2
確認方法
- SceneCaptureComponent2DのCaptureEveryFrameをオフにしてTickごとにCaptureSceneし撮影した画像を表示するPlaneを正面に配置する
- 背後にWidgetを表示するアクタを配置する
結果
- プレイ初回時には背後のWidgetが正面に配置したPlaneに表示されていない
- 後ろを振り向いてWidgetを確認し正面を見るとWidgetが表示される
- CaptureEveryFrameをオンにすると最初からWidgetが表示される
- 別のCaptureEveryFrameをオンにしたSceneCaptureComponentでWidgetを映しておいてもWidgetが表示される
まとめ
- CaptureEveryFrameがオフのSceneCaptureComponentでは視界に入れてなかったりCaptureEveryFrameがオンのSceneCaptureComponentで映していないとキャプチャできない
- なぜそうなるかは追えていない
- 上記の例だと素直にCaptureEveryFrameをオンにすればいいが、負荷をさけるためにCaptureEveryFrameをオフにして必要な時にCaptureSceneするような場合だと発生する
- CaptureEveryFrameがオフだとアウトラインのポストプロセスが表示されないような現象もある(参考:UnrealEngineで全天球(360度)画像を撮影してファイルに保存する - Qiita)