MRが楽しい

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

Unityで環境光のライティングを利用する

本日は Unity の技術調査枠です。
Unityで環境光のライティングを利用する方法をまとめます。

環境光とは反射・散乱された間接光のことで、物体に全体的な明るさを与えます。
テスト用に新規プロジェクトを作成しました。
f:id:bluebirdofoz:20180708221819j:plain

ここにサンプル用のCubeを追加します。
新規プロジェクトで配置されるライトはカメラの上部にあるため、画面のような陰影になります。
f:id:bluebirdofoz:20180708221827j:plain

初期配置のライトの影響を消すため、「Directional Light」は削除します。
以下のような薄暗い光景になると思います。
ライトを消しても真っ暗にならないのは、実は新規プロジェクトの時点で環境光に関する設定が行われているためです。
f:id:bluebirdofoz:20180708221836j:plain

環境光の設定を行います。
メニューから Window -> Lighting -> Settings を選択します。
すると、「Lighting」ダイアログが表示されます。
f:id:bluebirdofoz:20180708221845j:plain

デフォルトだと環境光の光源が「Skybox」に設定されています。
これだと、上方からの環境光になるため、満遍なく光を当てるため、Environment Lighting の Source を「Color」に設定します。
同じく、Environment Reflections の Source を「Custom」に設定します。
これで満遍なく光が投影されるようになりました。
f:id:bluebirdofoz:20180708221853j:plain

Environment Lighting の Ambient Color を変更すると、環境光の色を変更できます。
f:id:bluebirdofoz:20180708221903j:plain

もっと綺麗に発色させたい場合は、マテリアルの放射を合わせて利用すると良いです。
オブジェクトのマテリアルを編集し、Emission の Color を 1 に近づけるとオブジェクト自体が光を放つため、綺麗に発色します。
f:id:bluebirdofoz:20180708221914j:plain