修复技能输入并更新战斗资源
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
Shader "GYGame/CCS/AddTexture"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
[MainTexture] _MainTex ("主贴图", 2D) = "white" {}
|
||||
[HideInInspector] _AdditionalTex ("附加贴图", 2D) = "black" {}
|
||||
[HideInInspector] _Rotation ("旋转", Float) = 0
|
||||
[HideInInspector] _Color ("颜色", Color) = (1,1,1,1)
|
||||
[HideInInspector] _MaskTex ("遮罩", 2D) = "white" {}
|
||||
[HideInInspector] _IsNormalTex ("是否为法线贴图", Float) = 0
|
||||
}
|
||||
|
||||
SubShader
|
||||
{
|
||||
Tags {
|
||||
"RenderType"="Opaque"
|
||||
"RenderPipeline"="UniversalPipeline"
|
||||
}
|
||||
LOD 100
|
||||
|
||||
Pass // index 0
|
||||
{
|
||||
HLSLPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
|
||||
|
||||
TEXTURE2D(_MainTex); SAMPLER(sampler_MainTex);
|
||||
TEXTURE2D(_AdditionalTex); SAMPLER(sampler_linear_clamp_AdditionalTex);
|
||||
TEXTURE2D(_MaskTex); SAMPLER(sampler_linear_clamp_MaskTex);
|
||||
|
||||
CBUFFER_START(UnityPerMaterial)
|
||||
float4 _AdditionalTex_ST;
|
||||
float4 _MaskTex_ST;
|
||||
float _Rotation;
|
||||
half4 _Color;
|
||||
float _IsNormalTex;
|
||||
CBUFFER_END
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float2 uv : TEXCOORD0;
|
||||
float4 vertex : SV_POSITION;
|
||||
};
|
||||
|
||||
float2 Rotate2D(float2 UV, float Rotation = 0, float2 Center = float2(0.5, 0.5))
|
||||
{
|
||||
Rotation = Rotation/360*2*PI;
|
||||
UV -= Center;
|
||||
float s = sin(Rotation);
|
||||
float c = cos(Rotation);
|
||||
float2x2 rMatrix = float2x2(c, -s, s, c);
|
||||
rMatrix *= 0.5;
|
||||
rMatrix += 0.5;
|
||||
rMatrix = rMatrix * 2 - 1;
|
||||
UV.xy = mul(UV.xy, rMatrix);
|
||||
UV += Center;
|
||||
return UV;
|
||||
}
|
||||
|
||||
v2f vert(appdata v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = TransformObjectToHClip(v.vertex.xyz);
|
||||
o.uv = v.uv;
|
||||
return o;
|
||||
}
|
||||
|
||||
half4 frag(v2f i) : SV_Target
|
||||
{
|
||||
//
|
||||
float2 uv = Rotate2D((i.uv-_AdditionalTex_ST.zw-0.5)*(1/_AdditionalTex_ST.xy)+0.5, _Rotation);
|
||||
float4 additionalColor = SAMPLE_TEXTURE2D(_AdditionalTex, sampler_linear_clamp_AdditionalTex, uv);
|
||||
float4 maskColor = SAMPLE_TEXTURE2D(_MaskTex, sampler_linear_clamp_MaskTex, uv);
|
||||
//
|
||||
additionalColor *= _Color;
|
||||
additionalColor.a *= maskColor.r;
|
||||
//
|
||||
float4 mainColor = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);
|
||||
float4 finalColor = float4(0, 0, 0, 0);
|
||||
finalColor.rgb = lerp(mainColor.rgb, additionalColor.rgb, additionalColor.a);
|
||||
finalColor.a = 1;
|
||||
return finalColor;
|
||||
}
|
||||
ENDHLSL
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user