源战役客户端
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

72 Zeilen
3.3 KiB

  1. // author : Saber
  2. // date : 2020/12/2
  3. // desc : 本着色器的目的是整合项目中已有的【模型用透明通道特效】,会保留原先shader的全部参数以及实现
  4. // 旨在减少多个材质对同一模型顶点和面片的多次处理,整合特效shader效果
  5. // CombineModelEffectMid:拥有两种UVRoll效果(单效果纹理)以及两种Scan效果(单纹理双效果四通道)
  6. Shader "SaberShad/CombineModelEffectMid"
  7. {
  8. Properties
  9. {
  10. // 被整合的shader参数逐条对应,为了方面识进行了适当的改名
  11. // 整合uvrolladd_noise_mask效果 (文件名 sy_uvrolladd_noise_mask.shader)
  12. _UVRollTex ("UVRoll Tex", 2D) = "white" {}
  13. _UVRollColor1 ("UVRoll Color1", Color) = (1, 1, 1, 1)
  14. _UVRollColor2 ("UVRoll Color2", Color) = (1, 1, 1, 0)
  15. _UVRollSpeed ("UVRollSpeed", Vector) = (0, 0, 0, 0)
  16. _UVRollIntensity1 ("UVRoll Intensity1", Range(0, 20)) = 1.5
  17. _UVRollIntensity2 ("UVRoll Intensity2", Range(0, 20)) = 1.5
  18. _UVRollNoiseTex ("UVRollNoise", 2D) = "white" {}
  19. _UVRollNoiseSpeed ("UVRollNoiseSpeed", Vector) = (0, 0, 0, 0)
  20. _UVRollNoiseIntensity("UVRollNoise Intensity", Range(-10, 10)) = 0
  21. // 整合了uvroll效果和scan效果的mask为一张通道纹理,去除通道纹理的细节
  22. // 本shader最多支持两种不同的uvrolladd_noise_mask,分别占用贴图的R和G通道(BA给Scan效果)
  23. _EffectMaskTex ("EffectMaskTex(RGBA)", 2D) = "white" {}
  24. _UVRollMaskSpeed ("UVRollMaskSpeed", Vector) = (0, 0, 0, 0)
  25. // 整合mb_fresnel效果 (文件名 mb_fresnel.shader)
  26. _FresnelColor ("Fresnel Color", Color) = (1,0.22745,1,1)
  27. _FresnelIntensity ("Fresnel Intensity", Range(0, 50)) = 3
  28. // 整合mb_outline效果,并保持开启 (文件名 mb_outline.shader)
  29. _OutlineColor ("Outline Color", Color) = (1, 1, 1, 0)
  30. _OutlineIntensity ("Outline Intensity", Range(0, 50)) = 1
  31. // 整合scan效果 (文件名 ZGD_scan_002.shader ZGD_scan_003效果相同)
  32. // 最多同时存在两个扫描效果,效果1使用 RG通道分别实现原先的 _Gridlinetex和 _Masktex 效果2使用 BA通道
  33. _ScanTex("ScanTex", 2D) = "white" {}
  34. _ScanColor("ScanColor", Color) = (1,1,1,1)
  35. _ScanIntensity("ScanIntensity", Float) = 0
  36. // 用这个代替扫描图网格图原先的各个缩放比例
  37. _GridlineST("GridlineST", Vector) = (1, 1, 1, 1)
  38. _ScanSpeed("Scan Speed", Float) = 0.5
  39. }
  40. SubShader
  41. {
  42. Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
  43. Blend SrcAlpha One
  44. ZWrite Off
  45. Lighting Off
  46. Fog { Mode off }
  47. pass
  48. {
  49. CGPROGRAM
  50. #pragma target 3.0
  51. // #pragma shader_feature __ _ROLLADD_MAP
  52. #pragma shader_feature __ _ROLLADD_NOISE_MASK_MAP
  53. // #pragma shader_feature __ _EFFECT_MASK_MAP
  54. #pragma shader_feature __ _MB_FRESNEL
  55. // #pragma shader_feature __ _SCAN_TEX
  56. #pragma vertex CmcVertNormal
  57. #pragma fragment CmcFragMid
  58. #include "CombineModelEffectCG.cginc"
  59. ENDCG
  60. }
  61. }
  62. CustomEditor "CombineModelEffectMid"
  63. }