|
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"
|
|
}
|