Add a second, additive HDR emission color (_XRayColor) that reveals a player through walls as a pulsing energy glow, driven during matches: - Shader: XRayOverlay pass (ZTest Greater, additive) for occluded parts plus a matching additive term in the forward fragment for visible parts, so the glow shows everywhere and never double-blends. Exposes _XRayColor, _XRayPulseSpeed and _XRayPulseStrength for a breathing pulse. - Render it after opaques via a RenderObjects feature (custom XRayReveal light-mode tag) on both PC and Mobile renderers, so the through-wall test is depth-sort independent and no longer drops out at some camera angles/distances. - MeshPainter drives _XRayColor alpha through a framerate-independent fade (xrayFadeDuration) rather than a hard toggle. - Reveal is driven per avatar on every client: all remaining un-found hiders glow during the Resolution phase, and a hider whose ConcealmentMeter EmbeddedPercent exceeds MatchManager.embeddedRevealPercent glows via an owner-authoritative NetworkVariable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
127 lines
4.1 KiB
Plaintext
127 lines
4.1 KiB
Plaintext
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!114 &11400000
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
|
|
m_Name: PC_Renderer
|
|
m_EditorClassIdentifier:
|
|
debugShaders:
|
|
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
|
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
|
|
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
|
|
probeVolumeResources:
|
|
probeVolumeDebugShader: {fileID: 4800000, guid: e5c6678ed2aaa91408dd3df699057aae, type: 3}
|
|
probeVolumeFragmentationDebugShader: {fileID: 4800000, guid: 03cfc4915c15d504a9ed85ecc404e607, type: 3}
|
|
probeVolumeOffsetDebugShader: {fileID: 4800000, guid: 53a11f4ebaebf4049b3638ef78dc9664, type: 3}
|
|
probeVolumeSamplingDebugShader: {fileID: 4800000, guid: 8f96cd657dc40064aa21efcc7e50a2e7, type: 3}
|
|
probeSamplingDebugMesh: {fileID: -3555484719484374845, guid: 57d7c4c16e2765b47a4d2069b311bffe, type: 3}
|
|
probeSamplingDebugTexture: {fileID: 2800000, guid: 24ec0e140fb444a44ab96ee80844e18e, type: 3}
|
|
probeVolumeBlendStatesCS: {fileID: 7200000, guid: b9a23f869c4fd45f19c5ada54dd82176, type: 3}
|
|
m_RendererFeatures:
|
|
- {fileID: 7833122117494664109}
|
|
- {fileID: 6245067092740157231}
|
|
m_RendererFeatureMap: ad6b866f10d7b46c2f2f42dd6eefaa56
|
|
m_UseNativeRenderPass: 1
|
|
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
|
m_AssetVersion: 3
|
|
m_PrepassLayerMask:
|
|
serializedVersion: 2
|
|
m_Bits: 4294967295
|
|
m_OpaqueLayerMask:
|
|
serializedVersion: 2
|
|
m_Bits: 4294967295
|
|
m_TransparentLayerMask:
|
|
serializedVersion: 2
|
|
m_Bits: 4294967295
|
|
m_DefaultStencilState:
|
|
overrideStencilState: 0
|
|
stencilReference: 1
|
|
stencilCompareFunction: 3
|
|
passOperation: 2
|
|
failOperation: 0
|
|
zFailOperation: 0
|
|
m_ShadowTransparentReceive: 1
|
|
m_RenderingMode: 2
|
|
m_DepthPrimingMode: 0
|
|
m_CopyDepthMode: 0
|
|
m_DepthAttachmentFormat: 0
|
|
m_DepthTextureFormat: 0
|
|
m_AccurateGbufferNormals: 0
|
|
m_IntermediateTextureMode: 0
|
|
--- !u!114 &6245067092740157231
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 1
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: 6b3d386ba5cd94485973aee1479b272e, type: 3}
|
|
m_Name: XRay Reveal (through walls)
|
|
m_EditorClassIdentifier: Unity.RenderPipelines.Universal.Runtime::UnityEngine.Rendering.Universal.RenderObjects
|
|
m_Active: 1
|
|
settings:
|
|
passTag: XRayReveal
|
|
Event: 300
|
|
filterSettings:
|
|
RenderQueueType: 0
|
|
LayerMask:
|
|
serializedVersion: 2
|
|
m_Bits: 4294967295
|
|
PassNames:
|
|
- XRayReveal
|
|
overrideMaterial: {fileID: 0}
|
|
overrideMaterialPassIndex: 0
|
|
overrideShader: {fileID: 0}
|
|
overrideShaderPassIndex: 0
|
|
overrideMode: 0
|
|
overrideDepthState: 0
|
|
depthCompareFunction: 4
|
|
enableWrite: 1
|
|
stencilSettings:
|
|
overrideStencilState: 0
|
|
stencilReference: 0
|
|
stencilCompareFunction: 8
|
|
passOperation: 0
|
|
failOperation: 0
|
|
zFailOperation: 0
|
|
cameraSettings:
|
|
overrideCamera: 0
|
|
restoreCamera: 1
|
|
offset: {x: 0, y: 0, z: 0, w: 0}
|
|
cameraFieldOfView: 60
|
|
--- !u!114 &7833122117494664109
|
|
MonoBehaviour:
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_GameObject: {fileID: 0}
|
|
m_Enabled: 1
|
|
m_EditorHideFlags: 0
|
|
m_Script: {fileID: 11500000, guid: f62c9c65cf3354c93be831c8bc075510, type: 3}
|
|
m_Name: ScreenSpaceAmbientOcclusion
|
|
m_EditorClassIdentifier:
|
|
m_Active: 1
|
|
m_Settings:
|
|
AOMethod: 1
|
|
Downsample: 0
|
|
AfterOpaque: 0
|
|
Source: 1
|
|
NormalSamples: 1
|
|
Intensity: 0.4
|
|
DirectLightingStrength: 0.25
|
|
Radius: 0.2
|
|
Samples: 0
|
|
BlurQuality: 0
|
|
Falloff: 100
|
|
SampleCount: -1
|