ライティングの共通化
共通して使い回すライティングをまとめる

方法①:レベルを使い回す(レベルインスタンス、サブレベル)
レベルインスタンス
前回作成した、フィルムカーブを調整したポストプロセスボリュームなどの共通の設定値を用意したレベルをシーンに配置すると同様の設定がレベルインスタンスというオブジェクトとして使い回せる。

レベルインスタンスは参照元のレベルを編集すると、すべての配置されたレベルインスタンスが更新されるのでメンテンナンスしやすい


サブレベル
レベルインスタンスの注意点として、編集を実行すると元シーンの調整になる。
基本的にこの編集モードでないと調整できないのであまりヒューマンエラーは無いと思うが編集してしまう可能性が無いことも無い。

絶対に編集したくない場合はサブレベルとして配置すると元シーン以外では編集できなくなる。
レベルウィンドウを開き、既存レベルを追加するとサブレベルとしてシーンに追加できる。


ロックすると編集、保存などができなくなる。 (ロックしていない場合、直接編集できてしまうので今回の目的であれば必ずロックする。)

方法②:ブループリント
レベルインスタンスと比べて作成コストはかかってしまうが、HDRIや露出などレベルによって値を変更するものを使い回す場合はブループリントにまとめる必要がある。

下記の画像はHDRIBackDropを複製して拡張したもの。
コンストラクションスクリプトで露出の調整ができるようにした。

外に出していない値は作業者が触ることができず、調整した値をデフォルト値に戻すことも容易なので作ってしまえばレベルインスタンスよりプロジェクト許容範囲内での調整がしやすい。
レベルインスタンスに比べてアーティストが調整しづらいのが最大の懸念なので管理、調整の段取りをプロジェクトで話し合っておかないと調整しづらいままで終わりかねないのは注意が必要と思う。
ブループリント化はゲームで設定しやすいディレクショナルライト、HDRIなどを利用したい場合は大体必要なものになってくる。
ゲームで光源の調整が必要ならなおさら。
ライト触る人はブループリントの更新に慣れておいた方が良いかなと思いました。

fish_ball
プロシージャル魚類