Shader "AibisDream/HuoshanMemory" { Properties { [PerRendererData] _MainTex("Sprite Texture", 2D) = "white" {} _Color("Tint", Color) = (1,1,1,1) _Saturation("Saturation", Range(0, 2)) = 1 _Brightness("Brightness", Range(0, 2)) = 1 _Contrast("Contrast", Range(0, 2)) = 1 _Vignette("Vignette", Range(0, 1)) = 0 _Noise("Noise", Range(0, 1)) = 0 _SimGlitch("Simulation Glitch", Range(0, 1)) = 0 _HorizontalTear("Horizontal Tear", Range(0, 1)) = 0 _Impact("Transient Memory Impact", Range(0, 1)) = 0 _Damage("Accumulated Memory Damage", Range(0, 1)) = 0 _Overdrive("Slot Machine Overdrive", Range(0, 1)) = 0 _TearSeed("Tear Seed", Range(0, 1)) = 0 _ColorTint("Memory Color Tint", Color) = (1,1,1,1) _CalmCenter("Calm Center", Vector) = (0.5,0.5,0,0) _CalmRadius("Calm Radius", Range(0, 1.5)) = 0 _CalmFeather("Calm Feather", Range(0.001, 1)) = 0.2 _EffectStrength("Effect Strength", Range(0, 1)) = 0 _Opacity("Opacity", Range(0, 1)) = 0 // 常驻层只模拟旧投影的轻微漂移、曝光呼吸与扫描暗纹。 [Header(Memory Projection Layer)] _AnalogGlitch("Projection Instability", Range(0, 1)) = 0.18 _AnalogScale("Scanline Softness", Range(0.25, 6)) = 2.2 _AnalogChroma("Subpixel Chroma", Range(0, 2)) = 0.25 } SubShader { Tags { "Queue" = "Transparent" "RenderType" = "Transparent" "RenderPipeline" = "UniversalPipeline" "IgnoreProjector" = "True" "CanUseSpriteAtlas" = "True" } Cull Off ZWrite Off Blend SrcAlpha OneMinusSrcAlpha Pass { Name "HuoshanMemory" Tags { "LightMode" = "Universal2D" } HLSLPROGRAM #pragma vertex vert #pragma fragment frag #pragma target 3.0 #include "HuoshanMemory.hlsl" ENDHLSL } // VolFx huoshan(LayerMask=HuoshanScreen)只抽 SRPDefaultUnlit / UniversalForward*, // 没有这一 pass 时记忆进不了电视合成层。 Pass { Name "HuoshanMemoryUnlit" Tags { "LightMode" = "SRPDefaultUnlit" } HLSLPROGRAM #pragma vertex vert #pragma fragment frag #pragma target 3.0 #include "HuoshanMemory.hlsl" ENDHLSL } } Fallback "Sprites/Default" }