IBL(イメージ・ベースド・ライティング…HDR画像を元に光源を再現する)手法を使うと、非常に背景に馴染む3D表現が出来ます。
これを今回はある目的のためにリアルタイムに更新してみます。
Skyboxの更新
Unityでは、Skyboxを更新する事でIBLを表現しています。
なのでSkyboxを更新すればOKです。
SkyboxはCubemapを元に更新しているので、渡したCubemapを更新します。
また RenderSettings.customReflectionを更新してSkyboxの環境マップも反映させます。
特にMetalicが高い材質の物は光を全て反射するので、CubemapReflectionを反映させないと初期の環境マップが反映され続けるため、見た目が微妙になります(下の図ではCubemapReflectionを黒一色から変更していないので、CubemapReflectionが黒一色になっています)
注意
IBLが動作するのはLightingのAmbient SourceがSkyboxを指している時のみです。ここがColorやGradientを指していると反応しません。
またAmbient GIがBakedに設定されていても動作しません。
関連
どうでも良いけど、血界戦線OPの主人公を中心のカメラが回ってるシーン超好き