記念メダルゲーム制作中に調べたことシリーズ!
Lightingについて
全4種類だよ!
・Directional Light
・Point Light
・Spot Light
・Area Light
ひとつずつみてみよーう。
Directional Light
まずはプロジェクトを作成したときにデフォルトで入ってるこいつ。
これは配置する位置に関係なく、このライトが向いているほうに光が当たるという形ですね。
上にあるオブジェクトも右にあるのも左にあるのも全部同じ方向から照らされるという感じですね。
これをだいたい上向きにすると、夜っぽくなります。正確には下方向から照らされるのでそのほかの方向は光が当たらなくなって暗くなるということでんな。
暗くなりましたね。
ちなみにスクリプトのLightでは、「Intensity」で光の強度、「Color」で光の色を変えられます。
また、すべての種類のLightにはindirect multiplierというプロパティがありますが、これは間接光に関するものらしいですね。間接光について詳しくは以下のリンクが参考になると思います。
間接光について:
【Unity】グローバルイルミネーション(GI)基礎知識~STYLYへの反映方法 | STYLY
Point Light
ここから先はLightの見やすさのために夜にしときますね。
Point Lightはその名の通り特定の範囲に明るさをもたらすものです。
基本的ないじるパラメーターとしては「Color」「Range」「Intensity」ですね。
Rangeは光が影響する広さ、Intensityは先ほども述べたように光の強さになります。
奥の球体に光が届いているのわかりますか?これがRangeです(どや)
こっちはひかり強め。Post ProcessingのBloomとかかけ合わせたらよさそう。
Spot Light
こちらも名前の通りスポットを当てるライトですね。
イメージとしては、光を発する光源がありそこから特定の方向に向かって光を投影するという感じです。
ライトを下向きにして、少し上に位置させました。
Rangeのプロパティを短くしてみました。この範囲には何もないので光も当たらないですね。
これは使い勝手がよさそうですね。Spot Angleのプロパティを変更することで絞りを変えることができるみたい。やろうとすれば壁の全面を照らすなんてこともできそうですね。
Area Light
さて、このArea Lightですが、なかなかやっかいですね~
まず設置しただけではほかのLightと違いなにも照らされません。
このArea Lightは3D空間に長方形のガイドが設定され、その長方形の法線方向というか、片方の面から光が放出されるという感じみたいです。
LightコンポーネントのTypeには「Area (Baked Only)」と書かれており、ライトベイクというのが必要なんですね。
さらに、照らされるオブジェクトはStaticという状態にする必要があるらしい。
必要な操作は2つ。
1:光で照らされてほしいオブジェクトのインスペクターで名前の右にある「□Static」というところにチェックを入れる
2:Unityの上の部分にある「Window」タブから「Rendering→Lighting」をひらいて、一番下にある「Generate Lighting」のボタンを押す
これで光が照らされるようです。
つまり計算の処理が重いということなんですね。以下に試してみた画像を載せますがこれを処理するのに数分の時間がかかりました。
真ん中にArea Lightがあるのですが、向こう側に向かって光が出てますね。真ん中のCubeはstaticにしましたが、円柱のほうはあえてstaticにしませんでした。光が当たってないですね。
それから、半分よりこっち側には光が放出されないはずなんですが、反射光のようなもので少し光が返ってきてますね。面白い~
まとめ
ということで4種類のLightについて調べてみました。意外とライティングでゲームの雰囲気は変わるので試行錯誤してみるのも楽しいですね。ライティングによるゲームの変化についてはまた今度記事にしたいと思います。
それでは。kenoでした。