第一次提交
This commit is contained in:
254
Assets/Shader/RoleShader2.0.shader
Normal file
254
Assets/Shader/RoleShader2.0.shader
Normal file
@@ -0,0 +1,254 @@
|
||||
// Made with Amplify Shader Editor
|
||||
// Available at the Unity Asset Store - http://u3d.as/y3X
|
||||
Shader "RoleShader"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_MainTex("MainTex", 2D) = "white" {}
|
||||
_emissionpow("emissionpow", Range( 0 , 1)) = 0.5
|
||||
_RoleNormal("Role Normal", 2D) = "white" {}
|
||||
_RoleSpecular("Role Specular", 2D) = "gray" {}
|
||||
_SpecularPow("SpecularPow", Range( 0 , 1)) = 0
|
||||
_SpecularColor("SpecularColor", Color) = (0,0,0,0)
|
||||
_OutLineColor("OutLineColor", Color) = (0,0,0,0)
|
||||
_OutLineWidth("OutLineWidth", Float) = 0.01
|
||||
_AddColor("AddColor", Color) = (1,1,1,1)
|
||||
_StreamLight("StreamLight", 2D) = "black" {}
|
||||
_StreamLightSpeed("StreamLightSpeed", Vector) = (0,0,0,0)
|
||||
_StreamLightColor("StreamLightColor", Color) = (0,0,0,0)
|
||||
_StreamLightPow("StreamLightPow", Range( 0 , 2)) = 0
|
||||
[HideInInspector] _texcoord( "", 2D ) = "white" {}
|
||||
[HideInInspector] __dirty( "", Int ) = 1
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Pass
|
||||
{
|
||||
ColorMask 0
|
||||
ZWrite On
|
||||
}
|
||||
|
||||
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0"}
|
||||
ZWrite Off
|
||||
Cull Off
|
||||
CGPROGRAM
|
||||
#pragma target 3.0
|
||||
#pragma surface outlineSurf Outline nofog alpha:fade keepalpha noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nometa noforwardadd vertex:outlineVertexDataFunc
|
||||
void outlineVertexDataFunc( inout appdata_full v, out Input o )
|
||||
{
|
||||
UNITY_INITIALIZE_OUTPUT( Input, o );
|
||||
float outlineVar = _OutLineWidth;
|
||||
v.vertex.xyz += ( v.normal * outlineVar );
|
||||
}
|
||||
inline half4 LightingOutline( SurfaceOutput s, half3 lightDir, half atten ) { return half4 ( 0,0,0, s.Alpha); }
|
||||
void outlineSurf( Input i, inout SurfaceOutput o )
|
||||
{
|
||||
o.Emission = _OutLineColor.rgb;
|
||||
o.Alpha = _AddColor.a;
|
||||
}
|
||||
ENDCG
|
||||
|
||||
|
||||
Tags{ "RenderType" = "Transparent" "Queue" = "Transparent+0" "IgnoreProjector" = "True" "IsEmissive" = "true" }
|
||||
Cull Off
|
||||
ZWrite Off
|
||||
CGINCLUDE
|
||||
#include "UnityShaderVariables.cginc"
|
||||
#include "UnityPBSLighting.cginc"
|
||||
#include "Lighting.cginc"
|
||||
#pragma target 3.0
|
||||
struct Input
|
||||
{
|
||||
float2 uv_texcoord;
|
||||
};
|
||||
|
||||
uniform sampler2D _RoleNormal;
|
||||
uniform float4 _RoleNormal_ST;
|
||||
uniform sampler2D _MainTex;
|
||||
uniform float4 _MainTex_ST;
|
||||
uniform sampler2D _RoleSpecular;
|
||||
uniform float4 _RoleSpecular_ST;
|
||||
uniform float _SpecularPow;
|
||||
uniform float4 _SpecularColor;
|
||||
uniform sampler2D _StreamLight;
|
||||
uniform float2 _StreamLightSpeed;
|
||||
uniform float4 _StreamLightColor;
|
||||
uniform float _StreamLightPow;
|
||||
uniform float _emissionpow;
|
||||
uniform float4 _AddColor;
|
||||
uniform float _OutLineWidth;
|
||||
uniform float4 _OutLineColor;
|
||||
|
||||
void vertexDataFunc( inout appdata_full v, out Input o )
|
||||
{
|
||||
UNITY_INITIALIZE_OUTPUT( Input, o );
|
||||
v.vertex.xyz += 0;
|
||||
}
|
||||
|
||||
void surf( Input i , inout SurfaceOutputStandard o )
|
||||
{
|
||||
float2 uv_RoleNormal = i.uv_texcoord * _RoleNormal_ST.xy + _RoleNormal_ST.zw;
|
||||
o.Normal = tex2D( _RoleNormal, uv_RoleNormal ).rgb;
|
||||
float2 uv_MainTex = i.uv_texcoord * _MainTex_ST.xy + _MainTex_ST.zw;
|
||||
float4 tex2DNode5 = tex2D( _MainTex, uv_MainTex );
|
||||
float2 uv_RoleSpecular = i.uv_texcoord * _RoleSpecular_ST.xy + _RoleSpecular_ST.zw;
|
||||
float2 panner63 = ( 1.0 * _Time.y * _StreamLightSpeed + i.uv_texcoord);
|
||||
o.Albedo = ( ( tex2DNode5 + ( tex2D( _RoleSpecular, uv_RoleSpecular ) * _SpecularPow * _SpecularColor ) + ( tex2D( _StreamLight, panner63 ) * _StreamLightColor * _StreamLightPow ) ) * _emissionpow * _AddColor ).rgb;
|
||||
o.Emission = tex2DNode5.rgb;
|
||||
float temp_output_30_4 = _AddColor.a;
|
||||
o.Alpha = temp_output_30_4;
|
||||
}
|
||||
|
||||
ENDCG
|
||||
CGPROGRAM
|
||||
#pragma surface surf Standard alpha:fade keepalpha fullforwardshadows exclude_path:deferred vertex:vertexDataFunc
|
||||
|
||||
ENDCG
|
||||
Pass
|
||||
{
|
||||
Name "ShadowCaster"
|
||||
Tags{ "LightMode" = "ShadowCaster" }
|
||||
ZWrite On
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#pragma target 3.0
|
||||
#pragma multi_compile_shadowcaster
|
||||
#pragma multi_compile UNITY_PASS_SHADOWCASTER
|
||||
#pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2
|
||||
#include "HLSLSupport.cginc"
|
||||
#if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN )
|
||||
#define CAN_SKIP_VPOS
|
||||
#endif
|
||||
#include "UnityCG.cginc"
|
||||
#include "Lighting.cginc"
|
||||
#include "UnityPBSLighting.cginc"
|
||||
sampler3D _DitherMaskLOD;
|
||||
struct v2f
|
||||
{
|
||||
V2F_SHADOW_CASTER;
|
||||
float2 customPack1 : TEXCOORD1;
|
||||
float3 worldPos : TEXCOORD2;
|
||||
float4 tSpace0 : TEXCOORD3;
|
||||
float4 tSpace1 : TEXCOORD4;
|
||||
float4 tSpace2 : TEXCOORD5;
|
||||
UNITY_VERTEX_INPUT_INSTANCE_ID
|
||||
UNITY_VERTEX_OUTPUT_STEREO
|
||||
};
|
||||
v2f vert( appdata_full v )
|
||||
{
|
||||
v2f o;
|
||||
UNITY_SETUP_INSTANCE_ID( v );
|
||||
UNITY_INITIALIZE_OUTPUT( v2f, o );
|
||||
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o );
|
||||
UNITY_TRANSFER_INSTANCE_ID( v, o );
|
||||
Input customInputData;
|
||||
vertexDataFunc( v, customInputData );
|
||||
float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz;
|
||||
half3 worldNormal = UnityObjectToWorldNormal( v.normal );
|
||||
half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz );
|
||||
half tangentSign = v.tangent.w * unity_WorldTransformParams.w;
|
||||
half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign;
|
||||
o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x );
|
||||
o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y );
|
||||
o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z );
|
||||
o.customPack1.xy = customInputData.uv_texcoord;
|
||||
o.customPack1.xy = v.texcoord;
|
||||
o.worldPos = worldPos;
|
||||
TRANSFER_SHADOW_CASTER_NORMALOFFSET( o )
|
||||
return o;
|
||||
}
|
||||
half4 frag( v2f IN
|
||||
#if !defined( CAN_SKIP_VPOS )
|
||||
, UNITY_VPOS_TYPE vpos : VPOS
|
||||
#endif
|
||||
) : SV_Target
|
||||
{
|
||||
UNITY_SETUP_INSTANCE_ID( IN );
|
||||
Input surfIN;
|
||||
UNITY_INITIALIZE_OUTPUT( Input, surfIN );
|
||||
surfIN.uv_texcoord = IN.customPack1.xy;
|
||||
float3 worldPos = IN.worldPos;
|
||||
half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) );
|
||||
SurfaceOutputStandard o;
|
||||
UNITY_INITIALIZE_OUTPUT( SurfaceOutputStandard, o )
|
||||
surf( surfIN, o );
|
||||
#if defined( CAN_SKIP_VPOS )
|
||||
float2 vpos = IN.pos;
|
||||
#endif
|
||||
half alphaRef = tex3D( _DitherMaskLOD, float3( vpos.xy * 0.25, o.Alpha * 0.9375 ) ).a;
|
||||
clip( alphaRef - 0.01 );
|
||||
SHADOW_CASTER_FRAGMENT( IN )
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
Fallback "Legacy Shaders/VertexLit"
|
||||
CustomEditor "ASEMaterialInspector"
|
||||
}
|
||||
/*ASEBEGIN
|
||||
Version=18100
|
||||
157;254;1523;799;1387.104;409.3946;1.331298;True;True
|
||||
Node;AmplifyShaderEditor.CommentaryNode;36;-1905.311,-304.1568;Inherit;False;904.4383;495.3427;流光;7;63;67;72;62;70;71;73;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.Vector2Node;71;-1884.227,-7.759783;Inherit;False;Property;_StreamLightSpeed;StreamLightSpeed;11;0;Create;True;0;0;False;0;False;0,0;-0.08,0.08;0;3;FLOAT2;0;FLOAT;1;FLOAT;2
|
||||
Node;AmplifyShaderEditor.TextureCoordinatesNode;70;-1896.697,-138.6991;Inherit;False;0;-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.CommentaryNode;32;-1907.61,-866.2379;Inherit;False;900.9741;531.746;高光;4;9;6;8;28;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.PannerNode;63;-1642.506,-79.35115;Inherit;False;3;0;FLOAT2;0,0;False;2;FLOAT2;0,0;False;1;FLOAT;1;False;1;FLOAT2;0
|
||||
Node;AmplifyShaderEditor.SamplerNode;62;-1456.992,-255.0508;Inherit;True;Property;_StreamLight;StreamLight;10;0;Create;True;0;0;False;0;False;-1;None;48c773fe278eb8c448db76ab8a829fc9;True;0;False;black;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.SamplerNode;6;-1800.515,-817.6223;Inherit;True;Property;_RoleSpecular;Role Specular;4;0;Create;True;0;0;False;0;False;-1;None;None;True;0;False;gray;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;28;-1761.836,-528.549;Inherit;False;Property;_SpecularColor;SpecularColor;6;0;Create;True;0;0;False;0;False;0,0,0,0;1,1,1,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;8;-1786.313,-620.6932;Inherit;False;Property;_SpecularPow;SpecularPow;5;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.ColorNode;67;-1406.494,-63.585;Inherit;False;Property;_StreamLightColor;StreamLightColor;12;0;Create;True;0;0;False;0;False;0,0,0,0;1,0.8666667,0.4745098,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;73;-1408.385,110.9325;Inherit;False;Property;_StreamLightPow;StreamLightPow;13;0;Create;True;0;0;False;0;False;0;0.03;0;2;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;9;-1385.752,-681.4929;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.CommentaryNode;35;-1184.254,197.5025;Inherit;False;728;288;勾边;3;2;4;3;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.CommentaryNode;33;-846.737,-165.0187;Inherit;False;383.1877;306.5938;自发光与加色;2;19;30;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.SimpleMultiplyOpNode;72;-1145.978,-102.5352;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.SamplerNode;5;-1237.646,-1082.741;Inherit;True;Property;_MainTex;MainTex;0;0;Create;True;0;0;False;0;False;-1;None;052caf368f9808841b55a29093faa488;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.SimpleAddOpNode;7;-531.2498,-615.4205;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;19;-746.0376,-121.2981;Inherit;False;Property;_emissionpow;emissionpow;1;0;Create;True;0;0;False;0;False;0.5;0.8;0;1;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;4;-939.2929,317.2177;Inherit;False;Property;_OutLineWidth;OutLineWidth;8;0;Create;True;0;0;False;0;False;0.01;0.0007;0;0;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.ColorNode;3;-1154.782,240.1951;Inherit;False;Property;_OutLineColor;OutLineColor;7;0;Create;True;0;0;False;0;False;0,0,0,0;0,0,0,0;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.ColorNode;30;-679.365,-42.28132;Inherit;False;Property;_AddColor;AddColor;9;0;Create;True;0;0;False;0;False;1,1,1,1;1,1,1,1;True;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.CommentaryNode;34;-1646.018,-1397.328;Inherit;False;662.6036;255.2031;法线;2;1;25;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.CommentaryNode;74;-1186.816,499.111;Inherit;False;848.1315;394.2339;溶解;5;76;83;84;85;86;;1,1,1,1;0;0
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;25;-1623.876,-1305.833;Inherit;False;Property;_NormalScale;NormalScale;3;0;Create;True;0;0;False;0;False;1;4;0.2;10;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.OutlineNode;2;-685.7327,240.9267;Inherit;False;0;True;Transparent;2;0;Off;3;0;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT3;0
|
||||
Node;AmplifyShaderEditor.TFHCRemapNode;85;-657.8074,560.4135;Inherit;False;5;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;3;FLOAT;-0.6;False;4;FLOAT;0.6;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.RangedFloatNode;83;-1165.319,575.7081;Float;False;Property;_DissolveAmount;Dissolve Amount;15;0;Create;True;0;0;False;0;False;0;0;0;1;0;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.OneMinusNode;84;-831.8074,605.4135;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.SamplerNode;76;-1003.974,689.699;Inherit;True;Property;_NoiceTex;NoiceTex;14;0;Create;True;0;0;False;0;False;-1;None;None;True;0;False;black;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.SimpleMultiplyOpNode;20;-329.4018,-206.5606;Inherit;False;3;3;0;COLOR;0,0,0,0;False;1;FLOAT;0;False;2;COLOR;0,0,0,0;False;1;COLOR;0
|
||||
Node;AmplifyShaderEditor.SamplerNode;1;-1303.415,-1347.328;Inherit;True;Property;_RoleNormal;Role Normal;2;0;Create;True;0;0;False;0;False;-1;None;26c8b246f927b294cb69077f35805c2e;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;2.5;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4
|
||||
Node;AmplifyShaderEditor.SimpleAddOpNode;86;-449.8074,598.4135;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0
|
||||
Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;164.3496,-241.6626;Float;False;True;-1;2;ASEMaterialInspector;0;0;Standard;RoleShader;False;False;False;False;False;False;False;False;False;False;False;False;False;False;True;False;False;False;False;False;False;Off;2;False;-1;0;False;-1;False;0;False;-1;0;False;-1;True;0;Transparent;0;True;True;0;False;Transparent;;Transparent;ForwardOnly;14;all;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;2;15;10;25;False;0.5;True;2;5;False;-1;10;False;-1;0;5;False;-1;10;False;-1;0;False;-1;0;False;-1;0;False;1;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;Legacy Shaders/VertexLit;-1;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;0;0;0;False;0.1;False;-1;0;False;-1;16;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0
|
||||
WireConnection;63;0;70;0
|
||||
WireConnection;63;2;71;0
|
||||
WireConnection;62;1;63;0
|
||||
WireConnection;9;0;6;0
|
||||
WireConnection;9;1;8;0
|
||||
WireConnection;9;2;28;0
|
||||
WireConnection;72;0;62;0
|
||||
WireConnection;72;1;67;0
|
||||
WireConnection;72;2;73;0
|
||||
WireConnection;7;0;5;0
|
||||
WireConnection;7;1;9;0
|
||||
WireConnection;7;2;72;0
|
||||
WireConnection;2;0;3;0
|
||||
WireConnection;2;2;30;4
|
||||
WireConnection;2;1;4;0
|
||||
WireConnection;85;0;84;0
|
||||
WireConnection;84;0;83;0
|
||||
WireConnection;20;0;7;0
|
||||
WireConnection;20;1;19;0
|
||||
WireConnection;20;2;30;0
|
||||
WireConnection;86;0;85;0
|
||||
WireConnection;86;1;76;1
|
||||
WireConnection;0;0;20;0
|
||||
WireConnection;0;1;1;0
|
||||
WireConnection;0;2;5;0
|
||||
WireConnection;0;9;30;4
|
||||
WireConnection;0;11;2;0
|
||||
ASEEND*/
|
||||
//CHKSM=F750E4B6C9E3C6A5CC3A59C7BCDA9E75D8ADA877
|
||||
9
Assets/Shader/RoleShader2.0.shader.meta
Normal file
9
Assets/Shader/RoleShader2.0.shader.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 70ad27b448d37264c8ee7181b3627025
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
48
Assets/Shader/UnlitTransparent.shader
Normal file
48
Assets/Shader/UnlitTransparent.shader
Normal file
@@ -0,0 +1,48 @@
|
||||
Shader "OurCustomShaders/UnlitTransparent" {
|
||||
Properties{
|
||||
_MainTex("Base (RGB)", 2D) = "white" {}
|
||||
_Color("Color",Color) = (1,1,1,1)
|
||||
}
|
||||
SubShader{
|
||||
Tags { "RenderType" = "Queue" "Queue" = "Transparent"} // "Queue"="Transparent"将其设置为透明,不然无法看见后面的东西(即使透明)
|
||||
Blend SrcAlpha OneMinusSrcAlpha //实现Alpha的核心,使用语句进行Alpha混合
|
||||
Pass {
|
||||
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
sampler _MainTex;
|
||||
//float4 _MainTex_ST; 使用TRANSFORM_TEX必备
|
||||
float4 _Color;
|
||||
|
||||
struct v2f {
|
||||
float4 pos : POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
float3 color : TEXCOORD1;
|
||||
};
|
||||
|
||||
v2f vert(appdata_base v) {
|
||||
v2f o;
|
||||
o.pos = UnityObjectToClipPos(v.vertex);
|
||||
//TRANSFORM_TEX是在_MainTex_ST中的宏
|
||||
//原始方法o.uv = TRANSFORM_TEX(v.texcoord, _MainTex);
|
||||
//将uv贴图的坐标取出来
|
||||
o.uv = v.texcoord;
|
||||
//o.color = ShadeVertexLights(v.vertex, v.normal);取得法线贴图的光照
|
||||
return o;
|
||||
}
|
||||
|
||||
float4 frag(v2f i) : COLOR {
|
||||
half4 c = tex2D(_MainTex, i.uv);
|
||||
//在这个位置接收i.color的话可以接收光照
|
||||
c.rgb = c.rgb * _Color;
|
||||
return c * _Color;
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
FallBack "Diffuse"
|
||||
}
|
||||
9
Assets/Shader/UnlitTransparent.shader.meta
Normal file
9
Assets/Shader/UnlitTransparent.shader.meta
Normal file
@@ -0,0 +1,9 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c55ff4ce5015eee459a4bb25f96e1809
|
||||
ShaderImporter:
|
||||
externalObjects: {}
|
||||
defaultTextures: []
|
||||
nonModifiableTextures: []
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user