Shader "Custom/MySurfaceShader"
{
Properties
{
_Color("Color",COLOR)=(1,1,1,1)
_EdgeColor("EdgeColor",COLOR)=(0,1,0,1)
_Range("EdgeRange",Range(0,1))=0.5
}
SubShader
{
Tags{"Queue"="Geometry"}
LOD 200
CGPROGRAM
#pragma surface surf Lambert
fixed4 _Color;
fixed4 _EdgeColor;
float _Range;
struct Input
{
float2 uv_MainTex;//对应_Maintex的UV坐标
float2 Normal;
float3 viewDir;//入视角
};
void surf(Input IN,inout SurfaceOutput o)
{
float3 viewDir=normalize(IN.viewDir);
half edge=saturate(dot(viewDir,o.Normal));
o.Albedo=_Color;
o.Emission=_EdgeColor*(1-edge)*_Range;
}
ENDCG
}
}
Unity Shader 初学 表面着色器 渐变边缘光
于 2023-08-08 16:32:48 首次发布