【ゲーム環境】
<br/>
ゲーム中に特定のイベントが発生時にシーケンサーが再生される機能がある。
レベル内にポストプロセスボリュームを置いてある。
<br/>
【現象】
ゲーム中のカメラはACameraActorを使用しているが、シーケンサーを再生させると内部のCineCameraActorに被写界深度用の値を設定(CurrentApartureで調整している)している。
<br/>
実際にシーケンサーを再生させると通常のゲーム時とは異なるライティング処理がされてしまい、ゲーム時と見た目が異なってしまった。
調べてみると、CineCameraActor内部のCurrentApartureが影響を与えておりゲームプレイ時のCameraActorに合わせるとライティングの差異はなくなるが、シーケンサーで被写界深度が使えなくなってしまった。
<br/>
【聞きたいこと】
CurrentApartureをいじらずにCineCameraActorで被写界深度を適用したい場合どのような方法があるか教えてほしい
<br/>
また、今回のようにゲーム中のカメラとシーケンサーのカメラが異なりポストプロセスの差異が生じる場合は、基本的にどのようにシステムを設計すればいいのか教えてほしい
お世話になっております。
シーケンサーでApertureを変えずにDOFを使いたい場合は、方法がいくつかあります。
まず、無限範囲のポストプロセスボリュームを使って、どのカメラでもDOFが有効になるようにします。
または、Apertureに依存しないカスタムポストプロセスマテリアルを作成して、独自のDOF効果を実装します。
Apertureを調整すると明るさが変わってしまう場合は、「Apply Physical Camera Exposure」をオフにしてください。
これでISO、シャッタースピード、Apertureが露出に影響しなくなり、ゲーム中とシーケンサー再生時の見た目の差が減ります。
詳しくは以下を参照してください。
https://dev.epicgames.com/documentation/ja-jp/unreal-engine/auto-exposure-in-unreal-engine
ACameraActorとCineCameraActorの見た目をそろえるには、ポストプロセス設定や露出を統一するのが基本です。
共通のポストプロセスボリュームを使うか、同じ設定を両方のカメラに適用してください。
これでApertureを変えずにDOFを使いながら、見た目の一貫性を保つことができます。
お手数ですが、よろしくお願いします。