// 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" }