Shader "PRD/EyeBallV2" { Properties { [Enum(OFF,0,FRONT,1,BACK,2)] _CullMode ("Cull Mode", float) = 2 _BaseMap ("BaseMap", 2D) = "white" {} _BaseColor ("BaseColor", Color) = (1,1,1,1) [MaterialToggle] _Is_LightColor_Base ("Is_LightColor_Base", float) = 1 } SubShader { Tags { "RenderType" = "Opaque" } Pass // ind: 1, name: FORWARD { Name "FORWARD" Tags { "LIGHTMODE" = "FORWARDBASE" "RenderType" = "Opaque" "SHADOWSUPPORT" = "true" } Cull Off // m_ProgramMask = 6 CGPROGRAM #pragma multi_compile DIRECTIONAL //#pragma target 4.0 #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" #define CODE_BLOCK_VERTEX //uniform float4x4 unity_ObjectToWorld; //uniform float4x4 unity_MatrixVP; uniform float4 _LightColor0; uniform float4 _BaseColor; uniform float4 _BaseMap_ST; uniform float _Is_LightColor_Base; uniform float4 _EyeColor; uniform float _Alpha; uniform float _Camouflage; uniform sampler2D _BaseMap; struct appdata_t { float4 vertex :POSITION0; float2 texcoord :TEXCOORD0; }; struct OUT_Data_Vert { float2 texcoord :TEXCOORD0; float4 vertex :SV_POSITION; }; struct v2f { float2 texcoord :TEXCOORD0; }; struct OUT_Data_Frag { float4 color :SV_Target0; }; float4 u_xlat0; float4 u_xlat1; OUT_Data_Vert vert(appdata_t in_v) { OUT_Data_Vert out_v; out_v.vertex = UnityObjectToClipPos(in_v.vertex); out_v.texcoord.xy = in_v.texcoord.xy; return out_v; } #define CODE_BLOCK_FRAGMENT float3 u_xlat0_d; float4 u_xlat10_0; float3 u_xlat1_d; float3 u_xlat2; float u_xlat16_9; OUT_Data_Frag frag(v2f in_f) { OUT_Data_Frag out_f; u_xlat0_d.xy = TRANSFORM_TEX(in_f.texcoord.xy, _BaseMap); u_xlat10_0 = tex2D(_BaseMap, u_xlat0_d.xy); u_xlat0_d.xyz = (u_xlat10_0.xyz + (_BaseColor.xyz * (1-u_xlat10_0.a))); u_xlat16_9 = ((-u_xlat10_0.w) + 1); u_xlat1_d.xyz = (float3(u_xlat16_9, u_xlat16_9, u_xlat16_9) * _EyeColor.xyz); u_xlat2.xyz = ((u_xlat0_d.xyz * _LightColor0.xyz) + (-u_xlat0_d.xyz)); u_xlat0_d.xyz = ((float3(_Is_LightColor_Base, _Is_LightColor_Base, _Is_LightColor_Base) * u_xlat2.xyz) + u_xlat0_d.xyz); u_xlat0_d.xyz = clamp(u_xlat0_d.xyz, 0, 1); out_f.color.xyz = ((u_xlat1_d.xyz * _EyeColor.www) + u_xlat0_d.xyz); u_xlat0_d.x = ((-_Camouflage) + 1); out_f.color.w = (u_xlat0_d.x * _Alpha); return out_f; } ENDCG } // end phase } FallBack Off }