Add see-through X-ray reveal overlay for players
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>
This commit is contained in:
1 parent
d7104f9314
commit
c54e0cf502
8 files changed
+338
-13
No files matched your search
@@ -13,11 +13,9 @@ MonoBehaviour:
|
||||
m_Name: Mobile_Renderer
|
||||
m_EditorClassIdentifier:
|
||||
debugShaders:
|
||||
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7,
|
||||
type: 3}
|
||||
debugReplacementPS: {fileID: 4800000, guid: cf852408f2e174538bcd9b7fda1c5ae7, type: 3}
|
||||
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
|
||||
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959,
|
||||
type: 3}
|
||||
probeVolumeSamplingDebugComputeShader: {fileID: 7200000, guid: 53626a513ea68ce47b59dc1299fe3959, type: 3}
|
||||
probeVolumeResources:
|
||||
probeVolumeDebugShader: {fileID: 0}
|
||||
probeVolumeFragmentationDebugShader: {fileID: 0}
|
||||
@@ -26,11 +24,15 @@ MonoBehaviour:
|
||||
probeSamplingDebugMesh: {fileID: 0}
|
||||
probeSamplingDebugTexture: {fileID: 0}
|
||||
probeVolumeBlendStatesCS: {fileID: 0}
|
||||
m_RendererFeatures: []
|
||||
m_RendererFeatureMap:
|
||||
m_RendererFeatures:
|
||||
- {fileID: 8698145602227116336}
|
||||
m_RendererFeatureMap: 30995f295705b678
|
||||
m_UseNativeRenderPass: 1
|
||||
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||
m_AssetVersion: 2
|
||||
m_AssetVersion: 3
|
||||
m_PrepassLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_OpaqueLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
@@ -48,5 +50,50 @@ MonoBehaviour:
|
||||
m_RenderingMode: 0
|
||||
m_DepthPrimingMode: 0
|
||||
m_CopyDepthMode: 0
|
||||
m_DepthAttachmentFormat: 0
|
||||
m_DepthTextureFormat: 0
|
||||
m_AccurateGbufferNormals: 0
|
||||
m_IntermediateTextureMode: 0
|
||||
--- !u!114 &8698145602227116336
|
||||
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
|
||||
@@ -26,7 +26,8 @@ MonoBehaviour:
|
||||
probeVolumeBlendStatesCS: {fileID: 7200000, guid: b9a23f869c4fd45f19c5ada54dd82176, type: 3}
|
||||
m_RendererFeatures:
|
||||
- {fileID: 7833122117494664109}
|
||||
m_RendererFeatureMap: ad6b866f10d7b46c
|
||||
- {fileID: 6245067092740157231}
|
||||
m_RendererFeatureMap: ad6b866f10d7b46c2f2f42dd6eefaa56
|
||||
m_UseNativeRenderPass: 1
|
||||
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
|
||||
m_AssetVersion: 3
|
||||
@@ -54,6 +55,49 @@ MonoBehaviour:
|
||||
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
|
||||
|
||||
Reference in new issue
Block a user