はじめに
Unreal Engineを用いて全天球画像を撮影する方法については以下の記事で詳しく説明されています。
しかし、上記の記事に従ってUE5.4でFinal Color
の全天球画像を出力すると以下のようにCubeの輪郭が載った状態で出力されてしまいました。
本記事ではこの現象の対処方法をまとめます。
必要な設定部分のみを閲覧したい方はまとめをご覧ください。
ポストプロセス周りの設定のため、Final Color
ではなくScene Color
などを使用する場合はこれらの設定は不要です。
動作環境
- Unreal Engine 5.4.3
- Unreal Engine 5.3.2
- 後述する追加の設定が必要
実践
セットアップ
上記の記事を参考に、TextureRenderTargetCube
とMaterial
を作成しておきます。
適当に作成したBluePrintアクタにSceneCaptureComponentCube
コンポーネントを追加し、Texture Target
に作成したRenderTargetを、Capture Source
をFinal Color
に設定します。
※上記の記事ではCapture Every Frame
とCapture on Movement
をオフにしていますが、今回の説明時点ではオンのままにします。実際に画像として出力する際などは適宜オフにすると良いかと思います。
Capture Every Frame
をオンにしていると、作成したBluePrintを配置することでTextureRenderTargetCube
のテクスチャが自動的に更新されるようになります。
今回はこの画面で直接説明を進めます。
Unreal Engine 5.3の場合
UE5.3の場合上記のように出力結果にノイズが載っていました。
SceneCaptureComponentCube
の動的シャドウ(Dynamic Shadow
)をオフにしたところノイズが載らないようになりました。
(追記)上記の方法では通常の影自体も表示されなくなってしまうため、以下の方法で修正してください。
プロジェクト設定→レンダリング→シャドウにあるシャドウマップメソッドをShadow Maps
に変更
参考資料:Fixing a Weird 'Shadow' Problem in Unreal Engine 5
SceneCaptureComponentCubeの設定
配置したBluePrintの子コンポーネントのSceneCaptureComponentCube
を選択し、ポストプロセスの表示(Post Processing Show Flags)から以下の設定を行います。
- ブルーム(
Bloom
)をオフに - ローカル露出(
Local Exposure
)をオフに - 明暗順応(
Eye Adaptation
)をオフに
ここまでの設定変更により上記のような輪郭の影だけが残っているような画像となります。
PostProcessVolumeの設定
ポストプロセスの設定を変更するために、PostProcessVolume
をコンテンツブラウザから検索し、配置します。
配置したPostProcessVolume
を選択し、適用範囲をワールド全体にするためにInfinite Extent
にチェックを入れます。
そして、ビネット効果(Vignette Effect
)を有効にし、値を0.0にします。
すると上記左のようにSceneCaptureComponentCubeの設定後に残っていた輪郭の影も消え、Cubeの輪郭を完全に消すことができました。
最終的な出力
もちろん、ここまでの設定を適用した状態で画像を出力すれば、以下のように綺麗な全天球画像を取得できます。
まとめ
Unreal EngineでFinal Color
の全天球画像を綺麗に取得するためには以下の設定が必要
-
SceneCaptureComponentCubeの設定
- ブルーム(
Bloom
)をオフに - ローカル露出(
Local Exposure
)をオフに - 明暗順応(
Eye Adaptation
)をオフに - (※UE5.3の場合)動的シャドウ(
Dynamic Shadow
)をオフに
- ブルーム(
-
PostProcessVolumeの設定
-
PostProcessVolume
をコンテンツブラウザから配置 - ビネット効果(
Vignette Effect
)を有効にし、値を0.0に
-