The MotionVectors pass (drawn by HTrace and URP against the real camera depth buffer) was stock URP: no cutout clip and ZWrite on, so it wrote the wall depth back into the hole after opaques. The skybox then failed the depth test there (black disc) and all screen-space effects (SSAO/GI) shaded the hole with the occluded wall's depth. The pass now runs ApplyHeroCutout before URP's fragment entry point. ObjectMotionVectors.hlsl forces its own entry via include_with_pragmas, so the pragmas are declared explicitly and the file is plain-included. Complements the earlier GBuffer clip; XR MV pass and ShadowCaster stay stock on purpose. Includes render-queue churn on the occluder material. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
124 lines
3.3 KiB
Plaintext
124 lines
3.3 KiB
Plaintext
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!21 &2100000
|
|
Material:
|
|
serializedVersion: 8
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_Name: Hero Cutout Occluder
|
|
m_Shader: {fileID: 4800000, guid: 023c98a32f6cc00478e50479839530c5, type: 3}
|
|
m_Parent: {fileID: 0}
|
|
m_ModifiedSerializedProperties: 0
|
|
m_ValidKeywords: []
|
|
m_InvalidKeywords: []
|
|
m_LightmapFlags: 4
|
|
m_EnableInstancingVariants: 0
|
|
m_DoubleSidedGI: 0
|
|
m_CustomRenderQueue: 2000
|
|
stringTagMap:
|
|
RenderType: Opaque
|
|
disabledShaderPasses: []
|
|
m_LockedProperties:
|
|
m_SavedProperties:
|
|
serializedVersion: 3
|
|
m_TexEnvs:
|
|
- _BaseMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _BumpMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _DetailAlbedoMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _DetailMask:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _DetailNormalMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _EmissionMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _MainTex:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _MetallicGlossMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _OcclusionMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _ParallaxMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- _SpecGlossMap:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- unity_Lightmaps:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- unity_LightmapsInd:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
- unity_ShadowMasks:
|
|
m_Texture: {fileID: 0}
|
|
m_Scale: {x: 1, y: 1}
|
|
m_Offset: {x: 0, y: 0}
|
|
m_Ints: []
|
|
m_Floats:
|
|
- _AddPrecomputedVelocity: 0
|
|
- _AlphaClip: 0
|
|
- _AlphaToMask: 0
|
|
- _Blend: 0
|
|
- _BlendModePreserveSpecular: 1
|
|
- _BumpScale: 1
|
|
- _ClearCoatMask: 0
|
|
- _ClearCoatSmoothness: 0
|
|
- _Cull: 2
|
|
- _Cutoff: 0.5
|
|
- _DetailAlbedoMapScale: 1
|
|
- _DetailNormalMapScale: 1
|
|
- _DstBlend: 0
|
|
- _DstBlendAlpha: 0
|
|
- _EnvironmentReflections: 1
|
|
- _GlossMapScale: 0
|
|
- _Glossiness: 0
|
|
- _GlossyReflections: 0
|
|
- _Metallic: 0
|
|
- _OcclusionStrength: 1
|
|
- _Parallax: 0.005
|
|
- _QueueOffset: 0
|
|
- _ReceiveShadows: 1
|
|
- _Smoothness: 0.5
|
|
- _SmoothnessTextureChannel: 0
|
|
- _SpecularHighlights: 1
|
|
- _SrcBlend: 1
|
|
- _SrcBlendAlpha: 1
|
|
- _Surface: 0
|
|
- _WorkflowMode: 1
|
|
- _XRMotionVectorsPass: 1
|
|
- _ZWrite: 1
|
|
m_Colors:
|
|
- _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
|
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
|
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
|
|
m_BuildTextureStacks: []
|
|
m_AllowLocking: 1
|