Light機能でワールドに陰影をつくる

こんにちは!こちらの記事では、Unityのライト機能の基本的な部分について紹介していきます。

ライトとは

Unityのシーンを照らす光源のうちの一つです。光源ではメインとなるものです。

before
after

ライトの種類

Unityのライトには以下の4種類があります。

Directional Light

シーン全体に均一光が当たるライトです。太陽光などの表現に使われます。

Point Light

電球のアイコンからも分かるように、現実の電球のようなライトです。中心に近いほど光が強く、遠くなるほど光が弱くなります。

Spot Light

こちらも現実のスポットライトのようなライトです。そのため、光が当たってないところは真っ暗になっていますね。

Area Light

柔らかな光を表現できるライトです。
こちらのライトを使用する場合はベイクが必要になります。
ベイクについては、後程説明します。

ライトの設定

この記事では無料アセットの Pack Gesta Furniture #1 を使ってライトを設定する例を紹介していきます。すでにワールドを作っている方はお持ちのSceneデータを使ってやってみましょう!

では実際にライトの設定をしていきます!

Unityのシーンにはあらかじめ「Directional Light」が一つ存在しています。
こちらを使ってもいいのですが、せっかくなので1から作ってみましょう!

Hierarchy内で右クリック、「Light」から自身が使いたいライトをクリックして、オブジェクトを作成します。今回は「Directional Light」を選択して作成しました。

(↑でせっかくなので1から作ってみましょうって言ってるので、無い前提で良いです!)
どちらでも大丈夫なので、Directional Lightを選択し、上記の図の赤枠のチャックを外しましょう!これでオブジェクトは非表示になります。

違う種類のライトに変更したい場合は、「Hierarchy」から新規ライトを作成する他に、ライトの「Inspector」から「Type」で別の種類のライトに変更することもできます。

ライティングモード

各ライトのInspectorには「Mode」という項目があります。これらはライトの処理の仕方を表せています。

Realtime:フレーム毎にライトの処理を行う方法です。そのため処理の負荷は大きいです。
Baked:動かないオブジェクト限定ですが、あらかじめライトの処理(影の投影)を行い固定化しておくことで、処理の負荷を軽減しています
Mixed:は「Realtime」「Baked」を合わせたものです。

動いているオブジェクトには「Realtime」、止まっているオブジェクトには「Baked」の処理を行います。

Clusterにアップロードする際には、「Realtime」「Mixed」のライトを合計で3つ以上配置すると、3つ目以降のライトはVertex Lightになります。そのため、3つ目以降のライトは全て「Baked」にしておく必要があります。

「ライティングモード」について少しだけ説明しましたが、難しいお話だったと思います。詳しく知りたい方はUnityの公式ドキュメントにあるライティング、ライティングモードの項を参考にしてみてください!

ワールドに適用してみる

ワールドにただDirectional Lightを置いただけのscene。かなり暗いですね…とても見づらいです。家の中なので、天井にライト(電球)があればもっと家っぽくなるかもしれません。電球のようなライトといえば、Point Lightです。

新しくPoint Lightオブジェクトを作成し、天井付近まで移動させました。ですが、まだまだ暗いです。なので、次はPoint Lightの範囲と輝度を調節していきます。

ライトの周りに見えている黄色の線は光が届く範囲を表しています。今のままでは、部屋の隅まで光が届いていません。なので、この範囲を大きくしていきましょう!

「Point Light Inspector」「Range」の値を大きくします。値はお好みで調節してみましょう!

範囲が広がり部屋の隅まで光が届くようになりました。しかしまだ光が弱く感じますね。そんな時は光の輝度を大きくしてあげましょう!

Light Inspector「Intensity」の値を大きくします。こちらも値はお好みで調節してみてください!

見やすい明るさになりましたね!更にライトは光の色も変えることができます!

「Point Light」でもいいのですが、せっかくなので「Directional Light」の方の色を変えてみましょう!「Directional Light オブジェクト」「Directional Light Inspector」から「color」で好きな色に変えることができます。

こちらも好きな色に設定してあなた好みのワールドにしてみてください!以上でUnityのライトの基本的な使い方でした!

他の各種パラメーターについてはUnityの公式ドキュメントにある光源、またはライティングの項を参考にしてみてください!Unityのライト機能や、ポストプロセシングを活用してあなたのワールドをより素晴らしくしていきましょう!

記事をシェアしてワールド制作を盛り上げよう!