【Unity】Lighting入門 環境光の使い方紹介

この記事ではUnityで制作するシーンの基本のライティング設定について説明します。
環境光を適切に設定することで、与える印象を演出できます。今回は、基本的にLightingウィンドウの設定を使用してできること+αの説明です。自然環境を想定したシーンを制作する場合におすすめです。

サンプル

この記事で説明した内容を反映して制作したサンプルになります。

STYLY STUDIOでは、UnityからプレハブやシーンをアップロードしてSTYLYシーンを作成することができます。Unityのシーンごとアップロードすることでシーン全体のライティングをSTYLYシーンとして使用することができ、より意図に沿った演出ができます。

オブジェクトを作成する

シーンの見栄えを確かめるために、簡単なオブジェクトを用意します。
すでにSTYLYにアップロードしたいオブジェクトなどがある場合はこの段落を飛ばしても構いません。

3Dオブジェクトを作成する

3Dオブジェクトを作成する

Hierarchyウィンドウ上で右クリック>3D Objectを選択して、PlaneとCubeを生成します。

PlaneのScaleを設定する

PlaneのScaleを設定する


cubeのScaleを設定する

cubeのScaleを設定する

広い地平線にCubeが置かれただけの簡単なものを作成します。

マテリアルを作成する

マテリアルを作成する

また、後ほど反射する設定を確認するためのマテリアルを作成します。プロジェクト上で右クリック > Create > Materialを選択します。

マテリアルを設定する

マテリアルを設定する

Metalicを1、Smoothnessを1に設定します。わかりやすいようにマテリアルの名前も変更します。今回はCubeに適用するので、cubeとします。

作成したマテリアルをCubeに適用する

作成したマテリアルをCubeに適用する

作成したマテリアルを、適用するオブジェクト(Cube)にドラッグします。これで後ほど、Cubeだけに反射を設定することができます。

 

Skyboxを設定する

STYLY STUDIOにもいくつかのSkyboxが用意されていますが、Unity上では豊富な種類のSkyboxから好みのものを設定できます。

さまざまなSkybox

さまざまなSkybox

Skyboxを変更するだけでもシーン全体の雰囲気が変わるほか、ライティングのソースにもなります。

Skyboxの設定方法

Lightingウィンドウを表示する

Lightingウィンドウを表示する

Skyboxは、Lightingウィンドウ上で設定することができます。Lightingウィンドウが画面上に出ていない場合は、ナビゲーションバーから「Window > Rendering > Lighting」を選択してウィンドウを出します。ウィンドウは任意の場所に配置して構いませんが、Inspectorウィンドウの隣にあると使いやすいです。

Skyboxを設定する

Skyboxを設定する

Environment配下のSkybox Materialに、任意のSkyboxをドラッグすることで設定できます。

Skyboxはアセットストアで入手するか自分で作成することも可能ですが、まずはアセットストアで探すのがおすすめです。無料のものもありますが、「All Sky」は10ドルで高品質なSkyboxが200種パッケージされているので便利です。

こちらの記事で、All Skyの解説をしているので、使用する場合はご一読ください。

また、All SkyにあるすべてのSkyboxには、名称そのままのものと、名称の後ろに「Equirect」と記されているものがあります。VRシーンに使用する場合はEquirectを選択してください。この記事ではAll Skyの「Epic_GloriousPink Equirect」を使用して進めますが、お好みのものを使用してください。ドラッグするだけで確認できるので、いろいろ試して見合ったSkyboxを見つけましょう。

(※ただし、All Skyはボリュームが重いアセットなので、使用するSkyboxがあらかじめ決まっている場合はそれだけをImportするのがおすすめです。)

Lightingの環境光に関する設定

Lighting設定のうち、環境光に関する設定を進めます。

Lightingで環境光の設定をする

Lightingで環境光の設定をする

LightingウィンドウではSkyboxのほかに、シーンのライティングに関する設定を行えます。

まずは、環境光の設定に使用する項目「Environment Lighting」「Environment Reflections」について説明します。

Environment Lighting

シーン全体のライティングの元となる設定です。「Source」で、元となる光源を選択し、「Intensity Multipiler」でどのくらい明るくするかを設定します。

Sourceは、Skybox、Gradient、Colorの3種類から選択します。

Skyboxの設定

Skyboxの設定

デフォルトで設定されているのがSkyboxです。Skyboxが環境光のソースになっているので自然な色味を表現できます。

Gradientの設定

Gradientの設定

Gradientは、空、大気、地面と3つの光源の色を指定してグラデーションで表現される環境光です。インパクトの強いシーンを作成できます。

Colorの設定

Colorの設定

Colorは単色で環境光を表現するので、かなりビビッドな印象になります。

Skyboxにするのが基本ですが、表現したいものによってはColorなどに設定することで、より特徴的なシーンを制作できます。

Intensity Multipilerで明るさを変更する

Intensity Multipilerで明るさを変更する

Intensity Multipilerではスライダーを増減することで、明るさの度合いを設定できます。数値が増えるほど明るくなります。

Environment Reflections

SourceにSkyboxを設定する

SourceにSkyboxを設定する

シーン全体の光の反射についての設定です。大まかには、「Source」で反射するエフェクトをSkyboxかCustomの2種類から選択し、「Intensity Multipiler」で反射光の明るさを設定します。

SourceをSkyboxに設定する

SourceをSkyboxに設定する

SourceをSkyboxに設定すると、Skyboxが反射します。PlaneにSkyboxの色味が淡く反映されているのと、Cubeに適用したマテリアルが反射するように設定されているので、Cubeの方がわかりやすく反映しています。

SourceをCustomに設定する

SourceをCustomに設定する

SourceをCustomに設定すると、Cubemapという設定項目が表示されます。ここに任意のCubemapをドラッグすることで、独自のエフェクトを反射させられます。

Intensity Multipilerで明るさを変更する

Intensity Multipilerで明るさを変更する

Intensity Multiplierのスライダーで数値を増減させることで、どの程度反射するかを設定できます。

デフォルト状態のLighting設定

デフォルト状態のLighting設定

Environment ReflectionsのIntensity Multipilerはデフォルトでは1に設定されています。Directional Lightを消してもシーンが完全に暗くならないのはこのためです。完全に暗くしたい場合には0に、通常は1にして問題ないです。上記のGIFでは、反映の度合いが分かりやすいようにDirectional Lightを消した状態でスライダーを動かしました。

Directional Lightを戻してIntensity Multiplierを適切に設定した状態

Directional Lightを戻してIntensity Multiplierを適切に設定した状態

Directional Lightを戻し、Environment Lightingの明るさを0.3に、Environment Reflectionsの明るさを1にしました。

Other Settingsの設定

Lightingの設定の内、その他に分類される「Fog」「Halo」「Flare」の設定です。

Fogの設定

Fogの設定

Fogのチェックボックスをオンにすると、Fogを設定する項目が表示されます。

FogのColor設定

FogのColor設定

ColorでFogの色味を設定できます。

FogのMode設定

FogのMode設定

ModeがFogの密度に関する設定です。Liner、Exponential、Exponential、Exponential Squaredの3つのモードが用意されています。

FogのMode設定(Liner)

FogのMode設定(Liner)

「Liner」は直線的に描画されるモードです。霧が発生する距離(Start)と、消える距離(End)の数値を入力することで設定できます。

Densityを1にする

Densityを1にする

Exponential、Exponential Squaredの2つは、Densityのスライダーで0~1の間で数値を増やすことで指数関数的に霧の密度を高くします。1にすると完全に霧に覆われます。

今回は、0.05に設定にしました。

Draw Haloにチェックを入れる

Draw Haloにチェックを入れる

「Halo」は太陽のまわりに見える暈の設定です。こちらを設定する場合は、まずLightのInspectorの「Dawn Halo」のチェックボックスにチェックを入れて適用してください。

Haloを修正する

Haloを修正する

「Halo Strengh」のスライダーで0~1の間で数値を増やすと、Lightの周りに描画されるHaloが大きくなります。

Game Objectを作成する

Game Objectを作成する

「Flare」は、レンズフレアの設定です。レンズフレアはフレアを発生させるためのGame Objectを生成し、Main Cameraにコンポーネントを追加することでシーンに描画できるので、使用する場合はまずそれの設定をします。
Hierarchyウィンドウ上で右クリック > Create Emptyを選択し、空のGame Objectを生成します。わかりやすいように、Game Objectの名称を「flare」に変更します。

Game ObjectにLens Flareコンポーネントを追加する

Game ObjectにLens Flareコンポーネントを追加する

Game ObjectのインスペクターからAdd Componentを選択し、Lens Flareコンポーネントを追加します。検索バーに「flare」と入力するとすぐ見つけられます。

Flareで、設定したいレンズフレアを選択できます。選択バーの横のボタンを押すと、設定できるFlareの一覧が表示されます。今回はStandard Assetsの「Sun」を選択しています。

FlareはそのままだとGameビューに描画されないので、CameraにFlare Layerコンポーネントを追加します。

FlareのColorを変更する

FlareのColorを変更する

Colorでフレアの色を変更できます。赤枠の部分をクリックするとカラーパレットが表示されるので、お好みで設定できます。

FlareのBlightnessを修正する

FlareのBlightnessを修正する

Brightnessで明るさを変更できます。デフォルトがかなり明るい状態なので、0.1くらいにするとよいでしょう。続く項目、Fade Speed、Ignore Layersはそのままで大丈夫です。

Game Objectがある地点からFlareが描画される

Game Objectがある地点からFlareが描画される

Directionalのチェックを外すと、レンズフレアのGame Objectがあるポイントから発生するようになります。

SkyboxのRotationを変更する

SkyboxのRotationを変更する

Directionalのチェックを入れるとレンズフレアの位置が無限遠になるので、自然に近い印象になります。この時にSkyboxとの位置がずれる場合は、SkyboxのインスペクターからRotationを変更してSkyboxに描画されている太陽の位置とレンズフレアを合わせることで、より自然になります。

今回の説明する項目は以上です。STYLYにアップロードして、確認しましょう。

STYLYへアップロード

実際にSTYLYへアップロードして使用しましょう。
今回はUnityのシーンをそのままSTYLYにアップロードするので、こちらをご参照ください。
また、関連記事でも述べている通り、Unityのシーンで使用したライトはWeb上では影が反映されません。VRビューのみ反映されます。

STYLYアカウントを作成する

アカウント作成方法

NEWVIEW SCHOOL ONLINEの紹介

VR/ARコンテンツ制作に必要なUnity・PlayMakerを基礎から応用まで学べ、STYLYで配信されている魅力的なコンテンツの制作過程(制作技術も公開します)を学べるNEWVIEW SCHOOL ONLINEを開講中です。