いんでぃーづ

ゲームメインのブレブレブログ。ゲーム,Unity,デザイン,UI/UX

Unityの Lighting ウインドウの見かた ~基本編~

{スポンサーリンク}

Unityのライティングシステムは非常に強力です。

ライティングウインドウでは環境光、ライトマップ、GI、フォグなど多彩な設定を行えます。

Lighting ウインドウ - Unity マニュアル

環境:Unity2018.1

メニューから

Window > Lighting

と選択し、ウインドウを開いてみましょう。

Environment

環境光を設定します。

シーン全体に適用されるベースとなる光(太陽光など)や、光が物体に反射することで発生する 間接光 の設定です。

シーンの雰囲気を決める重要な設定です。

f:id:sugar_affordance:20180515100845p:plain

Skybox Material

シーンを囲むように表示される景色、いわゆるスカイボックスを設定します。

従来のキューブマップは Legacy になり、Unity5からはプロシージャルマテリアルを指定できるようになりました。

http://docs.unity3d.com/ja/current/Manual/ProceduralMaterials.htmldocs.unity3d.com

はい、すごくプロシージャルですね。

新規シーンを作成するとデフォルトのプロシージャルマテリアルが指定されているはずです。

Sun Source

太陽光の方向を表すライトを設定します。

スカイボックスにプロシージャルマテリアルを指定した場合、このSunに指定したライトの方向によって太陽の位置をシミュレートしてくれます。

これによって日没などの表現が可能になりました。

特にDirectionalLightである必要はないようです。

Environment Lighting

ライトを照らす前のシーンのベースとなる光の設定です。

Unity4のころにこの設定を知らなくて、真っ暗闇の中にディレクショナルライトだけでなんとか照らそうとした苦い思い出がよみがえります。

Source

環境光にどれを使うのかを選択します。

たいていの場合は「Skybox」に設定しておくのがベストです。 これによって上のSkyboxで設定したマテリアルの色で、いい感じの環境光で照らしてくれます。

モバイルの場合は Skybox Material を空にして、SourceをColorにしたほうがパフォーマンスがいいかもしれません。

Intensity Multiplier

環境光の明るさを指定します。

0に近づけるほど暗くなります。

0にするとほろ苦い思い出が蘇ります。

Ambient Mode

シーンのGIモードを設定します。

Environment Reflections

シーン内の環境光の反射の設定です。

Reflection Source

反射で映り込むモノになにを使うかを設定します。

これも大抵の場合Skyboxで問題ないです。Resolutionを大きくするとより正確な写り込みになります。

Customを設定した場合、キューブマップを設定することで映り込むモノを設定できるようです。

f:id:sugar_affordance:20150602213314p:plain

上のように、雲一つないのに球体に雲を映りこませたりできます。

Compression

反射に使うテクスチャを圧縮するかどうか。Autoでいいんじゃね的なアレ。

Intensity Multiplier

反射光の強さを設定します。

暗くすると映り込みがなくなっていきます。

Bounces

反射光が何回まで反射できるかを設定します。

おおざっぱに言うと、「目から出た破壊光線が敵に届くまでに何回反射できるか」を設定できます。

Lightmapping Settings

Realtime Lightingと Mixed Lighting の解説は次回以降にゆずり、Lightmapping Settingsの設定を見ていきます。

f:id:sugar_affordance:20180515101049p:plain

ここがいわゆる「影」をベイクするための設定です。

Lightmapper

ライトマップの焼き込みにどのエンジンを指定するかの設定です。

  • Progressive
    Unityが本気出して搭載した プログレッシブライトマップ を使います。こちらを使うとエディタ上でシーンにリアルタイムでライトマップが焼かれ、スムーズな開発につながります。
  • Enlighten リアルタイムの確認はできませんが、こちらのほうがGIとかに強いっぽい?

それぞれ選択すると設定画面の項目が変わります。
以下、共通項目

Indirect Resolution

GIがらみの設定で、間接光をどれくらい細かく使うかの設定らしいです。
数字を増やすとクオリティも上がる。

Lightmap Resolution

ライトマップ解像度です。 とうぜん数字が大きいほど、より細かい影が。

Lightmap Padding

ライトマップにテクスチャを敷き詰める際に、それぞれの影の間にスキマを持たせる設定です。 あまり小さい値にすると影同士が干渉するのかな?

Lightmap size

一枚のライトマップのサイズを決めます。 一枚におさまらないと2枚目のライトマップが必要になってしまい、容量を食ってしまうので、解像度との兼ね合いになってきます。

Compress Lightmaps

ライトマップを圧縮します。良いことばかりではなく、影が意図しないものになってしまう可能性があるとか。
容量とのトレードオフですかね。

Ambient Occlusion

アンビエントオクルージョン の設定。よくわからん(キッパリ)。

Directional Mode

ライトの品質を設定します。

  • Non-directional (負荷低)  ライトマップのデータを一つだけ持つ、一番に負荷が低いモードです。
  • Directional (負荷中)  ライトマップのデータを複数持ち、よりリアルな影を表現できます。
  • Directional with Specular (負荷高)  ライトマップ複数に反射光のデータも持った、いちばんごついモードです。

Indirect Intensity

スカイボックスなどの環境光、他のオブジェクトからの反射光をどれくらい強く焼きこむかの設定です。

要は高くすると影が薄くなります。

Albedo Boost

物体に反射した光にたいしてこの係数がかかり、より物体がピッカーッとなるみたいです(適当)。

Lightmap Parameters

ライトマップに関する細かなパラメータをここで設定します。

上の三つの選択肢はプリセットで、Create New からパラメータを自作することもできます。

http://docs.unity3d.com/ja/current/Manual/LightmapParameters.htmldocs.unity3d.com


次回、GI!

もう以上でおなかいっぱいな感がいなめませんが、GIを語らずしてUnity5を語るなということで次回、GIとLightmappingウインドウの残り。

indie-du.com

Amazon.co.jpアソシエイト