自己紹介
URPのShaderLabの記事少なすぎ問題を提唱したい大学生
今回の題材
とあるサイトを参考にToonShaderを書いていたのですが、影が落ちない。
影落とすにはどうするんかなーと思って、色々調べてたのですがなぜか日本語の記事1個もなかったので、日本語の記事書きます。
実は超簡単
Pass {
Name "ShadowCaster"
Tags { "LightMode"="ShadowCaster" }
ZWrite On
ZTest LEqual
HLSLPROGRAM
#pragma vertex ShadowPassVertex
#pragma fragment ShadowPassFragment
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
#pragma multi_compile_instancing
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/SurfaceInput.hlsl"
#include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
ENDHLSL
}
上記のコードを2つ目のPassとして記述するだけです。
これはURPのShadowCasterPass.hlsl
に記述されているシェーダーを呼び出すだけのことをしています。
おわり
こんだけ。誰かが救われますように()
参考