- Home /
Can I receive shadows with my unlit shader graph shader?
I understand that this could end up being a futile question, but my goal is to have something similar to Wind Waker, which had shadows, so it can't be impossible, right?
To be clear, my goal is to have a toon/cel shader, so my natural assumption is that it has to be an unlit shader (if not, please tell me how else I could do it, or at least point me to the correct tutorial). My problem is that I have no idea how to check if the specified point is in shadow or not. I've tried looking all over google, but I can't seem to ever get a straight answer.
Anyway, here's my graph (for lack of a better way of showing it):
and in the "Get Color" node, the code is:
CamDot = .5 - CamDot;
CamDot *= NumShades;
CamDot = ceil(CamDot);
CamDot /= NumShades;
NormDot *= NumShades;
NormDot = ceil(NormDot);
NormDot /= NumShades;
if (CamDot < 0) CamDot = 0;
if (NormDot < 0) NormDot = 0;
float bright = CamDot + NormDot;
if (bright <= .5) {
bright *= 2;
Out = CShade*(1-bright)+CMain*bright;
}
else if (bright <= 1) {
bright *= 2;
bright -= 1;
Out = CMain *(1-bright)+CTint*bright;
}
else {
bright *= 2;
bright -= 2;
if (bright > 1) bright = 1;
Out = CTint*(1-bright*2)+CHiLit*bright*2;
}
And in the "Get Main Light" (which I got from a tutorial):
#if SHADERGRAPH_PREVIEW
Direction = half3(0.5, 0.5, 0);
Color = 1;
DistanceAtten = 1;
ShadowAtten = 1;
#else
#if SHADOWS_SCREEN
half4 clipPos = TransformWorldToHClip(WorldPos);
half4 shadowCoord = ComputeScreenPos(clipPos);
#else
half4 shadowCoord = TransformWorldToShadowCoord(WorldPos);
#endif
Light mainLight = GetMainLight(shadowCoord);
Direction = mainLight.direction;
Color = mainLight.color;
DistanceAtten = mainLight.distanceAttenuation;
ShadowAtten = mainLight.shadowAttenuation;
#endif
Any help is much appreciated. Thanks!
Your answer
Follow this Question
Related Questions
Unlit shader with shadows. 0 Answers
Problem with Binars Lunar's Cel/Toon Shader 0 Answers
Cell Shading Using 2D Renderer? 0 Answers
Shader: How can my unlit material receive a uniform shadow? 1 Answer
Add Color Property to Unlit Alpha? 1 Answer