【Unity】環境光シェーダー

環境
- Unity 2021.2.11f1
- Build-in Rendering Pipline
環境光とは
環境光とは、地面や他の物体にあたった光が跳ね返った光のことです。
ここでは、環境光は物体に対し一様にあたっていると考えます。
ShaderLabで環境光を使用する
fixed4 frag(v2f i) : SV_Target
{
return UNITY_LIGHTMODEL_AMBIENT;
}
UNITY_LIGHTMODEL_AMBIENT
を使うと環境光の色を取得できます。その色をフラグメントシェーダーで返すことで冒頭の画像結果が得られます。
その他の環境光取得マクロ
unity_AmbientSkyunity_AmbientGroundUNITY_LIGHTMODEL_AMBIENT
https://docs.unity3d.com/ja/2018.4/Manual/SL-UnityShaderVariables.html
環境光の調整
Window -> Rendering -> Lighting から Lightingウィンドウを開きます。
Enviroment Lightingから Sourceを Gradient か Color に変更します。
Gradientの場合は、 SkyColor Colorの場合は、 Ambient Color
を変更することで UNITY_LIGHTMODEL_AMBIENT
から取得できるカラーも変更されます。

Table of contents