Shader "SaberShad/CombineHologramAndAlphaTexture" { Properties { _HologramMaskMap("Hologram Mask", 2D) = "white"{} // 实际上就是模型的主纹理,但是由于使用了同一套代码库因此这个就不改名字了 // alphaTexture 参数 _AlphaTexColor("AlphaTexture Color", Color) = (1, 1, 1, 1) _ModelHeightButton("Model Height Button", Float) = 0.0 // 模型高度底 _ModelHeightTop("Model Height Top", Float) = 0.0 // 模型高度顶 // 全息效果 [HDR]_HologramColor("Hologram Color", Color) = (1, 1, 1, 0) _HologramAlpha("Hologram Alpha", Range(0.0, 1.0)) = 1.0 _HologramGlitchMap("Hologram Glitch Map", 2D) = "white"{} // 全息颜色故障效果 [Toggle] _HologramColorGlitchTog("Enable Hologram Color Glitch", Float) = 0 _HologramColorGlitch("Hologram Color Glitch", Range(0.0, 1.0)) = 0.5 _HologramColorGlitchData("Hologram Color Glitch Data", Vector) = (1, 1, 0, 0) _HologramColorGlitchMin("Hologram Color Glitch Min", Range(0.0, 1.0)) = 0.5 // 全息菲涅尔 _FresnelScale("Fresnel Scale", Float) = 1 _FresnelPower("Fresnel Power", Float) = 2 _FresnelAlphaScale("Fresnel Alpha Scale", Float) = 1 _FresnelAlphaPower("Fresnel Alpha Power", Float) = 2 // 扫描线 _HologramLine1("HologramLine1", 2D) = "white" {} _HologramLine1Speed("Hologram Line1 Speed", Range(-10.0, 10.0)) = 1.0 _HologramLine1Frequency("Hologram Line1 Frequency", Range(0.0, 100.0)) = 20.0 _HologramLine1Alpha("Hologram Line 1 Alpha", Range(0.0, 1.0)) = 0.15 [Toggle(_USE_SCANLINE2)]_HologramLine2Tog("Hologram Line2 Toggle", float) = 0.0 _HologramLine2("HologramLine2", 2D) = "white" {} _HologramLine2Speed("Hologram Line2 Speed", Range(-10.0, 10.0)) = 1.0 _HologramLine2Frequency("Hologram Line2 Frequency", Range(0.0, 100.0)) = 20.0 _HologramLine2Alpha("Hologram Line 2 Alpha", Range(0.0, 1.0)) = 0.15 _HologramGliterData1("Hologram Gliter Data1", Vector) = (0, 1, 0, 0) // 全息抖动参数设置,x代表速度,y代表抖动范围,z代表抖动偏移量,w代表频率(0~0.99) _HologramGliterData2("Hologram Gliter Data2", Vector) = (0, 1, 0, 0) // 全息抖动参数设置,x代表速度,y代表抖动范围,z代表抖动偏移量,w代表频率(0~0.99) // 颗粒效果 _HologramGrainData("Hologram Grain Data", Vector) = (50, 50, 0, 0) _HologramGrainSpeed("Hologram Grain Speed", Float) = 1.0 _HologramGrainAffect("Hologram Grain Affect", Range(0 , 1)) = 1 // 溶解效果主要参数 [Toggle(_USE_DISSOLVE_EFFECT)] _DissolveToggle("Dissolve Enable", Float) = 1.0 _DissolveThreshold("Dissolve Threshold", Range(0,1)) = 0.7 _DissolveFadeGap("Dissolve Fade Gap", Range(0,0.01)) = 0.001 [Toggle]_ReverseDissolveDirection("_Reverse Dissolve Direction", float) = 1.0 [HDR]_DissolveFadeInColor("Dissolve Fade In Color", Color) = (1,1,1,1) [HDR]_DissolveFadeMidColor("Dissolve Fade Mid Color", Color) = (0,0,0,0) [HDR]_DissolveFadeOutColor("Dissolve Fade Out Color", Color) = (1,1,1,1) // 整体蒙版(主纹理充当颜色蒙版) _HologramMaskAffect("Hologram Mask Affect", Range(0.0, 1.0)) = 0.5 [Enum(X, 0, Y, 1, Z, 2)] _HologramMaskUseAxis("Hologram Mask Use Axis", Float) = 0.0 _HologramYMask("Hologram Y Mask", Range(-2, 2)) = 0 } SubShader { Tags{"Queue" = "Transparent" "RenderType" = "Transparent"} CGINCLUDE #include "MainRoleProEffectCG.cginc" ENDCG Pass { Name "CombineHologramAndAlphaTexture Depth Mask" ZWrite On ColorMask 0 CGPROGRAM #pragma target 3.0 #pragma shader_feature _USE_DISSOLVE_EFFECT #pragma vertex CombineHologramAndAlphaTextureVertex #pragma fragment MainRoleHologramMaskFragment ENDCG } Pass { Name "Combine Hologram and AlphaTexture" Blend SrcAlpha OneMinusSrcAlpha ZWrite Off CGPROGRAM #pragma target 3.0 #pragma shader_feature _USE_SCANLINE2 #pragma shader_feature _USE_DISSOLVE_EFFECT #pragma vertex CombineHologramAndAlphaTextureVertex #pragma fragment CombineHologramAndAlphaTextureFragment ENDCG } } CustomEditor "CombineHologramAndAlphaTextureEditor" }