117 lines
3.7 KiB
Plaintext
117 lines
3.7 KiB
Plaintext
// Made with Amplify Shader Editor
|
|
Shader "Wave/Essence/Hand/Model"
|
|
{
|
|
Properties
|
|
{
|
|
[HDR]_GraColorA("GradianColorA", Color) = (0.1058824,0.6901961,0.9019608,0)
|
|
[HDR]_GraColorB("GradianColorB", Color) = (1,1,1,0)
|
|
[HDR]_ConGraColorA("ContourColorA", Color) = (0.1058824,0.6901961,0.9019608,0)
|
|
[HDR]_ConGraColorB("ContourColorB", Color) = (1,1,1,0)
|
|
_Gradient_Blur("Gradient_Blur", Range(0 , 1)) = 0.2854134
|
|
_Gradient_level("Gradient_level", Range(0 , 1)) = 0.5225084
|
|
_Opacity("Opacity", Range(0 , 1)) = 0.45
|
|
_line_opacity("line_opacity", Range(0 , 1)) = 0.5
|
|
_OutlineThickness("OutlineThickness", Range(0 , 0.002)) = 0.001
|
|
_AlphaText("AlphaText", 2D) = "white" {}
|
|
[HideInInspector] _texcoord3("", 2D) = "white" {}
|
|
[HideInInspector] _texcoord("", 2D) = "white" {}
|
|
[HideInInspector] __dirty("", Int) = 1
|
|
}
|
|
|
|
SubShader
|
|
{
|
|
Pass
|
|
{
|
|
ColorMask 0
|
|
ZWrite On
|
|
}
|
|
|
|
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0"}
|
|
Cull Front
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma surface outlineSurf Outline nofog alpha:fade keepalpha noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nometa noforwardadd vertex:outlineVertexDataFunc
|
|
|
|
|
|
|
|
|
|
struct Input
|
|
{
|
|
float2 uv3_texcoord3;
|
|
float2 uv_texcoord;
|
|
};
|
|
uniform float _OutlineThickness;
|
|
uniform float4 _ConGraColorA;
|
|
uniform float4 _ConGraColorB;
|
|
uniform float _Gradient_level;
|
|
uniform float _Gradient_Blur;
|
|
uniform float _line_opacity;
|
|
uniform sampler2D _AlphaText;
|
|
|
|
void outlineVertexDataFunc(inout appdata_full v, out Input o)
|
|
{
|
|
UNITY_INITIALIZE_OUTPUT(Input, o);
|
|
float outlineVar = _OutlineThickness;
|
|
v.vertex.xyz += (v.normal * outlineVar);
|
|
}
|
|
inline half4 LightingOutline(SurfaceOutput s, half3 lightDir, half atten) { return half4 (0,0,0, s.Alpha); }
|
|
void outlineSurf(Input i, inout SurfaceOutput o)
|
|
{
|
|
float clampResult114 = clamp((_Gradient_level + ((_Gradient_level - i.uv3_texcoord3.y) / _Gradient_Blur)) , 0.0 , 1.0);
|
|
float4 lerpResult100 = lerp(_ConGraColorA, _ConGraColorB, clampResult114);
|
|
float4 tex2DNode92 = tex2D(_AlphaText, i.uv_texcoord);
|
|
o.Emission = lerpResult100.rgb;
|
|
o.Alpha = (_line_opacity * tex2DNode92).r;
|
|
}
|
|
ENDCG
|
|
|
|
|
|
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
|
|
Cull Back
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma surface surf Unlit keepalpha noshadow vertex:vertexDataFunc
|
|
struct Input
|
|
{
|
|
float2 uv3_texcoord3;
|
|
float2 uv_texcoord;
|
|
};
|
|
|
|
uniform float4 _GraColorA;
|
|
uniform float4 _GraColorB;
|
|
uniform float _Gradient_level;
|
|
uniform float _Gradient_Blur;
|
|
uniform float _Opacity;
|
|
uniform sampler2D _AlphaText;
|
|
|
|
void vertexDataFunc(inout appdata_full v, out Input o)
|
|
{
|
|
UNITY_INITIALIZE_OUTPUT(Input, o);
|
|
v.vertex.xyz += 0;
|
|
}
|
|
|
|
inline half4 LightingUnlit(SurfaceOutput s, half3 lightDir, half atten)
|
|
{
|
|
return half4 (0, 0, 0, s.Alpha);
|
|
}
|
|
|
|
void surf(Input i , inout SurfaceOutput o)
|
|
{
|
|
float clampResult114 = clamp((_Gradient_level + ((_Gradient_level - i.uv3_texcoord3.y) / _Gradient_Blur)) , 0.0 , 1.0);
|
|
float4 lerpResult100 = lerp(_GraColorA , _GraColorB , clampResult114);
|
|
o.Emission = lerpResult100.rgb;
|
|
float4 color104 = IsGammaSpace() ? float4(0,0,0,0) : float4(0,0,0,0);
|
|
float4 color102 = IsGammaSpace() ? float4(1,1,1,0) : float4(1,1,1,0);
|
|
float smoothstepResult103 = smoothstep(-0.05 , 1.0 , i.uv3_texcoord3.y);
|
|
float4 lerpResult105 = lerp(color104 , color102 , smoothstepResult103);
|
|
float4 tex2DNode92 = tex2D(_AlphaText, i.uv_texcoord);
|
|
o.Alpha = (lerpResult105 * _Opacity * tex2DNode92).r;
|
|
}
|
|
|
|
ENDCG
|
|
}
|
|
CustomEditor "ASEMaterialInspector"
|
|
}
|