MRが楽しい

MRやVRについて学習したことを書き残す

Unityでライティング(Lighting)の設定を行う

本日は Unity の技術調査枠です。
前回、別のプロジェクトから別のプロジェクトへゲームオブジェクトをコピーする術を学びました。
bluebirdofoz.hatenablog.com

しかし、実際に動かしてみると微妙に3Dモデルの色の見え方が違いました。
原因を調べてみると二つのプロジェクトで Standard シェーダの色が違うことが分かりました。
・元プロジェクトの Standard シェーダ
f:id:bluebirdofoz:20170828012126j:plain
・コピー先プロジェクトの Standard シェーダ
f:id:bluebirdofoz:20170828012136j:plain

Standard シェーダは Unity の共通シェーダなのでコピーに関わらず、同じ発色になるはずです。
それにも関わらず、同じ色になっていないということはマテリアルやシェーダ以外に色を決定する要素があるということです。
(シェーダを直接見ているのでこの場合シーン内のライト設定は関係ありません)

調べてみた結果、Unity にはライティングの設定があるらしいことが分かりました。
noshipu.hateblo.jp

プロジェクト間で調べてみたところ、この設定が異なりました。早速コピー先のライティング設定を修正します。
メニューから Window -> Lighting -> Setting で Lighting ウィンドウが開きます。
f:id:bluebirdofoz:20170828012157j:plain

コピー元のライティング設定と見比べて、設定を合わせてみます。
GrobalMaps の AutoGenerate にチェックをしました。
f:id:bluebirdofoz:20170828012210j:plain
Standard シェーダが元プロジェクトの Standard シェーダと同じ色になりました。

グローバルマップの設定の正体は軽く調べただけではよく分からず……。
以下のグローバルイルミネーションがその正体でしょうか。
docs.unity3d.com

またライティングに拘るときが来たら調べます。