// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
|
|
|
Shader "OvrAvatar/AvatarSurfaceShaderPBS" {
|
|
Properties{
|
|
// Global parameters
|
|
_Alpha("Alpha", Range(0.0, 1.0)) = 1.0
|
|
_Albedo("Albedo (RGB)", 2D) = "" {}
|
|
_Surface("Metallic (R) Occlusion (G) and Smoothness (A)", 2D) = "" {}
|
|
}
|
|
SubShader{
|
|
Tags {
|
|
"Queue" = "Transparent"
|
|
"RenderType" = "Transparent"
|
|
}
|
|
|
|
Pass {
|
|
ZWrite On
|
|
Cull Off
|
|
ColorMask 0
|
|
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
#pragma target 3.0
|
|
#include "UnityCG.cginc"
|
|
|
|
struct v2f {
|
|
float4 position : SV_POSITION;
|
|
};
|
|
v2f vert(appdata_full v) {
|
|
// Output
|
|
v2f output;
|
|
output.position = UnityObjectToClipPos(v.vertex);
|
|
return output;
|
|
}
|
|
|
|
float4 frag(v2f input) : COLOR {
|
|
return 0;
|
|
}
|
|
ENDCG
|
|
}
|
|
|
|
LOD 200
|
|
|
|
CGPROGRAM
|
|
|
|
// Physically based Standard lighting model, and enable shadows on all light types
|
|
#pragma surface surf Standard vertex:vert nolightmap alpha noforwardadd
|
|
|
|
float _Alpha;
|
|
sampler2D _Albedo;
|
|
float4 _Albedo_ST;
|
|
sampler2D _Surface;
|
|
float4 _Surface_ST;
|
|
|
|
struct Input {
|
|
float2 texcoord;
|
|
};
|
|
|
|
void vert(inout appdata_full v, out Input o) {
|
|
UNITY_INITIALIZE_OUTPUT(Input, o);
|
|
o.texcoord = v.texcoord.xy;
|
|
}
|
|
|
|
void surf (Input IN, inout SurfaceOutputStandard o) {
|
|
o.Albedo = tex2D(_Albedo, TRANSFORM_TEX(IN.texcoord, _Albedo)).rgb;
|
|
float4 surfaceParams = tex2D(_Surface, TRANSFORM_TEX(IN.texcoord, _Surface));
|
|
o.Metallic = surfaceParams.r;
|
|
o.Occlusion = surfaceParams.g;
|
|
o.Smoothness = surfaceParams.a;
|
|
o.Alpha = _Alpha;
|
|
}
|
|
|
|
#pragma only_renderers d3d11 gles3 gles
|
|
|
|
ENDCG
|
|
}
|
|
FallBack "Diffuse"
|
|
}
|