【Unity】ShaderGraphで拡散反射(Diffuse)を作成する

はじめに

今回はShaderGraphで拡散反射(Diffuse)を作成していきます。

環境は Unity 2021.3.25f1です

Universal Render Pipeline を使用しています。

ノード作成

ノード全体図です

拡散反射は光の向きと法線の内積で表現することができます

ライトの取得はCustomFunctionノードで作成しています

#ifdef SHADERGRAPH_PREVIEW
    Direction = half3(0.5, 0.5, 0);
    Color = 1;

#else
    Light light = GetMainLight();
    Direction = light.direction;
    Color = light.color;
#endif

完成

参考

blog.applibot.co.jp

nn-hokuson.hatenablog.com