源战役客户端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
4.1 KiB

  1. Shader "SaberShad/CombineHologramAndAlphaTexture"
  2. {
  3. Properties
  4. {
  5. _HologramMaskMap("Hologram Mask", 2D) = "white"{} // 实际上就是模型的主纹理,但是由于使用了同一套代码库因此这个就不改名字了
  6. // alphaTexture 参数
  7. _AlphaTexColor("AlphaTexture Color", Color) = (1, 1, 1, 1)
  8. _ModelHeightButton("Model Height Button", Float) = 0.0 // 模型高度底
  9. _ModelHeightTop("Model Height Top", Float) = 0.0 // 模型高度顶
  10. // 全息效果
  11. [HDR]_HologramColor("Hologram Color", Color) = (1, 1, 1, 0)
  12. _HologramAlpha("Hologram Alpha", Range(0.0, 1.0)) = 1.0
  13. _HologramGlitchMap("Hologram Glitch Map", 2D) = "white"{}
  14. // 全息颜色故障效果
  15. [Toggle] _HologramColorGlitchTog("Enable Hologram Color Glitch", Float) = 0
  16. _HologramColorGlitch("Hologram Color Glitch", Range(0.0, 1.0)) = 0.5
  17. _HologramColorGlitchData("Hologram Color Glitch Data", Vector) = (1, 1, 0, 0)
  18. _HologramColorGlitchMin("Hologram Color Glitch Min", Range(0.0, 1.0)) = 0.5
  19. // 全息菲涅尔
  20. _FresnelScale("Fresnel Scale", Float) = 1
  21. _FresnelPower("Fresnel Power", Float) = 2
  22. _FresnelAlphaScale("Fresnel Alpha Scale", Float) = 1
  23. _FresnelAlphaPower("Fresnel Alpha Power", Float) = 2
  24. // 扫描线
  25. _HologramLine1("HologramLine1", 2D) = "white" {}
  26. _HologramLine1Speed("Hologram Line1 Speed", Range(-10.0, 10.0)) = 1.0
  27. _HologramLine1Frequency("Hologram Line1 Frequency", Range(0.0, 100.0)) = 20.0
  28. _HologramLine1Alpha("Hologram Line 1 Alpha", Range(0.0, 1.0)) = 0.15
  29. [Toggle(_USE_SCANLINE2)]_HologramLine2Tog("Hologram Line2 Toggle", float) = 0.0
  30. _HologramLine2("HologramLine2", 2D) = "white" {}
  31. _HologramLine2Speed("Hologram Line2 Speed", Range(-10.0, 10.0)) = 1.0
  32. _HologramLine2Frequency("Hologram Line2 Frequency", Range(0.0, 100.0)) = 20.0
  33. _HologramLine2Alpha("Hologram Line 2 Alpha", Range(0.0, 1.0)) = 0.15
  34. _HologramGliterData1("Hologram Gliter Data1", Vector) = (0, 1, 0, 0) // 全息抖动参数设置,x代表速度,y代表抖动范围,z代表抖动偏移量,w代表频率(0~0.99)
  35. _HologramGliterData2("Hologram Gliter Data2", Vector) = (0, 1, 0, 0) // 全息抖动参数设置,x代表速度,y代表抖动范围,z代表抖动偏移量,w代表频率(0~0.99)
  36. // 颗粒效果
  37. _HologramGrainData("Hologram Grain Data", Vector) = (50, 50, 0, 0)
  38. _HologramGrainSpeed("Hologram Grain Speed", Float) = 1.0
  39. _HologramGrainAffect("Hologram Grain Affect", Range(0 , 1)) = 1
  40. // 溶解效果主要参数
  41. [Toggle(_USE_DISSOLVE_EFFECT)] _DissolveToggle("Dissolve Enable", Float) = 1.0
  42. _DissolveThreshold("Dissolve Threshold", Range(0,1)) = 0.7
  43. _DissolveFadeGap("Dissolve Fade Gap", Range(0,0.01)) = 0.001
  44. [Toggle]_ReverseDissolveDirection("_Reverse Dissolve Direction", float) = 1.0
  45. [HDR]_DissolveFadeInColor("Dissolve Fade In Color", Color) = (1,1,1,1)
  46. [HDR]_DissolveFadeMidColor("Dissolve Fade Mid Color", Color) = (0,0,0,0)
  47. [HDR]_DissolveFadeOutColor("Dissolve Fade Out Color", Color) = (1,1,1,1)
  48. // 整体蒙版(主纹理充当颜色蒙版)
  49. _HologramMaskAffect("Hologram Mask Affect", Range(0.0, 1.0)) = 0.5
  50. [Enum(X, 0, Y, 1, Z, 2)] _HologramMaskUseAxis("Hologram Mask Use Axis", Float) = 0.0
  51. _HologramYMask("Hologram Y Mask", Range(-2, 2)) = 0
  52. }
  53. SubShader
  54. {
  55. Tags{"Queue" = "Transparent" "RenderType" = "Transparent"}
  56. CGINCLUDE
  57. #include "MainRoleProEffectCG.cginc"
  58. ENDCG
  59. Pass
  60. {
  61. Name "CombineHologramAndAlphaTexture Depth Mask"
  62. ZWrite On
  63. ColorMask 0
  64. CGPROGRAM
  65. #pragma target 3.0
  66. #pragma shader_feature _USE_DISSOLVE_EFFECT
  67. #pragma vertex CombineHologramAndAlphaTextureVertex
  68. #pragma fragment MainRoleHologramMaskFragment
  69. ENDCG
  70. }
  71. Pass
  72. {
  73. Name "Combine Hologram and AlphaTexture"
  74. Blend SrcAlpha OneMinusSrcAlpha
  75. ZWrite Off
  76. CGPROGRAM
  77. #pragma target 3.0
  78. #pragma shader_feature _USE_SCANLINE2
  79. #pragma shader_feature _USE_DISSOLVE_EFFECT
  80. #pragma vertex CombineHologramAndAlphaTextureVertex
  81. #pragma fragment CombineHologramAndAlphaTextureFragment
  82. ENDCG
  83. }
  84. }
  85. CustomEditor "CombineHologramAndAlphaTextureEditor"
  86. }