%YAML 1.1 %TAG !u! tag:unity3d.com,2011: --- !u!48 &4869196 Shader: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_Name: Dissolve m_Script: "Shader \"Graph/GlowMud\" \n{\n\tProperties \n\t{\n\t\t[HideInInspector] Texture_8254(\"Texture_8254\", 2D) = \"white\" {}\n\t\t[HideInInspector] Texture_8258(\"Texture_8258\", 2D) = \"bump\" {}\n\t\t[HideInInspector] Texture_8232(\"Texture_8232\", 2D) = \"white\" {}\n\t\t[HideInInspector] Texture_8256(\"Texture_8256\", 2D) = \"white\" {}\n\t\t[HideInInspector] Texture_589974(\"Texture_589974\", 2D) = \"white\" {}\n\n\t}\t\n\t\n\tSubShader \n\t{\n\t\tTags {\r\n\t\t\t\"RenderType\"=\"Opaque\"\r\n\t\t\t\"Queue\"=\"Geometry\"\r\n\t\t}\r\n\n\t\tBlend One Zero\r\n\n\t\tCull Back\r\n\n\t\tZTest LEqual\r\n\n\t\tZWrite On\r\n\n\n\t\tLOD 200\n\t\t\n\t\t\n\t// ------------------------------------------------------------\n\t// Surface shader code generated out of a CGPROGRAM block:\n\t\n\n\t// ---- forward rendering base pass:\n\tPass {\n\t\tName \"FORWARD\"\n\t\tTags { \"LightMode\" = \"ForwardBase\" }\n\nGpuProgramID 47402\nTags { \"ShadowSupport\" = \"True\" }\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 273\n\n\n}\n\n\t// ---- forward rendering additive lights pass:\n\tPass {\n\t\tName \"FORWARD\"\n\t\tTags { \"LightMode\" = \"ForwardAdd\" }\n\t\tZWrite Off Blend One One\n\nGpuProgramID 94851\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 199\n\n\n}\n\n\t// ---- deferred shading pass:\n\tPass {\n\t\tName \"DEFERRED\"\n\t\tTags { \"LightMode\" = \"Deferred\" }\n\nGpuProgramID 148195\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 266\n\n\n}\n\n\t// ---- meta information extraction pass:\n\tPass {\n\t\tName \"Meta\"\n\t\tTags { \"LightMode\" = \"Meta\" }\n\t\tCull Off\n\nGpuProgramID 226628\nProgram \"vp\" {}\nProgram \"fp\" {}\n\n#LINE 173\n\n\n}\n\n\t// ---- end of surface shader generated code\n\n#LINE 109\n\n\t} \n\tFallBack \"Diffuse\"\n}\n" m_PathName: decompressedSize: 0 m_SubProgramBlob: m_Dependencies: - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0} - {fileID: 6, guid: 0000000000000000f000000000000000, type: 0} m_ShaderIsBaked: 0 errors: [] m_DefaultTextures: Texture_589974: {fileID: 2800000, guid: bf69485a601066743b2b9569dfaed908, type: 3} Texture_8232: {fileID: 2800000, guid: 6e8d12f68bae2294da814f9d4c81b29a, type: 3} Texture_8254: {fileID: 2800000, guid: 330f42016073a97418a4aae5517e32c8, type: 3} Texture_8256: {fileID: 2800000, guid: 335a8d4389ccf5b4087de15f28df62e4, type: 3} Texture_8258: {fileID: 2800000, guid: d5649239aacf54d4e8d6f656d15d30b0, type: 3} m_CompileInfo: m_Snippets: 693: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 1166: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 1853: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 4649: m_Code: "#line 38 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n \ float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n \ half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n \ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 6134: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 6601: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 6689: m_Code: "#line 18 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n// \ float2 _MainTex\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n \ float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal : TEXCOORD1;\n \ float3 worldPos : TEXCOORD2;\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n \ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal : TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n float4 lmap : TEXCOORD3;\n \ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n \ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord, _MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n \ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #endif\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n \ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n \ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.atten = atten;\n \ #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingLambert_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingLambert (o, gi);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: b5be55b0c510b99cba9a3700713156e6 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 11832: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 12755: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 13340: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (TextureProperty, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 14643: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8306;\r\n\t\tsampler2D Texture_8310;\r\n\t\tsampler2D Texture_8308;\r\n\t\tsampler2D Texture_8284;\r\n\t\tsampler2D Texture_8312;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8320_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8318_Output = unity_multiply_half (UV_8320_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8310_Output = half4(UnpackNormal(tex2D (Texture_8310, MultiplyNode_8318_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8310_Output;\r\n\t\t\tfloat4 Texture_8306_Output = tex2D (Texture_8306, MultiplyNode_8318_Output.xy);\r\n\t\t\tfloat4 Texture_8308_Output = tex2D (Texture_8308, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 MultiplyNode_8316_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8284_Output = tex2D (Texture_8284, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 SubtractNode_8296_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8284_Output);\r\n\t\t\thalf4 V4Node_8288 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8298 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8294_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8300_Output = unity_absolute_half (SplatNode_8294_Output);\r\n\t\t\thalf4 LerpNode_8302_Output = unity_lerp_half (V4Node_8288, V4Node_8298, AbsoluteNode_8300_Output);\r\n\t\t\thalf4 SplatNode_8290_Output = LerpNode_8302_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8286_Output = pow (SubtractNode_8296_Output, SplatNode_8290_Output);\r\n\t\t\thalf4 MultiplyNode_8304_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_8316_Output, PowerNode_8286_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 SplatNode_15504_Output = Texture_8308_Output.wwww;\r\n\t\t\tfloat4 Texture_8312_Output = tex2D (Texture_8312, MultiplyNode_8318_Output.xy);\r\n\t\t\to.Albedo = Texture_8306_Output;\r\n\t\t\to.Emission = MultiplyNode_8304_Output;\r\n\t\t\to.Smoothness = SplatNode_15504_Output;\r\n\t\t\to.Occlusion = Texture_8312_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 17725: m_Code: "#line 36 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n \ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD3; // SH\n #endif\n \ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n \ float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n \ float4 lmap : TEXCOORD3;\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n \ #ifdef DIRLIGHTMAP_COMBINED\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n \ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 18768: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 21027: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 27565: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.89, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Metallic = V4Node_8686;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 27700: m_Code: "#line 35 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, V4Node_1624204);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\to.Emission = PowerNode_1218400_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n \ half3 sh : TEXCOORD3; // SH\n #endif\n SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n \ #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD6;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n \ half4 custompack0 : TEXCOORD2; // meshUV0\n float4 lmap : TEXCOORD3;\n \ SHADOW_COORDS(4)\n UNITY_FOG_COORDS(5)\n #ifdef DIRLIGHTMAP_COMBINED\n \ fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n #endif\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n \ #endif\n\n // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ // Add approximated illumination from non-important point lights\n \ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n \ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n \ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n \ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 30127: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 33459: m_Code: "#line 84 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 84 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n#pragma vertex vert\n#pragma fragment frag\n#pragma multi_compile_shadowcaster\n#include \"UnityCG.cginc\"\n\nstruct v2f { \n\tV2F_SHADOW_CASTER;\n};\n\nv2f vert( appdata_base v )\n{\n\tv2f o;\n\tTRANSFER_SHADOW_CASTER_NORMALOFFSET(o)\n\treturn o;\n}\n\nfloat4 frag( v2f i ) : SV_Target\n{\n\tSHADOW_CASTER_FRAGMENT(i)\n}\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: a7121ed175b96c69092cfac2c8ff7df9 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - SHADOWS_DEPTH - - SHADOWS_CUBE m_VariantsBuiltin1: - - SHADOWS_DEPTH - - SHADOWS_CUBE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: SHADOWS_CUBE SHADOWS_DEPTH 34593: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ // Add approximated illumination from non-important point lights\n \ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n \ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 34989: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 35493: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_2255998 = half4 (0.47, 0, 0, 0);\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Smoothness = V4Node_2255998;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ // Add approximated illumination from non-important point lights\n \ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n \ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 36552: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 39280: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ // Add approximated illumination from non-important point lights\n \ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n \ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 43720: m_Code: "#line 38 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 47402: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 50736: m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2))\n\n// ES2.0/WebGL/3DS can not do loops with non-constant-expression iteration counts :(\n#if defined(SHADER_API_GLES)\n \ #define LIGHT_LOOP_LIMIT 8\n#elif defined(SHADER_API_N3DS)\n #define LIGHT_LOOP_LIMIT 4\n#else\n #define LIGHT_LOOP_LIMIT unity_VertexLightParams.x\n#endif\n#define ENABLE_SPECULAR (!defined(SHADER_API_N3DS))\n\n// Compile specialized variants for when positional (point/spot) and spot lights are present\n#pragma multi_compile __ POINT SPOT\n\n// Compute illumination from one light, given attenuation\nhalf3 computeLighting (int idx, half3 dirToLight, half3 eyeNormal, half3 viewDir, half4 diffuseColor, half shininess, half atten, inout half3 specColor) {\n \ half NdotL = max(dot(eyeNormal, dirToLight), 0.0);\n // diffuse\n half3 color = NdotL * diffuseColor.rgb * unity_LightColor[idx].rgb;\n return color * atten;\n}\n\n// Compute attenuation & illumination from one light\nhalf3 computeOneLight(int idx, float3 eyePosition, half3 eyeNormal, half3 viewDir, half4 diffuseColor, half shininess, inout half3 specColor) {\n float3 dirToLight = unity_LightPosition[idx].xyz;\n half att = 1.0;\n #if defined(POINT) || defined(SPOT)\n dirToLight -= eyePosition * unity_LightPosition[idx].w;\n \ // distance attenuation\n float distSqr = dot(dirToLight, dirToLight);\n \ att /= (1.0 + unity_LightAtten[idx].z * distSqr);\n if (unity_LightPosition[idx].w != 0 && distSqr > unity_LightAtten[idx].w) att = 0.0; // set to 0 if outside of range\n dirToLight *= rsqrt(distSqr);\n #if defined(SPOT)\n // spot angle attenuation\n half rho = max(dot(dirToLight, unity_SpotDirection[idx].xyz), 0.0);\n half spotAtt = (rho - unity_LightAtten[idx].x) * unity_LightAtten[idx].y;\n \ att *= saturate(spotAtt);\n #endif\n #endif\n att *= 0.5; // passed in light colors are 2x brighter than what used to be in FFP\n return min (computeLighting (idx, dirToLight, eyeNormal, viewDir, diffuseColor, shininess, att, specColor), 1.0);\n}\n\n// uniforms\nhalf4 _Color;\nint4 unity_VertexLightParams; // x: light count, y: zero, z: one (y/z needed by d3d9 vs loop instruction)\nfloat4 _Dummy_ST;\n\n// vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3 normal : NORMAL;\n \ float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n float2 uv0 : TEXCOORD0;\n #if USING_FOG\n \ fixed fog : TEXCOORD1;\n #endif\n float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n \ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3 eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, IN.normal).xyz);\n \ half3 viewDir = 0.0;\n // lighting\n half3 lcolor = half4(0,0,0,1).rgb + _Color.rgb * glstate_lightmodel_ambient.rgb;\n half3 specColor = 0.0;\n \ half shininess = 0 * 128.0;\n for (int il = 0; il < LIGHT_LOOP_LIMIT; ++il) {\n lcolor += computeOneLight(il, eyePos, eyeNormal, viewDir, _Color, shininess, specColor);\n }\n color.rgb = lcolor.rgb;\n color.a = _Color.a;\n \ o.color = saturate(color);\n // compute texture coordinates\n o.uv0 = IN.uv0.xy * _Dummy_ST.xy + _Dummy_ST.zw;\n // fog\n #if USING_FOG\n \ float fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n \ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n \ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n// textures\nsampler2D _Dummy; // not in shader properties, assuming 2D\n\n// fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n // SetTexture #0\n tex = tex2D (_Dummy, IN.uv0.xy);\n \ col.rgb = IN.color;\n col *= 2;\n col.a = IN.color.a;\n // fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n \ return col;\n}\n\n// texenvs\n//! TexEnv0: 02030000 01070004 [_Dummy]\n" m_AssetPath: m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 - - _ - POINT - SPOT m_VariantsUser1: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 - - _ - POINT - SPOT m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: [] m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR POINT SPOT m_BuiltinKeywords: 51937: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 54255: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_2179414;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (Texture_2179414, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 54284: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 54797: m_Code: "#line 38 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 ColorNode_1215284 = half4 (1, 0.5172414, 0, 1);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (ColorNode_1215284, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ // Add approximated illumination from non-important point lights\n \ #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n #endif\n \ #endif // LIGHTMAP_OFF\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 62147: m_Code: "#line 40 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n \ UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n \ gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandard (o, worldViewDir, gi);\n \ c.rgb += o.Emission;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n \ UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 65208: m_Code: "#line 39 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdbase\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.6, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\n// no lightmaps:\n#ifdef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD4; // SH\n #endif\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n #if SHADER_TARGET >= 30\n float4 lmap : TEXCOORD7;\n #endif\n};\n#endif\n// with lightmaps:\n#ifndef LIGHTMAP_OFF\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n float4 lmap : TEXCOORD4;\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n#endif\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n #endif\n #ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #endif\n\n \ // SH/ambient and vertex lights\n #ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ o.sh = 0;\n // Approximated illumination from non-important point lights\n #ifdef VERTEXLIGHT_ON\n o.sh += Shade4PointLights (\n \ unity_4LightPosX0, unity_4LightPosY0, unity_4LightPosZ0,\n unity_LightColor[0].rgb, unity_LightColor[1].rgb, unity_LightColor[2].rgb, unity_LightColor[3].rgb,\n \ unity_4LightAtten0, worldPos, worldNormal);\n #endif\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n #endif // LIGHTMAP_OFF\n\n \ TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n\n // compute lighting & shadowing factor\n \ UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n \ // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n \ gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // realtime lighting: call lighting function\n c += LightingStandardSpecular (o, worldViewDir, gi);\n c.rgb += o.Emission;\n \ UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - VERTEXLIGHT_ON m_VariantsBuiltin1: - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_OFF - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - SHADOWS_SCREEN - SHADOWS_NATIVE - - DIRECTIONAL - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - SHADOWS_SCREEN - SHADOWS_NATIVE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON LIGHTMAP_OFF LIGHTMAP_ON SHADOWS_NATIVE SHADOWS_OFF SHADOWS_SCREEN VERTEXLIGHT_ON 65859: m_Code: "#line 279 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 ColorNode_1215284 = half4 (1, 0.5172414, 0, 1);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (ColorNode_1215284, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 67948: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 68875: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 68953: m_Code: "#line 284 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.89, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Metallic = V4Node_8686;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 71506: m_Code: "#line 265 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, V4Node_1624204);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\to.Emission = PowerNode_1218400_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 79369: m_Code: "#line 200 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n// \ float2 _MainTex\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal : TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n \ SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord, _MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n \ o.worldNormal = worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.uv_MainTex.x = 1.0;\n \ surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n \ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n \ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingLambert (o, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: b5be55b0c510b99cba9a3700713156e6 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 80226: m_Code: "#line 284 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 82967: m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 84488: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 85859: m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2))\n\n// ES2.0/WebGL/3DS can not do loops with non-constant-expression iteration counts :(\n#if defined(SHADER_API_GLES)\n \ #define LIGHT_LOOP_LIMIT 8\n#elif defined(SHADER_API_N3DS)\n #define LIGHT_LOOP_LIMIT 4\n#else\n #define LIGHT_LOOP_LIMIT unity_VertexLightParams.x\n#endif\n#define ENABLE_SPECULAR (!defined(SHADER_API_N3DS))\n\n// Compile specialized variants for when positional (point/spot) and spot lights are present\n#pragma multi_compile __ POINT SPOT\n\n// Compute illumination from one light, given attenuation\nhalf3 computeLighting (int idx, half3 dirToLight, half3 eyeNormal, half3 viewDir, half4 diffuseColor, half shininess, half atten, inout half3 specColor) {\n \ half NdotL = max(dot(eyeNormal, dirToLight), 0.0);\n // diffuse\n half3 color = NdotL * diffuseColor.rgb * unity_LightColor[idx].rgb;\n // specular\n \ if (NdotL > 0.0) {\n half3 h = normalize(dirToLight + viewDir);\n half HdotN = max(dot(eyeNormal, h), 0.0);\n half sp = saturate(pow(HdotN, shininess));\n specColor += (atten * sp) * unity_LightColor[idx].rgb;\n \ }\n return color * atten;\n}\n\n// Compute attenuation & illumination from one light\nhalf3 computeOneLight(int idx, float3 eyePosition, half3 eyeNormal, half3 viewDir, half4 diffuseColor, half shininess, inout half3 specColor) {\n float3 dirToLight = unity_LightPosition[idx].xyz;\n half att = 1.0;\n #if defined(POINT) || defined(SPOT)\n dirToLight -= eyePosition * unity_LightPosition[idx].w;\n // distance attenuation\n float distSqr = dot(dirToLight, dirToLight);\n att /= (1.0 + unity_LightAtten[idx].z * distSqr);\n if (unity_LightPosition[idx].w != 0 && distSqr > unity_LightAtten[idx].w) att = 0.0; // set to 0 if outside of range\n dirToLight *= rsqrt(distSqr);\n \ #if defined(SPOT)\n // spot angle attenuation\n half rho = max(dot(dirToLight, unity_SpotDirection[idx].xyz), 0.0);\n half spotAtt = (rho - unity_LightAtten[idx].x) * unity_LightAtten[idx].y;\n att *= saturate(spotAtt);\n #endif\n #endif\n att *= 0.5; // passed in light colors are 2x brighter than what used to be in FFP\n return min (computeLighting (idx, dirToLight, eyeNormal, viewDir, diffuseColor, shininess, att, specColor), 1.0);\n}\n\n// uniforms\nhalf4 _Color;\nhalf4 _SpecColor;\nhalf4 _Emission;\nhalf _Shininess;\nint4 unity_VertexLightParams; // x: light count, y: zero, z: one (y/z needed by d3d9 vs loop instruction)\nfloat4 _MainTex_ST;\n\n// vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3 normal : NORMAL;\n float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n #if ENABLE_SPECULAR\n \ fixed3 specColor : COLOR1;\n #endif\n float2 uv0 : TEXCOORD0;\n #if USING_FOG\n fixed fog : TEXCOORD1;\n #endif\n float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n \ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3 eyeNormal = normalize (mul ((float3x3)UNITY_MATRIX_IT_MV, IN.normal).xyz);\n \ half3 viewDir = 0.0;\n viewDir = -normalize (eyePos);\n // lighting\n \ half3 lcolor = _Emission.rgb + _Color.rgb * glstate_lightmodel_ambient.rgb;\n \ half3 specColor = 0.0;\n half shininess = _Shininess * 128.0;\n for (int il = 0; il < LIGHT_LOOP_LIMIT; ++il) {\n lcolor += computeOneLight(il, eyePos, eyeNormal, viewDir, _Color, shininess, specColor);\n }\n color.rgb = lcolor.rgb;\n color.a = _Color.a;\n specColor *= _SpecColor.rgb;\n o.color = saturate(color);\n #if ENABLE_SPECULAR\n o.specColor = saturate(specColor);\n \ #endif\n // compute texture coordinates\n o.uv0 = IN.uv0.xy * _MainTex_ST.xy + _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n// textures\nsampler2D _MainTex;\n\n// fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n // SetTexture #0\n tex = tex2D (_MainTex, IN.uv0.xy);\n col.rgb = tex * IN.color;\n col *= 2;\n col.a = fixed4(1,1,1,1).a;\n #if ENABLE_SPECULAR\n // add specular color\n col.rgb += IN.specColor;\n #endif\n // fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n return col;\n}\n\n// texenvs\n//! TexEnv0: 02010103 01060004 [_MainTex] [ffffffff]\n" m_AssetPath: m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 - - _ - POINT - SPOT m_VariantsUser1: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 - - _ - POINT - SPOT m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: [] m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR POINT SPOT m_BuiltinKeywords: 86623: m_Code: "#line 255 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 91401: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 93269: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 94851: m_Code: "#line 281 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 97931: m_Code: "#line 280 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 99589: m_Code: "#line 279 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n \ fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n \ UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n \ o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n \ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n \ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 103109: m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 103375: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8306;\r\n\t\tsampler2D Texture_8310;\r\n\t\tsampler2D Texture_8308;\r\n\t\tsampler2D Texture_8284;\r\n\t\tsampler2D Texture_8312;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8320_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8318_Output = unity_multiply_half (UV_8320_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8310_Output = half4(UnpackNormal(tex2D (Texture_8310, MultiplyNode_8318_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8310_Output;\r\n\t\t\tfloat4 Texture_8306_Output = tex2D (Texture_8306, MultiplyNode_8318_Output.xy);\r\n\t\t\tfloat4 Texture_8308_Output = tex2D (Texture_8308, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 MultiplyNode_8316_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8284_Output = tex2D (Texture_8284, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 SubtractNode_8296_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8284_Output);\r\n\t\t\thalf4 V4Node_8288 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8298 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8294_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8300_Output = unity_absolute_half (SplatNode_8294_Output);\r\n\t\t\thalf4 LerpNode_8302_Output = unity_lerp_half (V4Node_8288, V4Node_8298, AbsoluteNode_8300_Output);\r\n\t\t\thalf4 SplatNode_8290_Output = LerpNode_8302_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8286_Output = pow (SubtractNode_8296_Output, SplatNode_8290_Output);\r\n\t\t\thalf4 MultiplyNode_8304_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_8316_Output, PowerNode_8286_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 SplatNode_15504_Output = Texture_8308_Output.wwww;\r\n\t\t\tfloat4 Texture_8312_Output = tex2D (Texture_8312, MultiplyNode_8318_Output.xy);\r\n\t\t\to.Albedo = Texture_8306_Output;\r\n\t\t\to.Emission = MultiplyNode_8304_Output;\r\n\t\t\to.Smoothness = SplatNode_15504_Output;\r\n\t\t\to.Occlusion = Texture_8312_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 106265: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 107526: m_Code: "#line 272 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n \ half4 custompack0 : TEXCOORD2; // meshUV0\n SHADOW_COORDS(3)\n UNITY_FOG_COORDS(4)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 108052: m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 110919: m_Code: "#line 284 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 114832: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 116778: m_Code: "#line 285 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_2255998 = half4 (0.47, 0, 0, 0);\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Smoothness = V4Node_2255998;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 52f816656dafeebcd2f4a2a9b873fb23 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 118130: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (TextureProperty, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 120260: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 121410: m_Code: "#line 282 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_2179414;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (Texture_2179414, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 121827: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 123508: m_Code: "#line 274 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n fixed3 tSpace2 : TEXCOORD2;\n \ float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n \ SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandard (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 123876: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.6, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 125894: m_Code: "#line 283 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma multi_compile_fog\n#pragma multi_compile_fwdadd\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_FORWARDADD\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n#include \"AutoLight.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n fixed3 tSpace0 : TEXCOORD0;\n fixed3 tSpace1 : TEXCOORD1;\n \ fixed3 tSpace2 : TEXCOORD2;\n float3 worldPos : TEXCOORD3;\n half4 custompack0 : TEXCOORD4; // meshUV0\n SHADOW_COORDS(5)\n UNITY_FOG_COORDS(6)\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = fixed3(worldTangent.x, worldBinormal.x, worldNormal.x);\n o.tSpace1 = fixed3(worldTangent.y, worldBinormal.y, worldNormal.y);\n o.tSpace2 = fixed3(worldTangent.z, worldBinormal.z, worldNormal.z);\n o.worldPos = worldPos;\n\n TRANSFER_SHADOW(o); // pass shadow coordinates to pixel shader\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n \ #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UNITY_LIGHT_ATTENUATION(atten, IN, worldPos)\n \ fixed4 c = 0;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n \ worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n #if !defined(LIGHTMAP_ON)\n gi.light.color = _LightColor0.rgb;\n gi.light.dir = lightDir;\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n #endif\n gi.light.color *= atten;\n \ c += LightingStandardSpecular (o, worldViewDir, gi);\n c.a = 0.0;\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n return c;\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 673a635350d66e2c941885260b04abe5 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin1: - - POINT - - DIRECTIONAL - - SPOT - - POINT_COOKIE - - DIRECTIONAL_COOKIE m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRECTIONAL DIRECTIONAL_COOKIE POINT POINT_COOKIE SPOT 132810: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 135810: m_Code: "#line 199 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 ColorNode_1215284 = half4 (1, 0.5172414, 0, 1);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (ColorNode_1215284, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n \ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2c7234fa40cfa808fb7c88dc6135c609 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 137362: m_Code: "#line 207 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_2179414;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (Texture_2179414, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 139217: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 142402: m_Code: "#line 203 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n \ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2c7234fa40cfa808fb7c88dc6135c609 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 145454: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.6, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 146914: m_Code: "#line 209 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 148195: m_Code: "#line 206 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 151152: m_Code: "#line 181 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 153187: m_Code: "#line 207 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 153808: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8306;\r\n\t\tsampler2D Texture_8310;\r\n\t\tsampler2D Texture_8308;\r\n\t\tsampler2D Texture_8284;\r\n\t\tsampler2D Texture_8312;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8320_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8318_Output = unity_multiply_half (UV_8320_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8310_Output = half4(UnpackNormal(tex2D (Texture_8310, MultiplyNode_8318_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8310_Output;\r\n\t\t\tfloat4 Texture_8306_Output = tex2D (Texture_8306, MultiplyNode_8318_Output.xy);\r\n\t\t\tfloat4 Texture_8308_Output = tex2D (Texture_8308, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 MultiplyNode_8316_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8284_Output = tex2D (Texture_8284, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 SubtractNode_8296_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8284_Output);\r\n\t\t\thalf4 V4Node_8288 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8298 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8294_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8300_Output = unity_absolute_half (SplatNode_8294_Output);\r\n\t\t\thalf4 LerpNode_8302_Output = unity_lerp_half (V4Node_8288, V4Node_8298, AbsoluteNode_8300_Output);\r\n\t\t\thalf4 SplatNode_8290_Output = LerpNode_8302_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8286_Output = pow (SubtractNode_8296_Output, SplatNode_8290_Output);\r\n\t\t\thalf4 MultiplyNode_8304_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_8316_Output, PowerNode_8286_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 SplatNode_15504_Output = Texture_8308_Output.wwww;\r\n\t\t\tfloat4 Texture_8312_Output = tex2D (Texture_8312, MultiplyNode_8318_Output.xy);\r\n\t\t\to.Albedo = Texture_8306_Output;\r\n\t\t\to.Emission = MultiplyNode_8304_Output;\r\n\t\t\to.Smoothness = SplatNode_15504_Output;\r\n\t\t\to.Occlusion = Texture_8312_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 154930: m_Code: "#line 203 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n \ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2c7234fa40cfa808fb7c88dc6135c609 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 155416: m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2))\n\n// uniforms\nfloat4 _MainTex_ST;\n\n// vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3 uv1 : TEXCOORD1;\n float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n float2 uv0 : TEXCOORD0;\n \ float2 uv1 : TEXCOORD1;\n #if USING_FOG\n fixed fog : TEXCOORD2;\n \ #endif\n float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3 viewDir = 0.0;\n \ o.color = saturate(color);\n // compute texture coordinates\n o.uv0 = IN.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n o.uv1 = IN.uv0.xy * _MainTex_ST.xy + _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n \ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n \ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n// textures\nsampler2D _MainTex;\nfixed4 _Color;\n\n// fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n \ // SetTexture #0\n tex = UNITY_SAMPLE_TEX2D (unity_Lightmap, IN.uv0.xy);\n \ col = tex * _Color;\n // SetTexture #1\n tex = tex2D (_MainTex, IN.uv1.xy);\n \ col.rgb = tex * col;\n col *= 2;\n col.a = fixed4(1,1,1,1).a;\n // fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n \ #endif\n return col;\n}\n\n// texenvs\n//! TexEnv0: 01010102 01010102 [unity_Lightmap] [_Color] usesLightmapST\n//! TexEnv1: 02010100 01060004 [_MainTex] [ffffffff]\n" m_AssetPath: m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: [] m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: 155604: m_Code: "#line 181 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n \ half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD5; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD5;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n \ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n \ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n \ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n \ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n \ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n \ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 161489: m_Code: "#line 111 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_PREPASSBASE\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n \ float3 worldPos : TEXCOORD1;\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.uv_MainTex.x = 1.0;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n \ o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n \ o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\n\n // output normal and specular\n fixed4 res;\n res.rgb = o.Normal * 0.5 + 0.5;\n res.a = o.Specular;\n \ return res;\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 31f47922f5eab9ea49e6483203005346 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 162373: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 164994: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 169095: m_Code: "#line 207 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 169717: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 171020: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 171371: m_Code: "#line 207 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 172410: m_Code: "#line 199 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 174984: m_Code: "#line 209 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.89, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Metallic = V4Node_8686;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 175690: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (TextureProperty, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 180793: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 181128: m_Code: "#line 209 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 186035: m_Code: "#line 205 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 187056: m_Code: "#line 169 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: YES\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, V4Node_1624204);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\to.Emission = PowerNode_1218400_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n half3 worldNormal : TEXCOORD0;\n float3 worldPos : TEXCOORD1;\n half4 custompack0 : TEXCOORD2; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD3;\n#endif\n \ float4 lmap : TEXCOORD4;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ half3 sh : TEXCOORD5; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n \ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n o.worldNormal = worldNormal;\n float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n \ #ifndef DIRLIGHTMAP_OFF\n o.viewDir = viewDirForLight;\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n \ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n \ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n \ #endif\n#else\n o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n #endif\n#endif\n \ return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n \ #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n normalWorldVertex = IN.worldNormal;\n\n \ // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n \ gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n \ gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n \ giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n \ outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2c7234fa40cfa808fb7c88dc6135c609 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 189693: m_Code: "#line 204 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n \ float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n \ float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 190859: m_Code: "#line 205 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_2255998 = half4 (0.47, 0, 0, 0);\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Smoothness = V4Node_2255998;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD7;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n #if UNITY_SAMPLE_FULL_SH_PER_PIXEL\n \ o.sh = 0;\n #elif (SHADER_TARGET < 30)\n o.sh = ShadeSH9 (float4(worldNormal,1.0));\n \ #else\n o.sh = ShadeSH3Order (half4(worldNormal, 1.0));\n #endif\n \ #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n \ out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n o.Normal = worldN;\n \ half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n \ giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingStandardSpecular_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandardSpecular_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2c7234fa40cfa808fb7c88dc6135c609 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 195002: m_Code: "#line 208 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n \ half4 custompack0 : TEXCOORD3; // meshUV0\n#ifndef DIRLIGHTMAP_OFF\n half3 viewDir : TEXCOORD4;\n#endif\n float4 lmap : TEXCOORD5;\n#ifdef LIGHTMAP_OFF\n \ #if UNITY_SHOULD_SAMPLE_SH\n half3 sh : TEXCOORD6; // SH\n #endif\n#else\n \ #ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD6;\n #endif\n#endif\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ float3 viewDirForLight = UnityWorldSpaceViewDir(worldPos);\n #ifndef DIRLIGHTMAP_OFF\n o.viewDir.x = dot(viewDirForLight, worldTangent);\n o.viewDir.y = dot(viewDirForLight, worldBinormal);\n o.viewDir.z = dot(viewDirForLight, worldNormal);\n #endif\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n fixed3 worldViewDir = normalize(UnityWorldSpaceViewDir(worldPos));\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n \ fixed3 worldN;\n worldN.x = dot(IN.tSpace0.xyz, o.Normal);\n worldN.y = dot(IN.tSpace1.xyz, o.Normal);\n worldN.z = dot(IN.tSpace2.xyz, o.Normal);\n \ o.Normal = worldN;\n half atten = 1;\n\n // Setup lighting environment\n \ UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n \ // Call GI (lightmaps/SH/reflections) lighting function\n UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.worldViewDir = worldViewDir;\n \ giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n \ giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n \ #endif\n #if UNITY_SHOULD_SAMPLE_SH\n giInput.ambient = IN.sh;\n #else\n \ giInput.ambient.rgb = 0.0;\n #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n \ giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n \ giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n #endif\n LightingStandard_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingStandard_Deferred (o, worldViewDir, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n \ #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 40d83e9d4284dce005e6cff9fcb1bf2c m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 200775: m_Code: "#line 90 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma multi_compile_fog\n#pragma multi_compile_prepassfinal\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n// \ float2 _MainTex\n#define UNITY_PASS_PREPASSFINAL\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n float3 worldPos : TEXCOORD1;\n float4 screen : TEXCOORD2;\n \ float4 lmap : TEXCOORD3;\n#ifdef LIGHTMAP_OFF\n float3 vlight : TEXCOORD4;\n#else\n#ifdef DIRLIGHTMAP_OFF\n float4 lmapFadePos : TEXCOORD4;\n#endif\n#endif\n UNITY_FOG_COORDS(5)\n \ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n fixed3 tSpace0 : TEXCOORD6;\n fixed3 tSpace1 : TEXCOORD7;\n fixed3 tSpace2 : TEXCOORD8;\n #endif\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord, _MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n #endif\n \ #if !defined(LIGHTMAP_OFF) && defined(DIRLIGHTMAP_COMBINED)\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ #endif\n o.worldPos = worldPos;\n o.screen = ComputeScreenPos (o.pos);\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n \ #ifdef DIRLIGHTMAP_OFF\n o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n \ o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n \ #endif\n#else\n o.lmap.xy = 0;\n float3 worldN = UnityObjectToWorldNormal(v.normal);\n \ o.vlight = ShadeSH9 (float4(worldN,1.0));\n#endif\n UNITY_TRANSFER_FOG(o,o.pos); // pass fog coordinates to pixel shader\n return o;\n}\nsampler2D _LightBuffer;\n#if defined (SHADER_API_XBOX360) && defined (UNITY_HDR_ON)\nsampler2D _LightSpecBuffer;\n#endif\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n half4 light = tex2Dproj (_LightBuffer, UNITY_PROJ_COORD(IN.screen));\n#if defined (SHADER_API_MOBILE)\n light = max(light, half4(0.001, 0.001, 0.001, 0.001));\n#endif\n#ifndef UNITY_HDR_ON\n \ light = -log2(light);\n#endif\n#if defined (SHADER_API_XBOX360) && defined (UNITY_HDR_ON)\n light.w = tex2Dproj (_LightSpecBuffer, UNITY_PROJ_COORD(IN.screen)).r;\n#endif\n \ #ifndef LIGHTMAP_OFF\n #ifdef DIRLIGHTMAP_OFF\n // single lightmap\n \ fixed4 lmtex = UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.lmap.xy);\n fixed3 lm = DecodeLightmap (lmtex);\n light.rgb += lm;\n #elif DIRLIGHTMAP_COMBINED\n \ // directional lightmaps\n fixed4 lmtex = UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.lmap.xy);\n half4 lm = half4(DecodeLightmap(lmtex), 0);\n light += lm;\n #elif DIRLIGHTMAP_SEPARATE\n // directional with specular - no support\n #endif // DIRLIGHTMAP_OFF\n #else\n light.rgb += IN.vlight;\n \ #endif // !LIGHTMAP_OFF\n\n #ifndef DYNAMICLIGHTMAP_OFF\n fixed4 dynlmtex = UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, IN.lmap.zw);\n light.rgb += DecodeRealtimeLightmap (dynlmtex);\n #endif\n\n half4 c = LightingLambert_PrePass (o, light);\n UNITY_APPLY_FOG(IN.fogCoord, c); // apply fog\n UNITY_OPAQUE_ALPHA(c.a);\n \ return c;\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 31f47922f5eab9ea49e6483203005346 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - __ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 204192: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 207603: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 208963: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 210972: m_Code: "#line 277 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 212101: m_Code: "#line 273 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 213403: m_Code: "#line 278 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_2255998 = half4 (0.47, 0, 0, 0);\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Smoothness = V4Node_2255998;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 213454: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 216315: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 216943: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 219209: m_Code: "#line 277 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 219888: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 222263: m_Code: "#line 267 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 224980: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 ColorNode_895288 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (ColorNode_895288, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (3.6, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 226032: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\t\tsampler2D Texture_2161588;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 AbsoluteNode_2144720_Output = unity_absolute_half (_SinTime);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (AbsoluteNode_2144720_Output, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_2161588_Output = tex2D (Texture_2161588, IN.meshUV0.xy);\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\t\t\to.Occlusion = Texture_2161588_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 226628: m_Code: "#line 274 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 229180: m_Code: "#line 277 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.89, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Metallic = V4Node_8686;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 232532: m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 26 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8232;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n \ half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n \ o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 233618: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (TextureProperty, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 243236: m_Code: "#line 272 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 AbsoluteNode_8682_Output = unity_absolute_half (_SinTime);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (AbsoluteNode_8682_Output, half4 (2,2,2,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (4.5, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 244146: m_Code: "#line 275 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 246323: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (4, 4, 4, 4);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 248446: m_Code: "#line 275 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_2179414;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_2179414_Output = tex2D (Texture_2179414, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_2179414_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 249241: m_Code: "#pragma vertex vert\n#pragma fragment frag\n#include \"UnityShaderVariables.cginc\"\n#pragma multi_compile_fog\n#include \"UnityCG.cginc\"\n#define USING_FOG (defined(FOG_LINEAR) || defined(FOG_EXP) || defined(FOG_EXP2))\n\n// uniforms\nfloat4 unity_Lightmap_ST;\nfloat4 _MainTex_ST;\n\n// vertex shader input data\nstruct appdata {\n float3 pos : POSITION;\n float3 uv1 : TEXCOORD1;\n float3 uv0 : TEXCOORD0;\n};\n\n// vertex-to-fragment interpolators\nstruct v2f {\n fixed4 color : COLOR0;\n \ float2 uv0 : TEXCOORD0;\n float2 uv1 : TEXCOORD1;\n float2 uv2 : TEXCOORD2;\n \ #if USING_FOG\n fixed fog : TEXCOORD3;\n #endif\n float4 pos : SV_POSITION;\n};\n\n// vertex shader\nv2f vert (appdata IN) {\n v2f o;\n half4 color = half4(0,0,0,1.1);\n \ float3 eyePos = mul (UNITY_MATRIX_MV, float4(IN.pos,1)).xyz;\n half3 viewDir = 0.0;\n o.color = saturate(color);\n // compute texture coordinates\n \ o.uv0 = IN.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n o.uv1 = IN.uv1.xy * unity_Lightmap_ST.xy + unity_Lightmap_ST.zw;\n o.uv2 = IN.uv0.xy * _MainTex_ST.xy + _MainTex_ST.zw;\n // fog\n #if USING_FOG\n float fogCoord = length(eyePos.xyz); // radial fog distance\n UNITY_CALC_FOG_FACTOR(fogCoord);\n \ o.fog = saturate(unityFogFactor);\n #endif\n // transform position\n \ o.pos = mul(UNITY_MATRIX_MVP, float4(IN.pos,1));\n return o;\n}\n\n// textures\nsampler2D _MainTex;\nfixed4 _Color;\n\n// fragment shader\nfixed4 frag (v2f IN) : SV_Target {\n fixed4 col;\n fixed4 tex, tmp0, tmp1, tmp2;\n \ // SetTexture #0\n tex = UNITY_SAMPLE_TEX2D (unity_Lightmap, IN.uv0.xy);\n \ col = tex * tex.a;\n col *= 2;\n // SetTexture #1\n tex = UNITY_SAMPLE_TEX2D (unity_Lightmap, IN.uv1.xy);\n col = col * _Color;\n // SetTexture #2\n \ tex = tex2D (_MainTex, IN.uv2.xy);\n col.rgb = tex * col;\n col *= 4;\n \ col.a = fixed4(1,1,1,1).a;\n // fog\n #if USING_FOG\n col.rgb = lerp (unity_FogColor.rgb, col.rgb, IN.fog);\n #endif\n return col;\n}\n\n// texenvs\n//! TexEnv0: 02010105 02010105 [unity_Lightmap] usesLightmapST\n//! TexEnv1: 01000102 01000102 [unity_Lightmap] [_Color]\n//! TexEnv2: 04010100 01060004 [_MainTex] [ffffffff]\n" m_AssetPath: m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 00000000000000000000000000000000 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser1: - - _ - FOG_LINEAR - FOG_EXP - FOG_EXP2 m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: [] m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: FOG_EXP FOG_EXP2 FOG_LINEAR m_BuiltinKeywords: 251421: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8306;\r\n\t\tsampler2D Texture_8310;\r\n\t\tsampler2D Texture_8308;\r\n\t\tsampler2D Texture_8284;\r\n\t\tsampler2D Texture_8312;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8320_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8318_Output = unity_multiply_half (UV_8320_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8310_Output = half4(UnpackNormal(tex2D (Texture_8310, MultiplyNode_8318_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8310_Output;\r\n\t\t\tfloat4 Texture_8306_Output = tex2D (Texture_8306, MultiplyNode_8318_Output.xy);\r\n\t\t\tfloat4 Texture_8308_Output = tex2D (Texture_8308, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 MultiplyNode_8316_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8284_Output = tex2D (Texture_8284, MultiplyNode_8318_Output.xy);\r\n\t\t\thalf4 SubtractNode_8296_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8284_Output);\r\n\t\t\thalf4 V4Node_8288 = half4 (4.4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8298 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8294_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8300_Output = unity_absolute_half (SplatNode_8294_Output);\r\n\t\t\thalf4 LerpNode_8302_Output = unity_lerp_half (V4Node_8288, V4Node_8298, AbsoluteNode_8300_Output);\r\n\t\t\thalf4 SplatNode_8290_Output = LerpNode_8302_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8286_Output = pow (SubtractNode_8296_Output, SplatNode_8290_Output);\r\n\t\t\thalf4 MultiplyNode_8304_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_8316_Output, PowerNode_8286_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 SplatNode_15504_Output = Texture_8308_Output.wwww;\r\n\t\t\tfloat4 Texture_8312_Output = tex2D (Texture_8312, MultiplyNode_8318_Output.xy);\r\n\t\t\to.Albedo = Texture_8306_Output;\r\n\t\t\to.Emission = MultiplyNode_8304_Output;\r\n\t\t\to.Smoothness = SplatNode_15504_Output;\r\n\t\t\to.Occlusion = Texture_8312_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 256158: m_Code: "#line 242 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: no\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 25 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (0, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (1, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, V4Node_1624204);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\to.Emission = PowerNode_1218400_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float3 worldPos : TEXCOORD0;\n half4 custompack0 : TEXCOORD1; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ o.worldPos = worldPos;\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n \ UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n \ fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n \ fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n \ o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 256600: m_Code: "#line 276 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 ColorNode_74006 = half4 (1, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (ColorNode_74006, PowerNode_8234_Output), half4 (3,3,3,3));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Smoothness = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 257473: m_Code: "#line 249 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_589974;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 V4Node_363984 = half4 (2, 2, 2, 2);\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (unity_multiply_half (UV_8266_UV, V4Node_363984), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_480504_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_589974_Output = tex2D (Texture_589974, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Metallic = Texture_8256_Output;\r\n\t\t\to.Smoothness = SplatNode_480504_Output;\r\n\t\t\to.Occlusion = Texture_589974_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 259001: m_Code: "#line 272 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 28 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_1980478;\r\n\t\tsampler2D Texture_2007302;\r\n\t\tsampler2D Texture_1993896;\r\n\t\tsampler2D Texture_1216600;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\tfloat4 Texture_2007302_Output = half4(UnpackNormal(tex2D (Texture_2007302, IN.meshUV0.xy)), 0);\r\n\t\t\to.Normal = Texture_2007302_Output;\r\n\t\t\tfloat4 Texture_1980478_Output = tex2D (Texture_1980478, IN.meshUV0.xy);\r\n\t\t\tfloat4 Texture_1993896_Output = tex2D (Texture_1993896, IN.meshUV0.xy);\r\n\t\t\thalf4 ColorNode_1215284 = half4 (1, 0.5172414, 0, 1);\r\n\t\t\tfloat4 Texture_1216600_Output = tex2D (Texture_1216600, IN.meshUV0.xy);\r\n\t\t\thalf4 SubtractNode_1439548_Output = unity_subtract_half (half4 (1,1,1,1), Texture_1216600_Output);\r\n\t\t\thalf4 V4Node_1233532 = half4 (4.3, 0, 0, 0);\r\n\t\t\thalf4 V4Node_1624204 = half4 (6.6, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_1296916_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_1718040_Output = unity_absolute_half (SplatNode_1296916_Output);\r\n\t\t\thalf4 LerpNode_1738404_Output = unity_lerp_half (V4Node_1233532, V4Node_1624204, AbsoluteNode_1718040_Output);\r\n\t\t\thalf4 SplatNode_1234162_Output = LerpNode_1738404_Output.xxxx;\r\n\t\t\thalf4 PowerNode_1218400_Output = pow (SubtractNode_1439548_Output, SplatNode_1234162_Output);\r\n\t\t\thalf4 MultiplyNode_1923656_Output = unity_multiply_half (unity_multiply_half (ColorNode_1215284, PowerNode_1218400_Output), half4 (1,1,1,1));\r\n\t\t\to.Albedo = Texture_1980478_Output;\r\n\t\t\to.Specular = Texture_1993896_Output;\r\n\t\t\to.Emission = MultiplyNode_1923656_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 41a6a35ec8e1e9a2ee891b8f0e5a5d1b m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 260197: m_Code: "#line 275 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 30 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf Standard vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D TextureProperty;\r\n\t\tfloat4 TextureProperty_ST;\r\n\t\tsampler2D Texture_8254;\r\n\t\tsampler2D Texture_8258;\r\n\t\tsampler2D Texture_8232;\r\n\t\tsampler2D Texture_8256;\r\n\t\tsampler2D Texture_8260;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandard o) \n\t\t{\n\t\t\thalf4 UV_8266_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_8264_Output = unity_multiply_half (UV_8266_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8258_Output = half4(UnpackNormal(tex2D (Texture_8258, MultiplyNode_8264_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8258_Output;\r\n\t\t\tfloat4 Texture_8254_Output = tex2D (Texture_8254, MultiplyNode_8264_Output.xy);\r\n\t\t\tfloat4 Texture_8232_Output = tex2D (Texture_8232, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SubtractNode_8244_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8232_Output);\r\n\t\t\thalf4 V4Node_8236 = half4 (6.5, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8246 = half4 (7.3, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8242_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8248_Output = unity_absolute_half (SplatNode_8242_Output);\r\n\t\t\thalf4 LerpNode_8250_Output = unity_lerp_half (V4Node_8236, V4Node_8246, AbsoluteNode_8248_Output);\r\n\t\t\thalf4 SplatNode_8238_Output = LerpNode_8250_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8234_Output = pow (SubtractNode_8244_Output, SplatNode_8238_Output);\r\n\t\t\thalf4 MultiplyNode_8252_Output = unity_multiply_half (unity_multiply_half (_SinTime, PowerNode_8234_Output), half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8256_Output = tex2D (Texture_8256, MultiplyNode_8264_Output.xy);\r\n\t\t\thalf4 SplatNode_8270_Output = Texture_8256_Output.wwww;\r\n\t\t\tfloat4 Texture_8260_Output = tex2D (Texture_8260, MultiplyNode_8264_Output.xy);\r\n\t\t\to.Albedo = Texture_8254_Output;\r\n\t\t\to.Emission = MultiplyNode_8252_Output;\r\n\t\t\to.Metallic = SplatNode_8270_Output;\r\n\t\t\to.Occlusion = Texture_8260_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n float4 tSpace1 : TEXCOORD1;\n \ float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ Input customInputData;\n vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n \ float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n \ fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n \ o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n \ o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n \ #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutputStandard o = (SurfaceOutputStandard)0;\n \ #else\n SurfaceOutputStandard o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 261557: m_Code: "#line 275 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma target 3.0\n#pragma glsl\n#pragma debug\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// vertex modifier: 'vert'\n// writes to per-pixel normal: YES\n// writes to emission: YES\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: YES\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: YES\n// reads from normal: no\n// 0 texcoords actually used\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n#include \"UnityPBSLighting.cginc\"\n\n#define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2;\n#define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)))\n#define WorldNormalVector(data,normal) fixed3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 29 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n\t\t//#pragma target 3.0\n\t\t//#pragma surface surf StandardSpecular vertex:vert\n\t\t//#pragma glsl\n\t\t//#pragma debug\n\n\n\n\t\tinline half4 unity_multiply_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 * arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_subtract_half (half4 arg1, half4 arg2)\r\n\t\t{\r\n\t\t\treturn arg1 - arg2;\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_absolute_half (half4 arg1)\r\n\t\t{\r\n\t\t\treturn abs(arg1);\r\n\t\t}\r\n\t\t\r\n\t\tinline half4 unity_lerp_half (half4 first, half4 second, half4 s)\r\n\t\t{\r\n\t\t\treturn lerp(first, second, s);\r\n\t\t}\r\n\t\t\r\n\n\n\t\tsampler2D Texture_8674;\r\n\t\tsampler2D Texture_8678;\r\n\t\tsampler2D Texture_8676;\r\n\t\tsampler2D Texture_8652;\r\n\t\tsampler2D Texture_8684;\r\n\n\n\t\tstruct Input \n\t\t{\n\t\t\thalf4 meshUV0;\r\n\n\t\t};\n\n\t\tvoid vert (inout appdata_full v, out Input o)\n\t\t{\n\t\t\tUNITY_INITIALIZE_OUTPUT(Input,o);\n\t\t\to.meshUV0 = v.texcoord;\r\n\n\t\t}\n\t \n\t\tvoid surf (Input IN, inout SurfaceOutputStandardSpecular o) \n\t\t{\n\t\t\thalf4 UV_709896_UV = IN.meshUV0;\r\n\t\t\thalf4 MultiplyNode_708570_Output = unity_multiply_half (UV_709896_UV, half4 (2,2,2,2));\r\n\t\t\tfloat4 Texture_8678_Output = half4(UnpackNormal(tex2D (Texture_8678, MultiplyNode_708570_Output.xy)), 0);\r\n\t\t\to.Normal = Texture_8678_Output;\r\n\t\t\tfloat4 Texture_8674_Output = tex2D (Texture_8674, MultiplyNode_708570_Output.xy);\r\n\t\t\tfloat4 Texture_8676_Output = tex2D (Texture_8676, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 MultiplyNode_570234_Output = unity_multiply_half (_SinTime, half4 (1,1,1,1));\r\n\t\t\tfloat4 Texture_8652_Output = tex2D (Texture_8652, MultiplyNode_708570_Output.xy);\r\n\t\t\thalf4 SubtractNode_8664_Output = unity_subtract_half (half4 (1,1,1,1), Texture_8652_Output);\r\n\t\t\thalf4 V4Node_8656 = half4 (4, 0, 0, 0);\r\n\t\t\thalf4 V4Node_8666 = half4 (7, 0, 0, 0);\r\n\t\t\thalf4 SplatNode_8662_Output = _SinTime.zzzz;\r\n\t\t\thalf4 AbsoluteNode_8668_Output = unity_absolute_half (SplatNode_8662_Output);\r\n\t\t\thalf4 LerpNode_8670_Output = unity_lerp_half (V4Node_8656, V4Node_8666, AbsoluteNode_8668_Output);\r\n\t\t\thalf4 SplatNode_8658_Output = LerpNode_8670_Output.xxxx;\r\n\t\t\thalf4 PowerNode_8654_Output = pow (SubtractNode_8664_Output, SplatNode_8658_Output);\r\n\t\t\thalf4 MultiplyNode_8672_Output = unity_multiply_half (unity_multiply_half (MultiplyNode_570234_Output, PowerNode_8654_Output), half4 (1,1,1,1));\r\n\t\t\thalf4 V4Node_8686 = half4 (0.2, 0, 0, 0);\r\n\t\t\tfloat4 Texture_8684_Output = tex2D (Texture_8684, MultiplyNode_708570_Output.xy);\r\n\t\t\to.Albedo = Texture_8674_Output;\r\n\t\t\to.Specular = Texture_8676_Output;\r\n\t\t\to.Emission = MultiplyNode_8672_Output;\r\n\t\t\to.Smoothness = V4Node_8686;\r\n\t\t\to.Occlusion = Texture_8684_Output;\r\n\n\t\t}\n\t\t\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float4 tSpace0 : TEXCOORD0;\n \ float4 tSpace1 : TEXCOORD1;\n float4 tSpace2 : TEXCOORD2;\n half4 custompack0 : TEXCOORD3; // meshUV0\n};\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n Input customInputData;\n \ vert (v, customInputData);\n o.custompack0.xyzw = customInputData.meshUV0;\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n \ fixed3 worldTangent = UnityObjectToWorldDir(v.tangent.xyz);\n fixed tangentSign = v.tangent.w * unity_WorldTransformParams.w;\n fixed3 worldBinormal = cross(worldNormal, worldTangent) * tangentSign;\n o.tSpace0 = float4(worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x);\n o.tSpace1 = float4(worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y);\n o.tSpace2 = float4(worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z);\n return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n surfIN.meshUV0.x = 1.0;\n surfIN.meshUV0 = IN.custompack0.xyzw;\n float3 worldPos = float3(IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w);\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n \ SurfaceOutputStandardSpecular o = (SurfaceOutputStandardSpecular)0;\n \ #else\n SurfaceOutputStandardSpecular o;\n #endif\n o.Albedo = 0.0;\n \ o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Occlusion = 1.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/UnityShaderEditor/Graphs m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 95a37cad14732b342a401f91029ab0e7 m_IsGLSL: 0 m_FromOther: 0 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 2 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: 267886: m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma exclude_renderers nomrt\n#pragma multi_compile_prepassfinal\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: YES\n// 1 texcoords actually used\n// float2 _MainTex\n#define UNITY_PASS_DEFERRED\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n half3 worldNormal : TEXCOORD1;\n float3 worldPos : TEXCOORD2;\n \ float4 lmap : TEXCOORD3;\n#ifdef LIGHTMAP_OFF\n #if UNITY_SHOULD_SAMPLE_SH\n \ half3 sh : TEXCOORD4; // SH\n #endif\n#else\n #ifdef DIRLIGHTMAP_OFF\n \ float4 lmapFadePos : TEXCOORD4;\n #endif\n#endif\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = mul (UNITY_MATRIX_MVP, v.vertex);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord, _MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n \ o.worldNormal = worldNormal;\n#ifndef DYNAMICLIGHTMAP_OFF\n o.lmap.zw = v.texcoord2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw;\n#else\n \ o.lmap.zw = 0;\n#endif\n#ifndef LIGHTMAP_OFF\n o.lmap.xy = v.texcoord1.xy * unity_LightmapST.xy + unity_LightmapST.zw;\n #ifdef DIRLIGHTMAP_OFF\n \ o.lmapFadePos.xyz = (mul(_Object2World, v.vertex).xyz - unity_ShadowFadeCenterAndType.xyz) * unity_ShadowFadeCenterAndType.w;\n o.lmapFadePos.w = (-mul(UNITY_MATRIX_MV, v.vertex).z) * (1.0 - unity_ShadowFadeCenterAndType.w);\n #endif\n#else\n \ o.lmap.xy = 0;\n #if UNITY_SHOULD_SAMPLE_SH\n o.sh = 0;\n o.sh = ShadeSHPerVertex (worldNormal, o.sh);\n #endif\n#endif\n return o;\n}\n#ifdef LIGHTMAP_ON\nfloat4 unity_LightmapFade;\n#endif\nfixed4 unity_Ambient;\n\n// fragment shader\nvoid frag_surf (v2f_surf IN,\n out half4 outDiffuse : SV_Target0,\n out half4 outSpecSmoothness : SV_Target1,\n out half4 outNormal : SV_Target2,\n out half4 outEmission : SV_Target3) {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n o.Normal = IN.worldNormal;\n \ normalWorldVertex = IN.worldNormal;\n\n // call surface function\n surf (surfIN, o);\nfixed3 originalNormal = o.Normal;\n half atten = 1;\n\n // Setup lighting environment\n UnityGI gi;\n UNITY_INITIALIZE_OUTPUT(UnityGI, gi);\n gi.indirect.diffuse = 0;\n gi.indirect.specular = 0;\n gi.light.color = 0;\n gi.light.dir = half3(0,1,0);\n gi.light.ndotl = LambertTerm (o.Normal, gi.light.dir);\n // Call GI (lightmaps/SH/reflections) lighting function\n \ UnityGIInput giInput;\n UNITY_INITIALIZE_OUTPUT(UnityGIInput, giInput);\n \ giInput.light = gi.light;\n giInput.worldPos = worldPos;\n giInput.atten = atten;\n #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)\n giInput.lightmapUV = IN.lmap;\n #else\n giInput.lightmapUV = 0.0;\n #endif\n #if UNITY_SHOULD_SAMPLE_SH\n \ giInput.ambient = IN.sh;\n #else\n giInput.ambient.rgb = 0.0;\n \ #endif\n giInput.probeHDR[0] = unity_SpecCube0_HDR;\n giInput.probeHDR[1] = unity_SpecCube1_HDR;\n #if UNITY_SPECCUBE_BLENDING || UNITY_SPECCUBE_BOX_PROJECTION\n \ giInput.boxMin[0] = unity_SpecCube0_BoxMin; // .w holds lerp value for blending\n #endif\n #if UNITY_SPECCUBE_BOX_PROJECTION\n giInput.boxMax[0] = unity_SpecCube0_BoxMax;\n giInput.probePosition[0] = unity_SpecCube0_ProbePosition;\n \ giInput.boxMax[1] = unity_SpecCube1_BoxMax;\n giInput.boxMin[1] = unity_SpecCube1_BoxMin;\n giInput.probePosition[1] = unity_SpecCube1_ProbePosition;\n \ #endif\n LightingLambert_GI(o, giInput, gi);\n\n // call lighting function to output g-buffer\n outEmission = LightingLambert_Deferred (o, gi, outDiffuse, outSpecSmoothness, outNormal);\n #ifndef UNITY_HDR_ON\n outEmission.rgb = exp2(-outEmission.rgb);\n #endif\n UNITY_OPAQUE_ALPHA(outDiffuse.a);\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294958079 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 31f47922f5eab9ea49e6483203005346 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin1: - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - HDR_LIGHT_PREPASS_OFF - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_OFF - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_COMBINED - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_OFF - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_OFF - UNITY_HDR_ON - - LIGHTMAP_ON - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON - UNITY_HDR_ON m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: DIRLIGHTMAP_COMBINED DIRLIGHTMAP_OFF DIRLIGHTMAP_SEPARATE DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON HDR_LIGHT_PREPASS_OFF LIGHTMAP_OFF LIGHTMAP_ON UNITY_HDR_ON 335014: m_Code: "#line 171 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n// compile directives\n#pragma vertex vert_surf\n#pragma fragment frag_surf\n#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n// Surface shader code generated based on:\n// writes to per-pixel normal: no\n// writes to emission: no\n// needs world space reflection vector: no\n// needs world space normal vector: no\n// needs screen space position: no\n// needs world space position: no\n// needs view direction: no\n// needs world space view direction: no\n// needs world space position for lighting: YES\n// needs world space view direction for lighting: no\n// needs world space view direction for lightmaps: no\n// needs vertex color: no\n// needs VFACE: no\n// passes tangent-to-world matrix to pixel shader: no\n// reads from normal: no\n// 1 texcoords actually used\n// \ float2 _MainTex\n#define UNITY_PASS_META\n#include \"UnityCG.cginc\"\n#include \"Lighting.cginc\"\n\n#define INTERNAL_DATA\n#define WorldReflectionVector(data,normal) data.worldRefl\n#define WorldNormalVector(data,normal) normal\n\n// Original surface shader snippet:\n#include \"HLSLSupport.cginc\"\n#include \"UnityShaderVariables.cginc\"\n#line 8 \"\"\n#ifdef DUMMY_PREPROCESSOR_TO_WORK_AROUND_HLSL_COMPILER_LINE_HANDLING\n#endif\n\n//#pragma surface surf Lambert\n\nsampler2D _MainTex;\nfixed4 _Color;\n\nstruct Input {\n\tfloat2 uv_MainTex;\n};\n\nvoid surf (Input IN, inout SurfaceOutput o) {\n\tfixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;\n\to.Albedo = c.rgb;\n\to.Alpha = c.a;\n}\n\n#include \"UnityMetaPass.cginc\"\n\n// vertex-to-fragment interpolation data\nstruct v2f_surf {\n float4 pos : SV_POSITION;\n float2 pack0 : TEXCOORD0; // _MainTex\n float3 worldPos : TEXCOORD1;\n};\nfloat4 _MainTex_ST;\n\n// vertex shader\nv2f_surf vert_surf (appdata_full v) {\n v2f_surf o;\n UNITY_INITIALIZE_OUTPUT(v2f_surf,o);\n \ o.pos = UnityMetaVertexPosition(v.vertex, v.texcoord1.xy, v.texcoord2.xy, unity_LightmapST, unity_DynamicLightmapST);\n o.pack0.xy = TRANSFORM_TEX(v.texcoord, _MainTex);\n float3 worldPos = mul(_Object2World, v.vertex).xyz;\n fixed3 worldNormal = UnityObjectToWorldNormal(v.normal);\n o.worldPos = worldPos;\n \ return o;\n}\n\n// fragment shader\nfixed4 frag_surf (v2f_surf IN) : SV_Target {\n // prepare and unpack data\n Input surfIN;\n UNITY_INITIALIZE_OUTPUT(Input,surfIN);\n \ surfIN.uv_MainTex.x = 1.0;\n surfIN.uv_MainTex = IN.pack0.xy;\n float3 worldPos = IN.worldPos;\n #ifndef USING_DIRECTIONAL_LIGHT\n fixed3 lightDir = normalize(UnityWorldSpaceLightDir(worldPos));\n #else\n fixed3 lightDir = _WorldSpaceLightPos0.xyz;\n #endif\n #ifdef UNITY_COMPILER_HLSL\n SurfaceOutput o = (SurfaceOutput)0;\n #else\n SurfaceOutput o;\n #endif\n o.Albedo = 0.0;\n o.Emission = 0.0;\n o.Specular = 0.0;\n o.Alpha = 0.0;\n o.Gloss = 0.0;\n fixed3 normalWorldVertex = fixed3(0,0,1);\n\n // call surface function\n surf (surfIN, o);\n UnityMetaInput metaIN;\n UNITY_INITIALIZE_OUTPUT(UnityMetaInput, metaIN);\n metaIN.Albedo = o.Albedo;\n metaIN.Emission = o.Emission;\n \ return UnityMetaFragment(metaIN);\n}\n\n" m_AssetPath: Assets/DefaultResourcesExtra m_PlatformMask: 4294967295 m_TypesMask: 3 m_IncludesHash: serializedVersion: 2 Hash: 2b0e47b46c285518e5aaa814648e77e6 m_IsGLSL: 0 m_FromOther: 1 m_VariantsUser0: [] m_VariantsUser1: [] m_VariantsUser2: [] m_VariantsUser3: [] m_VariantsUser4: [] m_VariantsUser5: [] m_VariantsBuiltin0: [] m_VariantsBuiltin1: [] m_VariantsBuiltin2: [] m_VariantsBuiltin3: [] m_VariantsBuiltin4: [] m_VariantsBuiltin5: [] m_Target: 0 m_TargetVariants0: [] m_TargetVariants1: [] m_TargetVariants2: - SHADOWS_SOFT - DIRLIGHTMAP_COMBINED - DIRLIGHTMAP_SEPARATE - DYNAMICLIGHTMAP_ON m_TargetVariants3: [] m_TargetVariants4: [] m_TargetVariants5: [] m_NonStrippedUserKeywords: m_BuiltinKeywords: m_MeshComponentsFromSnippets: 187 m_HasSurfaceShaders: 1 m_HasFixedFunctionShaders: 1 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: ef5b9f0785847b04983f907c7f016a36, type: 3} m_Name: GlowMud m_EditorClassIdentifier: m_MaterialProperties: {fileID: 11477068} m_MaterialOptions: {fileID: 11495838} m_PixelGraph: {fileID: 11443428} m_Shader: {fileID: 4869196} --- !u!114 &11400012 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f34a640000e664d4f8b2e0795df7fad9, type: 3} m_Name: V4Node m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Value m_Name: Value m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -576 y: 672 width: 178 height: 80 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Value m_Node: {fileID: 11400012} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_Value: {x: 7.3, y: 0, z: 0, w: 0} --- !u!114 &11400400 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 38072936174514040b3e08813a3ec4e7, type: 3} m_Name: PixelMaster m_EditorClassIdentifier: m_Slots: - type: 0 m_Title: Albedo m_Name: Albedo m_DataTypeString: - type: 0 m_Title: Normal m_Name: Normal m_DataTypeString: - type: 0 m_Title: Specular m_Name: Specular m_DataTypeString: - type: 0 m_Title: Emission m_Name: Emission m_DataTypeString: - type: 0 m_Title: Metallic m_Name: Metallic m_DataTypeString: - type: 0 m_Title: Smoothness m_Name: Smoothness m_DataTypeString: - type: 0 m_Title: Occlusion m_Name: Occlusion m_DataTypeString: - type: 0 m_Title: Alpha m_Name: Alpha m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 1056 y: -24 width: 310 height: 445 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Albedo m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Normal m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Specular m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Emission m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Metallic m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Smoothness m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Occlusion m_Node: {fileID: 11400400} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Alpha m_Node: {fileID: 11400400} m_PrecisionNames: - half m_LightFunctionClassName: UnityEditor.MaterialGraph.PBRMetalicLightFunction --- !u!114 &11406334 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: c740b99e5a743e84d8030d697cc6d0a1, type: 3} m_Name: SplatNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input m_Name: Input m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -516 y: 840 width: 213 height: 137 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11406334} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input m_Node: {fileID: 11406334} m_PrecisionNames: - half m_SwizzleChannel: 2 --- !u!114 &11411950 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 4b496ffd32c22d94bb525897d152da05, type: 3} m_Name: AbsoluteNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input m_Name: Input m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -264 y: 852 width: 74 height: 117 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11411950} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input m_Node: {fileID: 11411950} m_PrecisionNames: - half --- !u!114 &11414364 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1c05002dbfc8cd14cb3b544630cf1017, type: 3} m_Name: UV m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -792 y: -156 width: 74 height: 105 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11414364} m_PrecisionNames: - half --- !u!114 &11415902 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: a5622947be2d8cd48beb2362351ddf12, type: 3} m_Name: LerpNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input 1 m_Name: Input1 m_DataTypeString: - type: 0 m_Title: Input 2 m_Name: Input2 m_DataTypeString: - type: 0 m_Title: Input 3 m_Name: Input3 m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -144 y: 624 width: 74 height: 141 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11415902} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input1 m_Node: {fileID: 11415902} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input2 m_Node: {fileID: 11415902} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input3 m_Node: {fileID: 11415902} m_PrecisionNames: - half --- !u!114 &11417724 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b251c305a044f49438dff356f1e7bb84, type: 3} m_Name: SubtractNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input 1 m_Name: Input1 m_DataTypeString: - type: 0 m_Title: Input 2 m_Name: Input2 m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -312 y: 444 width: 74 height: 129 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11417724} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input1 m_Node: {fileID: 11417724} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input2 m_Node: {fileID: 11417724} m_PrecisionNames: - half --- !u!114 &11422894 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: c740b99e5a743e84d8030d697cc6d0a1, type: 3} m_Name: SplatNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input m_Name: Input m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 504 y: 192 width: 213 height: 137 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11422894} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input m_Node: {fileID: 11422894} m_PrecisionNames: - half m_SwizzleChannel: 3 --- !u!114 &11441414 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f34a640000e664d4f8b2e0795df7fad9, type: 3} m_Name: V4Node m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Value m_Name: Value m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -576 y: 540 width: 178 height: 80 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Value m_Node: {fileID: 11441414} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_Value: {x: 6.5, y: 0, z: 0, w: 0} --- !u!114 &11443428 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 226075d30f5b2694caa212aa3e968148, type: 3} m_Name: m_EditorClassIdentifier: nodes: - {fileID: 11400400} - {fileID: 11461240} - {fileID: 11470962} - {fileID: 11441414} - {fileID: 11497078} - {fileID: 11498308} - {fileID: 11406334} - {fileID: 11417724} - {fileID: 11400012} - {fileID: 11411950} - {fileID: 11415902} - {fileID: 11445996} - {fileID: 11445316} - {fileID: 11480530} - {fileID: 11472310} - {fileID: 11468266} - {fileID: 11414364} - {fileID: 11482232} - {fileID: 11451638} - {fileID: 11422894} - {fileID: 11459506} edges: - m_FromNode: {fileID: 11498308} m_ToNode: {fileID: 11406334} m_FromSlotName: SinTime m_ToSlotName: Input color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11461240} m_ToNode: {fileID: 11417724} m_FromSlotName: Output m_ToSlotName: Input2 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11406334} m_ToNode: {fileID: 11411950} m_FromSlotName: Output m_ToSlotName: Input color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11441414} m_ToNode: {fileID: 11415902} m_FromSlotName: Value m_ToSlotName: Input1 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11400012} m_ToNode: {fileID: 11415902} m_FromSlotName: Value m_ToSlotName: Input2 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11411950} m_ToNode: {fileID: 11415902} m_FromSlotName: Output m_ToSlotName: Input3 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11470962} m_ToNode: {fileID: 11445996} m_FromSlotName: Output m_ToSlotName: Input1 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11414364} m_ToNode: {fileID: 11468266} m_FromSlotName: UV m_ToSlotName: Input0 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11468266} m_ToNode: {fileID: 11472310} m_FromSlotName: Output m_ToSlotName: UV color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11468266} m_ToNode: {fileID: 11461240} m_FromSlotName: Output m_ToSlotName: UV color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11468266} m_ToNode: {fileID: 11480530} m_FromSlotName: Output m_ToSlotName: UV color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11415902} m_ToNode: {fileID: 11497078} m_FromSlotName: Output m_ToSlotName: Input color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11497078} m_ToNode: {fileID: 11470962} m_FromSlotName: Output m_ToSlotName: Input2 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11445316} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Albedo color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11472310} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Normal color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11482232} m_ToNode: {fileID: 11445996} m_FromSlotName: SinTime m_ToSlotName: Input0 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11451638} m_ToNode: {fileID: 11468266} m_FromSlotName: Value m_ToSlotName: Input1 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11480530} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Metallic color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11480530} m_ToNode: {fileID: 11422894} m_FromSlotName: Output m_ToSlotName: Input color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11422894} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Smoothness color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11468266} m_ToNode: {fileID: 11459506} m_FromSlotName: Output m_ToSlotName: UV color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11459506} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Occlusion color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11445996} m_ToNode: {fileID: 11400400} m_FromSlotName: Output m_ToSlotName: Emission color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11417724} m_ToNode: {fileID: 11470962} m_FromSlotName: Output m_ToSlotName: Input1 color: {r: 1, g: 1, b: 1, a: 1} - m_FromNode: {fileID: 11468266} m_ToNode: {fileID: 11445316} m_FromSlotName: Output m_ToSlotName: UV color: {r: 1, g: 1, b: 1, a: 1} m_InvalidEdges: [] --- !u!114 &11445316 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3} m_Name: Texture m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: -312 width: 213 height: 139 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11445316} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11445316} m_PrecisionNames: - half m_BoundProperty: {fileID: 11475776} m_DefaultTexture: {fileID: 2800000, guid: 28bdf1ba8c076ef4e910b59cc1baf342, type: 3} m_TextureType: 0 --- !u!114 &11445996 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 088fb5bde3ece0f4190136b3ab43f7c4, type: 3} m_Name: MultiplyNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input 0 m_Name: Input0 m_DataTypeString: - type: 0 m_Title: Input 1 m_Name: Input1 m_DataTypeString: - type: 0 m_Title: Input 2 m_Name: Input2 m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 420 y: 516 width: 74 height: 141 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11445996} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input0 m_Node: {fileID: 11445996} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input1 m_Node: {fileID: 11445996} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input2 m_Node: {fileID: 11445996} m_PrecisionNames: - half --- !u!114 &11451638 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f34a640000e664d4f8b2e0795df7fad9, type: 3} m_Name: V4Node m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Value m_Name: Value m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -900 y: -36 width: 178 height: 80 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Value m_Node: {fileID: 11451638} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_Value: {x: 2, y: 2, z: 2, w: 2} --- !u!114 &11459506 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3} m_Name: Texture m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: 132 width: 213 height: 139 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11459506} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11459506} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_DefaultTexture: {fileID: 2800000, guid: bf69485a601066743b2b9569dfaed908, type: 3} m_TextureType: 0 --- !u!114 &11461240 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3} m_Name: Texture m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -588 y: 360 width: 213 height: 139 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11461240} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11461240} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_DefaultTexture: {fileID: 2800000, guid: 6e8d12f68bae2294da814f9d4c81b29a, type: 3} m_TextureType: 0 --- !u!114 &11462926 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b793ff9211c8787428ec61378a5b39ac, type: 3} m_Name: TextureProperty m_EditorClassIdentifier: m_PropertyDescription: m_DefaultTexture: {fileID: 2800000, guid: 31f5a8611c4ed1245b18456206e798dc, type: 3} m_DefaultTextureType: 0 --- !u!114 &11468266 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 088fb5bde3ece0f4190136b3ab43f7c4, type: 3} m_Name: MultiplyNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input 0 m_Name: Input0 m_DataTypeString: - type: 0 m_Title: Input 1 m_Name: Input1 m_DataTypeString: - type: 0 m_Title: Input 2 m_Name: Input2 m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -660 y: -96 width: 74 height: 141 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11468266} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input0 m_Node: {fileID: 11468266} - m_DefaultVector: {x: 2, y: 2, z: 2, w: 2} m_Editable: 1 m_SlotName: Input1 m_Node: {fileID: 11468266} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input2 m_Node: {fileID: 11468266} m_PrecisionNames: - half --- !u!114 &11470962 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b2957c4e08e061444a7444a1a03fb584, type: 3} m_Name: PowerNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input 1 m_Name: Input1 m_DataTypeString: - type: 0 m_Title: Input 2 m_Name: Input2 m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: 552 width: 74 height: 129 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11470962} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input1 m_Node: {fileID: 11470962} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input2 m_Node: {fileID: 11470962} m_PrecisionNames: - half --- !u!114 &11472310 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3} m_Name: Texture m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: -156 width: 213 height: 139 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11472310} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11472310} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_DefaultTexture: {fileID: 2800000, guid: d5649239aacf54d4e8d6f656d15d30b0, type: 3} m_TextureType: 3 --- !u!114 &11475776 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: b793ff9211c8787428ec61378a5b39ac, type: 3} m_Name: TextureProperty m_EditorClassIdentifier: m_PropertyDescription: m_DefaultTexture: {fileID: 2800000, guid: 28bdf1ba8c076ef4e910b59cc1baf342, type: 3} m_DefaultTextureType: 0 --- !u!114 &11477068 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: cab057dbd683f5244aed9bd721e1973e, type: 3} m_Name: m_EditorClassIdentifier: m_ShaderProperties: - {fileID: 11475776} previewState: 0 --- !u!114 &11480530 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 5defdf1d05185a343bfebb2cdd827bd6, type: 3} m_Name: Texture m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: UV m_Name: UV m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: -12 width: 213 height: 139 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11480530} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: UV m_Node: {fileID: 11480530} m_PrecisionNames: - half m_BoundProperty: {fileID: 0} m_DefaultTexture: {fileID: 2800000, guid: 335a8d4389ccf5b4087de15f28df62e4, type: 3} m_TextureType: 0 --- !u!114 &11482232 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f80af444cd4235c419b356216d784b57, type: 3} m_Name: Sin Time m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Sin Time m_Name: SinTime m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: 240 y: 420 width: 74 height: 105 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: SinTime m_Node: {fileID: 11482232} m_PrecisionNames: - half --- !u!114 &11495838 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: edd99bcf0936ee84794c384dffae5501, type: 3} m_Name: m_EditorClassIdentifier: m_SrcBlend: 0 m_DstBlend: 1 m_CullMode: 0 m_ZTest: 2 m_ZWrite: 0 m_RenderQueue: 1 m_RenderType: 0 m_ShadowPass: 0 m_FullForwardShadows: 0 m_NoAmbient: 0 m_NoVertexLights: 0 m_NoLightmaps: 0 m_NoDirLightmap: 0 m_NoForwardAdd: 0 m_ApproxView: 0 m_HalfAsView: 0 --- !u!114 &11497078 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: c740b99e5a743e84d8030d697cc6d0a1, type: 3} m_Name: SplatNode m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Output m_Name: Output m_DataTypeString: - type: 0 m_Title: Input m_Name: Input m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -24 y: 636 width: 213 height: 137 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Output m_Node: {fileID: 11497078} - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: Input m_Node: {fileID: 11497078} m_PrecisionNames: - half m_SwizzleChannel: 0 --- !u!114 &11498308 MonoBehaviour: m_ObjectHideFlags: 1 m_PrefabParentObject: {fileID: 0} m_PrefabInternal: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f80af444cd4235c419b356216d784b57, type: 3} m_Name: Sin Time m_EditorClassIdentifier: m_Slots: - type: 1 m_Title: Sin Time m_Name: SinTime m_DataTypeString: m_Properties: [] m_GenericTypeString: color: 0 style: node position: serializedVersion: 2 x: -660 y: 864 width: 74 height: 105 showEmptySlots: 1 m_SlotDefaultValues: - m_DefaultVector: {x: 1, y: 1, z: 1, w: 1} m_Editable: 1 m_SlotName: SinTime m_Node: {fileID: 11498308} m_PrecisionNames: - half