7日目 - Unity⑤

Light

ライティングはゲームのクオリティを上げるうえで非常に重要な要素です。

Unityでライトを使うときはLightコンポーネントを使用します。

Lightコンポーネントにはいくつかのモードが存在します。

Hierarchyで右クリックし、Lightから選択できます。

LightコンポーネントのTypeからもモードを変更できます。

image.png

Directional Light

image.png

image.png

シーンを制作したときに最初からあるゲームオブジェクトです。

簡単に言うと太陽の役割です。

よく使う項目

Directionalライトは基本的に太陽としてシーンに一つしか置きません。

そのため変更する項目はあまり多くありません。

**座標はライティングに影響せず、Rotationのみが光の当たり方に影響します。**Rotationを変更することで光のさしている方向を変更できます。

光の色を変更できます。夕日の表現をしたいときなどに変更します。

光の強さです。

光が物体に当たって反射した間接光の強さを変更できます。1が基準で、それ以下だと反射のたびにだんだん暗くなり、それ以上だと反射のたびに明るくなっていきます。

このライトが影響するオブジェクトを設定できます。Layerというものを使用し、設定したLayerを使用しているゲームオブジェクトにしか光が当たりません。

ゲームオブジェクト側のレイヤーはMesh RendererのRendering Layer Maskで設定します。

image.png

影のタイプを設定できます。Softのほうが輪郭がきれいですが、負荷は大きいです。

Soft

image.png

Hard

image.png

影の濃さです。

Point Light

image.png

image.png

簡単に言うと電球のような役割です。

他のライトと比較して少し負荷は重めです。

よく使う項目

基本的にはDirectional Lightの設定とほとんど一緒です。

Directional Lightと異なり、座標が光の当たり方に影響します。

光が影響する範囲を設定します。大きいほど広範囲に光が届きます。

Directional Lightと異なり、Point Lightはたくさん設置する可能性のあるライトです。そのためリアルタイムで光を計算するにはものすごい負荷がかかります。

文字通りリアルタイムで光と影を計算し描画します。そのためかなり負荷がかかります。

ゲームを制作時にあらかじめ光と影を計算しておき、その情報をテクスチャとして保存しておく方法です。負荷がかなり軽減される一方、動く物体には使用できません。ただし、Light Probeを使用することで動く物体にもベイクした情報を使用することができます。

BakedモードではLight Probeを使用することで動く物体でも光を影響させることができます。しかし、用意するのは手間がかかりますし、クオリティも若干下がります。

そこでMixedモードでは動かないゲームオブジェクトにはBakeした情報で計算し、動く物体にはリアルタイムで計算します。

Spot Light

image.png

image.png

簡単に言うと懐中電灯のような役割です。

放射状の光を放ちます。

よく使う項目

基本的には上記の他のライトの設定とほとんど一緒です。

光が影響する距離を設定します。大きいほど遠くに光が届きます。

そのままの光が当たる範囲がInner、その光が拡散して当たる範囲がOuterです。2つの値を調節して光の大きさを変更します。

Area Light

image.png

image.png

面の形状をした光源です。

蛍光灯のようなライトを表現するのに使えます。

他のライトと異なり、このライトはBake専用です。

よく使う項目

基本的には上記の他のライトの設定とほとんど一緒です。

形状を長方形と円から選択できます。大きさも変更できます。

アセットストア

Unity公式や有志の方が制作したテンプレや便利なツール、モデルやエフェクトなどが無料または有料で配布されているサイトがあります。

Window > Package Management > Asset Storeを選択するとブラウザでサイトが開きます。

またはこのリンクから移動します。https://assetstore.unity.com/?utm_source=unity-editor-window-menu&utm_medium=desktop-app

image.png