-
-
Save antonsem/b294fa7b7443e017599ee7a87a22b8b4 to your computer and use it in GitHub Desktop.
Shader "AR Proxy" | |
{ | |
Properties | |
{ | |
} | |
SubShader | |
{ | |
Tags | |
{ | |
"RenderType" = "Transparent" | |
"RenderPipeline" = "UniversalPipeline" | |
"IgnoreProjector" = "True" | |
} | |
LOD 300 | |
Pass | |
{ | |
Name "AR Proxy" | |
Tags | |
{ | |
"LightMode" = "LightweightForward" | |
} | |
Blend SrcAlpha OneMinusSrcAlpha | |
ZWrite On | |
Cull Off | |
HLSLPROGRAM | |
#pragma prefer_hlslcc gles | |
#pragma exclude_renderers d3d11_9x | |
#pragma target 2.0 | |
// ------------------------------------- | |
// Material Keywords | |
#pragma shader_feature _ALPHATEST_ON | |
#pragma shader_feature _ALPHAPREMULTIPLY_ON | |
// ------------------------------------- | |
// Lightweight Pipeline keywords | |
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS | |
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS_CASCADE | |
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS | |
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS | |
#pragma multi_compile _ _SHADOWS_SOFT | |
// ------------------------------------- | |
// Unity defined keywords | |
#pragma multi_compile _ DIRLIGHTMAP_COMBINED | |
#pragma multi_compile _ LIGHTMAP_ON | |
//-------------------------------------- | |
// GPU Instancing | |
#pragma multi_compile_instancing | |
#pragma vertex HiddenVertex | |
#pragma fragment HiddenFragment | |
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" | |
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl" | |
struct Attributes | |
{ | |
UNITY_VERTEX_INPUT_INSTANCE_ID | |
float4 positionOS : POSITION; | |
}; | |
struct Varyings | |
{ | |
float4 positionCS : SV_POSITION; | |
float4 shadowCoord : TEXCOORD0; | |
}; | |
Varyings HiddenVertex(Attributes input) | |
{ | |
Varyings output = (Varyings)0; | |
UNITY_SETUP_INSTANCE_ID(input); | |
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); | |
VertexPositionInputs vertexInput = GetVertexPositionInputs(input.positionOS.xyz); | |
output.shadowCoord = GetShadowCoord(vertexInput); | |
output.positionCS = vertexInput.positionCS; | |
return output; | |
} | |
half4 HiddenFragment(Varyings input) : SV_Target | |
{ | |
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); | |
half s = MainLightRealtimeShadow(input.shadowCoord); | |
return half4(0, 0, 0, 1 - s); | |
} | |
ENDHLSL | |
} | |
UsePass "Universal Render Pipeline/Lit/DepthOnly" | |
} | |
FallBack "Hidden/InternalErrorShader" | |
} |
Render Queue Transparency at 3000 does make the material transparent, yes. But it also nullifies the Occlusion for me, I can see the object completely.
Anyone found a solution for this?
I figured out that it works only with URP installed and enabled. For transparency set Render Queue 3000
…
On Fri, Jul 17, 2020, 20:24 Dilmer Valecillos @.> wrote: @.* commented on this gist. ------------------------------ It works for me but it has a gray color instead of completely transparent. — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://gist.github.com/b294fa7b7443e017599ee7a87a22b8b4#gistcomment-3381495, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAVQ46ZKGB4BFSZLKV2GLN3R4CCNLANCNFSM4KXCMCJQ .
Thank you for this! Works like a charm here. 2020.3.1f1 (LTS) with URP 10.3.2. using it together with AR Foundation PlaneOcclusionShader to render shadows on the ground. Really awesome work dude!
It works for me but it has a gray color instead of completely transparent.