Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Made with Amplify Shader Editor
- // Available at the Unity Asset Store - http://u3d.as/y3X
- Shader "Naelstrof/DecalProjector"
- {
- Properties
- {
- _Decal("Decal", 2D) = "white" {}
- _BaseColor("BaseColor", Color) = (1,1,1,1)
- }
- SubShader
- {
- Tags { "RenderType"="Opaque" }
- LOD 100
- CGINCLUDE
- #pragma target 3.0
- ENDCG
- Blend Off
- Cull Off
- ColorMask RGBA
- ZWrite On
- ZTest Always
- Offset 0 , 0
- Pass
- {
- Name "Unlit"
- Tags { "LightMode"="ForwardBase" }
- CGPROGRAM
- #define ASE_ABSOLUTE_VERTEX_POS 1
- #ifndef UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX
- //only defining to not throw compilation error over Unity 5.5
- #define UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input)
- #endif
- #pragma vertex vert
- #pragma fragment frag
- #pragma multi_compile_instancing
- #include "UnityCG.cginc"
- #define ASE_NEEDS_VERT_POSITION
- struct appdata
- {
- float4 vertex : POSITION;
- float4 color : COLOR;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- float4 ase_texcoord1 : TEXCOORD1;
- };
- struct v2f
- {
- float4 vertex : SV_POSITION;
- #ifdef ASE_NEEDS_FRAG_WORLD_POSITION
- float3 worldPos : TEXCOORD0;
- #endif
- UNITY_VERTEX_INPUT_INSTANCE_ID
- UNITY_VERTEX_OUTPUT_STEREO
- float4 ase_texcoord1 : TEXCOORD1;
- };
- uniform float4 _BaseColor;
- uniform sampler2D _Decal;
- v2f vert ( appdata v )
- {
- v2f o;
- UNITY_SETUP_INSTANCE_ID(v);
- UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
- UNITY_TRANSFER_INSTANCE_ID(v, o);
- float2 uv17 = v.ase_texcoord1.xy * float2( 1,1 ) + float2( 0,0 );
- float4 appendResult8 = (float4(uv17 , 0.0 , 1.0));
- float4 unityObjectToClipPos38 = UnityObjectToClipPos( v.vertex.xyz );
- float4 vertexToFrag32 = ( unityObjectToClipPos38 + float4( 0.5,0.5,0,0 ) );
- o.ase_texcoord1 = vertexToFrag32;
- float3 vertexValue = float3(0, 0, 0);
- #if ASE_ABSOLUTE_VERTEX_POS
- vertexValue = v.vertex.xyz;
- #endif
- vertexValue = ( ( appendResult8 * float4( 2,-2,0,0 ) ) + float4( -1,1,0,0 ) ).xyz;
- o.vertex = float4(vertexValue.xyz,1);
- #ifdef ASE_NEEDS_FRAG_WORLD_POSITION
- o.worldPos = mul(unity_ObjectToWorld, v.vertex).xyz;
- #endif
- return o;
- }
- fixed4 frag (v2f i ) : SV_Target
- {
- UNITY_SETUP_INSTANCE_ID(i);
- UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
- fixed4 finalColor;
- #ifdef ASE_NEEDS_FRAG_WORLD_POSITION
- float3 WorldPosition = i.worldPos;
- #endif
- float4 vertexToFrag32 = i.ase_texcoord1;
- float4 temp_output_40_0 = ( _BaseColor * tex2D( _Decal, vertexToFrag32.xy ) );
- finalColor = temp_output_40_0;
- return finalColor;
- }
- ENDCG
- }
- }
- CustomEditor "ASEMaterialInspector"
- }
- /*ASEBEGIN
- Version=18000
- 36;207;1238;738;641.9648;426.9618;1.646955;True;False
- Node;AmplifyShaderEditor.PosVertexDataNode;37;-1503.841,-313.4268;Inherit;False;1;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.UnityObjToClipPosHlpNode;38;-1233.169,-320.4389;Inherit;False;1;0;FLOAT3;0,0,0;False;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.SimpleAddOpNode;34;-996.2613,-150.4235;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0.5,0.5,0,0;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.TextureCoordinatesNode;7;-1346.113,236.3378;Inherit;False;1;-1;2;3;2;SAMPLER2D;;False;0;FLOAT2;1,1;False;1;FLOAT2;0,0;False;5;FLOAT2;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.VertexToFragmentNode;32;-756.8855,-314.0611;Inherit;False;1;0;FLOAT4;0,0,0,0;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.DynamicAppendNode;8;-850.5953,285.5374;Inherit;False;FLOAT4;4;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;1;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.SamplerNode;18;-415.8339,-420.1366;Inherit;True;Property;_Decal;Decal;0;0;Create;True;0;0;False;0;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.ColorNode;39;-190.8542,-673.1726;Inherit;False;Property;_BaseColor;BaseColor;1;0;Create;True;0;0;False;0;1,1,1,1;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
- Node;AmplifyShaderEditor.SimpleMultiplyOpNode;9;-527.2792,314.288;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;2,-2,0,0;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.SimpleMultiplyOpNode;40;34.17314,-390.6841;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0
- Node;AmplifyShaderEditor.BreakToComponentsNode;41;91.67751,-145.7817;Inherit;False;COLOR;1;0;COLOR;0,0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15
- Node;AmplifyShaderEditor.SimpleAddOpNode;10;-303.0933,290.0089;Inherit;False;2;2;0;FLOAT4;0,0,0,0;False;1;FLOAT4;-1,1,0,0;False;1;FLOAT4;0
- Node;AmplifyShaderEditor.TemplateMultiPassMasterNode;42;644.8629,-53.67207;Float;False;True;-1;2;ASEMaterialInspector;100;21;Naelstrof/DecalProjector;928f6a5fbd2e6444ea9bb91fa46f1aa9;True;Unlit;0;0;Unlit;2;True;0;1;False;-1;0;False;-1;0;1;False;-1;0;False;-1;True;0;False;-1;0;False;-1;True;False;True;2;False;-1;True;True;True;True;True;0;False;-1;True;False;255;False;-1;255;False;-1;255;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;7;False;-1;1;False;-1;1;False;-1;1;False;-1;True;1;False;-1;True;7;False;-1;True;True;0;False;-1;0;False;-1;True;1;RenderType=Opaque=RenderType;True;2;0;False;False;False;False;False;False;False;False;False;True;1;LightMode=ForwardBase;False;0;;0;0;Standard;1;Vertex Position,InvertActionOnDeselection;0;0;1;True;False;;0
- WireConnection;38;0;37;0
- WireConnection;34;0;38;0
- WireConnection;32;0;34;0
- WireConnection;8;0;7;0
- WireConnection;18;1;32;0
- WireConnection;9;0;8;0
- WireConnection;40;0;39;0
- WireConnection;40;1;18;0
- WireConnection;41;0;40;0
- WireConnection;10;0;9;0
- WireConnection;42;0;40;0
- WireConnection;42;1;10;0
- ASEEND*/
- //CHKSM=9E4330EB1CD66C6EBFA9923517F2ED354A50A59E
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement