LoginSignup
7
2

More than 1 year has passed since last update.

[#Unity]LightMapをベイクしたシーンをマルチシーンで追加で読み込んだ時の見た目の差異を解消する

Last updated at Posted at 2022-06-22

概要

シーン単位で背景などの3Dモデルの見た目を開発し、LightMapをベイクしてそれをマルチシーンで読み込んだ時の見た目が異なったため、それを解消する方法について調べる。

環境

Unity 2021.3.4f1
(この記事の内容はRenderPipelineに依らない内容となっています)

状況

image.png
SampleSceneとBakeStageSceneを用意しました。
今回SampleSceneの中には何もなく、
BakeStageSceneは仮のPlaneとCubeが配置されており、LightMapをベイクしています。
PlaneとCubeはともにStaticであり、DirectionLightとPointLight3つはすべてBakedとなっています。
image.png

シーンのLighting設定は以下の通りです。
image.png

BakeStageSceneのSkyboxにはSkybox/Proceduralシェーダーの自作マテリアルを当てています。
LightMapベイクへの影響などをわかりやすくするためにいろいろと値を変えています。
image.png

問題

この状態でSampleSceneにBakeStageSceneを読み込むと、BakeStageScene単体で見ていた時と全く異なることに気が付きます
SampleSceneにBakeStageSceneを追加で読み込んだだけの時
image.png
BakeStageScene単体の見た目
image.png
こちらを解決する方法を2つ示します。

解決方法① 読み込んだBakeStageSceneをアクティブにする

sol1.gif
読み込んだシーンを右クリック→SetActiveSceneとすることで、Skyboxの設定や、Fogの影響度合いが変わっていることがわかります。これはもともとシーン単体で開発し、想定していた見た目と合致しています。

解決方法② シーン依存な情報を読み込んだシーンに合わせる

なにかしらの問題で読み込んだシーンをActiveにできないとき、アクティブなシーンに依存するLighting情報を合わせてあげることでこれを解決します。
アクティブなシーンに依存するLighting情報は以下の通りです

  • Skybox
  • Fog(Lightingの情報ではないですが…)
  • Environment Reflection

これらを読み込んだシーンに対して合わせて設定してあげることで解決できます。

Skyboxを合わせる

image.png
LightingタブのEnvironment/EnvironmentのSkyboxMaterialに、BakeStageSceneと同じものをアタッチします。

Fogを合わせる

image.png
LightingタブのEnvironment/OtherSettingsのFogから、BakeStageSceneのFogの各パラメータを合わせます。

Environment Reflectionを合わせる

Environment Reflectionはベイクされたシーンの場合、少し事情が異なってきます。
ベイクする際にReflectionProbeとして反射計算用のテクスチャをCubemapとして書き出しており、ベイクされたオブジェクトはこちらを参照するためです。
そのため、LightingタブのEnvironment/EnvironmentのEnvironmentReflectionsのSourceをCustomにし、CubemapをBakeStageSceneのベイクデータフォルダ内のReflectionProebe-0というCubemapをアタッチします。
image.png

これでシーンのアクティブを切り替えなくても見た目をそろえることができました。
image.png

7
2
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2