_。("。",2d) = "whitr"{} //法线"bump"灰度"gray"
_。("。",color) = (1.0,1.0,1.0,1.0)
_。("。",range(0.0,1.0)) = 0.5
//tags
"RenderType"="TransparentCutout" //AC
"ForceNoShadowCasting"="True" //关闭投影
"IgnoreProjector"="True" //不响应投射器
//输入参数
uniform sampler2D _。; _ST;
uniform float4 _。;
uniform float3 _。;
//输入结构
float4 vertex : POSITION; //顶点
float4 normal : NORMAL; //法线
float2 uv : TEXCOORD0; //uv
float4 tangent : TANGENT; //模型切线信息
//输出结构
float4 pos : SV_POSITION; //屏幕顶点
float3 nDirWS : TEXCOORD0; //世界法线信息
float2 uv0 : TEXCOORD0;
//顶点
VertexOutput o = (VertexOutput)0; //输出顶点结构
o.pos = UnityObjectToClipPos( v.vertex );
o.uv0 = v.uv; //TRANSFORM_TEX(i.uv0,_。)
o.nDirWS = UnityObjectToWorldNormal(v.normal);
o.tDirWS = normalize(mul( unity_ObjectToWorld,float4(v.tangent.xyz,0.0)).xyz);
o.bDirWS = normalize(cross(o.nDirWS,o.tDirWS)*v.tangent.w);
//像素
float3 。= tex2D(_。,TRANSFORM_TEX(i.uv0, _。)); //ao贴图
float3 nDirTS =UnpackNormal(tex2D(_。,TRANSFORM_TEX(i.uv0,_。))); //解码的法线信息
float3x3 TBN = float3x3(i.tDirWS,i.bDirWS,i.nDirWS); //TBN矩阵
复制粘贴用
最新推荐文章于 2022-11-30 11:29:09 发布