2023-09-17 06:37:55 +00:00
// Made with Amplify Shader Editor v1.9.1.5
// Available at the Unity Asset Store - http://u3d.as/y3X
Shader "WickerEye"
{
Properties
{
_Power("Power", Range( 0 , 10)) = 0
_FresnelScale("FresnelScale", Range( 0 , 1)) = 1.071187
_Intensity("Intensity", Range( 0 , 1)) = 0
[HDR]_EyeColorRear("Eye Color Rear", Color) = (0,0,0,0)
[HDR]_EyeColorFront("Eye Color Front", Color) = (0,0,0,0)
_EyeDistance("EyeDistance", Range( 0 , 0.8)) = 0
_Sharping("Sharping", Float) = 0
[HideInInspector] __dirty( "", Int ) = 1
}
SubShader
{
Tags{ "RenderType" = "Opaque" "Queue" = "Geometry+0" "IsEmissive" = "true" }
Cull Back
CGINCLUDE
#include "UnityShaderVariables.cginc"
#include "UnityPBSLighting.cginc"
#include "Lighting.cginc"
#pragma target 3.0
#ifdef UNITY_PASS_SHADOWCASTER
#undef INTERNAL_DATA
#undef WorldReflectionVector
#undef WorldNormalVector
#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;
#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))
#define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))
#endif
struct Input
{
float3 worldNormal;
INTERNAL_DATA
float3 worldPos;
};
uniform float4 _EyeColorRear;
uniform float4 _EyeColorFront;
uniform float _EyeDistance;
uniform float _FresnelScale;
uniform float _Sharping;
uniform float _Power;
uniform float _Intensity;
void surf( Input i , inout SurfaceOutputStandard o )
{
o.Normal = float3(0,0,1);
float temp_output_76_0 = 0.0;
float3 temp_cast_0 = (temp_output_76_0).xxx;
o.Albedo = temp_cast_0;
float3 ase_worldNormal = WorldNormalVector( i, float3( 0, 0, 1 ) );
float4 appendResult41 = (float4(( ase_worldNormal.x + _EyeDistance ) , ase_worldNormal.y , ase_worldNormal.z , 0.0));
float4 normalizeResult15 = normalize( appendResult41 );
float3 ase_worldPos = i.worldPos;
float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) );
float dotResult18 = dot( ( normalizeResult15 * _FresnelScale ) , float4( ( ase_worldViewDir * _Sharping ) , 0.0 ) );
float clampResult28 = clamp( pow( saturate( dotResult18 ) , _Power ) , 0.0 , 1.0 );
float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) );
float3 ase_worldTangent = WorldNormalVector( i, float3( 1, 0, 0 ) );
float4 ase_vertexTangent = mul( unity_WorldToObject, float4( ase_worldTangent, 0 ) );
ase_vertexTangent = normalize( ase_vertexTangent );
float dotResult36 = dot( ase_vertex3Pos , ase_vertexTangent.xyz );
float normalizeResult38 = normalize( dotResult36 );
float clampResult40 = clamp( normalizeResult38 , 0.0 , 1.0 );
float4 appendResult53 = (float4(( ase_worldNormal.x + ( _EyeDistance * -1.0 ) ) , ase_worldNormal.y , ase_worldNormal.z , 0.0));
float4 normalizeResult52 = normalize( appendResult53 );
float dotResult49 = dot( ( normalizeResult52 * _FresnelScale ) , float4( ( ase_worldViewDir * _Sharping ) , 0.0 ) );
float clampResult45 = clamp( pow( saturate( dotResult49 ) , _Power ) , 0.0 , 1.0 );
float normalizeResult61 = normalize( dotResult36 );
float clampResult60 = clamp( ( 1.0 - normalizeResult61 ) , 0.0 , 1.0 );
float4 lerpResult59 = lerp( _EyeColorRear , _EyeColorFront , ( ( ( clampResult28 * _Intensity ) * clampResult40 ) + ( ( clampResult45 * _Intensity ) * clampResult60 ) ));
o.Emission = lerpResult59.rgb;
o.Metallic = temp_output_76_0;
o.Smoothness = temp_output_76_0;
o.Occlusion = temp_output_76_0;
o.Alpha = 1;
}
ENDCG
CGPROGRAM
#pragma surface surf Standard keepalpha fullforwardshadows
ENDCG
Pass
{
Name "ShadowCaster"
Tags{ "LightMode" = "ShadowCaster" }
ZWrite On
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 3.0
#pragma multi_compile_shadowcaster
#pragma multi_compile UNITY_PASS_SHADOWCASTER
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
#include "HLSLSupport.cginc"
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
#define CAN_SKIP_VPOS
#endif
#include "UnityCG.cginc"
#include "Lighting.cginc"
#include "UnityPBSLighting.cginc"
struct v2f
{
V2F_SHADOW_CASTER;
float4 tSpace0 : TEXCOORD1;
float4 tSpace1 : TEXCOORD2;
float4 tSpace2 : TEXCOORD3;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_full v )
{
v2f o;
UNITY_SETUP_INSTANCE_ID( v );
UNITY_INITIALIZE_OUTPUT( v2f, o );
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
UNITY_TRANSFER_INSTANCE_ID( v, o );
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
return o;
}
half4 frag( v2f IN
#if !defined( CAN_SKIP_VPOS )
, UNITY_VPOS_TYPE vpos : VPOS
#endif
) : SV_Target
{
UNITY_SETUP_INSTANCE_ID( IN );
Input surfIN;
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w );
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
surfIN.worldPos = worldPos;
surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z );
surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz;
surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz;
surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz;
SurfaceOutputStandard o;
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
surf( surfIN, o );
#if defined( CAN_SKIP_VPOS )
float2 vpos = IN.pos;
#endif
SHADOW_CASTER_FRAGMENT( IN )
}
ENDCG
}
}
Fallback "Diffuse"
CustomEditor "ASEMaterialInspector"
}
/*ASEBEGIN
Version=19105
Node;AmplifyShaderEditor.PosVertexDataNode;34;-1358.111,608.7983;Inherit;True;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.TangentVertexDataNode;37;-1150.473,849.8594;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.ClampOpNode;28;48,352;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.PowerNode;13;-256,336;Inherit;True;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SaturateNode;17;-400,288;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.DotProductOpNode;18;-704,272;Inherit;True;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;21;-832,208;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.NormalizeNode;15;-1056,176;Inherit;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.DynamicAppendNode;41;-1248,96;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.SimpleAddOpNode;42;-1424,16;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0.2;False;1;FLOAT;0
Node;AmplifyShaderEditor.WorldNormalVector;14;-1840,-48;Inherit;True;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
Node;AmplifyShaderEditor.ViewDirInputsCoordNode;19;-1104,320;Inherit;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
Node;AmplifyShaderEditor.DotProductOpNode;49;-759.9717,1488.377;Inherit;True;2;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.NormalizeNode;52;-1111.972,1392.377;Inherit;False;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.DynamicAppendNode;53;-1303.972,1312.377;Inherit;False;FLOAT4;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.ViewDirInputsCoordNode;56;-1159.972,1536.377;Inherit;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
Node;AmplifyShaderEditor.ClampOpNode;45;-17.17137,1315.381;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;46;194.4663,1241.725;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;57;393.7654,1072.063;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;30;-438.9841,915.8807;Inherit;False;Property;_Intensity;Intensity;2;0;Create;True;0;0;0;False;0;False;0;1;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;9;-1642.447,345.3228;Inherit;False;Property;_FresnelScale;FresnelScale;1;0;Create;True;0;0;0;False;0;False;1.071187;0.042;0;1;0;1;FLOAT;0
Node;AmplifyShaderEditor.NormalizeNode;38;-290.2471,779.758;Inherit;False;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.WorldNormalVector;55;-1899.4,1278.088;Inherit;True;False;1;0;FLOAT3;0,0,1;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;50;-869.4067,1350.117;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT;0;False;1;FLOAT4;0
Node;AmplifyShaderEditor.SaturateNode;48;-504.2408,1534.082;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.PowerNode;47;-280.4109,1502.251;Inherit;True;False;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;29;250.8955,498.2431;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.ClampOpNode;60;-193.7302,1058.321;Inherit;True;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.NormalizeNode;61;-650.0792,1031.838;Inherit;False;False;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.OneMinusNode;58;-470.1378,1068.604;Inherit;True;1;0;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.ClampOpNode;40;-79.12469,758.1805;Inherit;True;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;39;426.8851,475.8155;Inherit;True;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.DotProductOpNode;36;-721.4898,694.7087;Inherit;True;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleAddOpNode;54;-1479.972,1232.377;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0.2;False;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;65;-1857.65,965.0712;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;-1;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;8;-1049.836,1035.18;Inherit;False;Property;_Power;Power;0;0;Create;True;0;0;0;False;0;False;0;1.51;0;10;0;1;FLOAT;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;66;-930.7152,1525.304;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;68;-859.2183,384.4514;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0
Node;AmplifyShaderEditor.RangedFloatNode;67;-1412.12,1048.338;Inherit;False;Property;_Sharping;Sharping;6;0;Create;True;0;0;0;False;0;False;0;31.5;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.ColorNode;32;159.8639,646.7467;Inherit;False;Property;_EyeColorRear;Eye Color Rear;3;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,0;0,0.02163866,0.1411765,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.ColorNode;33;135.8639,819.7467;Inherit;False;Property;_EyeColorFront;Eye Color Front;4;1;[HDR];Create;True;0;0;0;False;0;False;0,0,0,0;0,0.3008556,1.717278,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;1211,520;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;WickerEye;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;False;Back;0;False;;0;False;;False;0;False;;0;False;;False;0;Opaque;0.5;True;True;0;False;Opaque;;Geometry;All;12;all;True;True;True;True;0;False;;False;0;False;;255;False;;255;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;0;False;;False;2;15;10;25;False;0.5;True;0;0;False;;0;False;;0;0;False;;0;False;;0;False;;0;False;;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;True;Relative;0;;-1;-1;-1;-1;0;False;0;0;False;;-1;0;False;;0;0;0;False;0.1;False;;0;False;;False;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
Node;AmplifyShaderEditor.RangedFloatNode;76;952.1602,472.3149;Inherit;False;Constant;_Float0;Float 0;7;0;Create;True;0;0;0;False;0;False;0;0;0;0;0;1;FLOAT;0
Node;AmplifyShaderEditor.LerpOp;59;799.3596,771.4873;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
Node;AmplifyShaderEditor.SimpleAddOpNode;64;685.0843,964.4787;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
Node;AmplifyShaderEditor.RangedFloatNode;43;-2324.47,642.6038;Inherit;False;Property;_EyeDistance;EyeDistance;5;0;Create;True;0;0;0;False;0;False;0;0.49;0;0.8;0;1;FLOAT;0
WireConnection;28;0;13;0
WireConnection;13;0;17;0
WireConnection;13;1;8;0
WireConnection;17;0;18;0
WireConnection;18;0;21;0
WireConnection;18;1;68;0
WireConnection;21;0;15;0
WireConnection;21;1;9;0
WireConnection;15;0;41;0
WireConnection;41;0;42;0
WireConnection;41;1;14;2
WireConnection;41;2;14;3
WireConnection;42;0;14;1
WireConnection;42;1;43;0
WireConnection;49;0;50;0
WireConnection;49;1;66;0
WireConnection;52;0;53;0
WireConnection;53;0;54;0
WireConnection;53;1;55;2
WireConnection;53;2;55;3
WireConnection;45;0;47;0
WireConnection;46;0;45;0
WireConnection;46;1;30;0
WireConnection;57;0;46;0
WireConnection;57;1;60;0
WireConnection;38;0;36;0
WireConnection;50;0;52;0
WireConnection;50;1;9;0
WireConnection;48;0;49;0
WireConnection;47;0;48;0
WireConnection;47;1;8;0
WireConnection;29;0;28;0
WireConnection;29;1;30;0
WireConnection;60;0;58;0
WireConnection;61;0;36;0
WireConnection;58;0;61;0
WireConnection;40;0;38;0
WireConnection;39;0;29;0
WireConnection;39;1;40;0
WireConnection;36;0;34;0
WireConnection;36;1;37;0
WireConnection;54;0;55;1
WireConnection;54;1;65;0
WireConnection;65;0;43;0
WireConnection;66;0;56;0
WireConnection;66;1;67;0
WireConnection;68;0;19;0
WireConnection;68;1;67;0
WireConnection;0;0;76;0
WireConnection;0;2;59;0
WireConnection;0;3;76;0
WireConnection;0;4;76;0
WireConnection;0;5;76;0
WireConnection;59;0;32;0
WireConnection;59;1;33;0
WireConnection;59;2;64;0
WireConnection;64;0;39;0
WireConnection;64;1;57;0
ASEEND*/
2023-09-10 04:16:23 +00:00
//CHKSM=D37FED6F426337506B30546AC65B9BB79EE7F89A