Lightweight Render Shader not receive shadows
my player and my plane have same shader. player have a shadow and terrain receiving players shadow shadowsuccessfuly. terrain have render pipeline terrain lit. my plane not receive players shadow. I sharing my shader. Thanks for any help.
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
// Shader targeted for low end devices. Single Pass Forward Rendering.
Shader "gameShader"
{
// Keep properties of StandardSpecular shader for upgrade reasons.
Properties
{
_Colorf("Main Color", Color) = (1,1,1,1)
_SpecColf("Specular Color", Color) = (1,1,1)
_Hue("Hue", Range(0, 1.0)) = 0
_Saturation("Saturation", Range(0, 1.0)) = 0.7
_Brightness("Brightness", Range(0, 1.0)) = 0.5
_Contrast("Contrast", Range(0, 1.0)) = 0.5
_MainTex("BaseMap", 2D) = "white" {}
}
SubShader
{
Tags {"RenderType" = "Transparent" "Queue" = "Transparent"}
LOD 300
Pass{
ColorMask RGB
SeparateSpecular On
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma multi_compile_fog
#pragma multi_compile_instancing
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
fixed _Hue, _Saturation, _Brightness, _Contrast;
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _TintColor;
float _Transparency;
float _CutoutThresh;
float _Distance;
float _Amplitude;
float _Speed;
float _Amount;
fixed4 _Colorf;
fixed4 _SpecColf;
// Function
inline float3 applyHue(float3 aColor, float aHue)
{
float angle = radians(aHue);
float3 k = float3(0.57735, 0.57735, 0.57735);
float cosAngle = cos(angle);
//Rodrigues' rotation formula
return aColor * cosAngle + cross(k, aColor) * sin(angle) + k * dot(k, aColor) * (1 - cosAngle);
}
inline float4 applyHSBEffect(float4 startColor, fixed4 hsbc)
{
float hue = 360 * hsbc.r;
float saturation = hsbc.g * 2;
float brightness = hsbc.b * 2 - 1;
float contrast = hsbc.a * 2;
float4 outputColor = startColor;
outputColor.rgb = applyHue(outputColor.rgb, hue);
outputColor.rgb = (outputColor.rgb - 0.5f) * contrast + 0.5f + brightness;
outputColor.rgb = lerp(Luminance(outputColor.rgb), outputColor.rgb, saturation);
return outputColor;
}
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
UNITY_FOG_COORDS(n)
fixed4 hsbc : COLOR;
};
v2f vert(appdata v)
{
v2f o;
v.vertex.x += sin(_Time.y * _Speed + v.vertex.y * _Amplitude) * _Distance * _Amount;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
o.hsbc = fixed4(_Hue, _Saturation, _Brightness, _Contrast);
UNITY_TRANSFER_FOG(o, o.vertex);
return o;
}
fixed4 frag(v2f i) : SV_Target
{
float4 startColor = tex2D(_MainTex, i.uv);
startColor.a = _Colorf.a;
startColor.b += _Colorf.b;
startColor.b -= _SpecColf.b;
startColor.r += _Colorf.r;
startColor.r -= _SpecColf.r;
startColor.g += _Colorf.g;
startColor.g -= _SpecColf.g;
float4 hsbColor = applyHSBEffect(startColor, i.hsbc);
UNITY_APPLY_FOG(i.fogCoord, hsbColor);
return hsbColor;
}
ENDCG
Material
{
Diffuse[_Color]
Ambient[_Color]
Shininess[_Shininess]
Specular[_SpecCol]
Emission[_Emission]
}
}
Pass
{
Name "ShadowCaster"
Tags{"LightMode" = "ShadowCaster"}
ZWrite On
ZTest LEqual
Cull[_Cull]
HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 2.0
// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _GLOSSINESS_FROM_BASE_ALPHA
//--------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#pragma vertex ShadowPassVertex
#pragma fragment ShadowPassFragment
#include "Packages/com.unity.render-pipelines.lightweight/Shaders/BakedLitInput.hlsl"
#include "Packages/com.unity.render-pipelines.lightweight/Shaders/ShadowCasterPass.hlsl"
ENDHLSL
}
}
Fallback "VertexLit"
}
Comment
Your answer
Follow this Question
Related Questions
Hair and eye shader? 0 Answers
Shader error when updating shader. 0 Answers
How to modify depth blended shader for second camera/reflection projection? 0 Answers
Help Please,Help Pease 0 Answers