根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
``` docs(readme): 更新文档说明 - 添加项目使用指南 - 完善API接口说明 - 修正错误的配置示例 ``` 注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
This commit is contained in:
1 parent
8d58c2223c
commit
11f1af357d
191 files changed
+2315
-1539
No files matched your search
@@ -0,0 +1,80 @@
|
||||
// 地面裂纹 Shader
|
||||
// 挂在平躺的 Quad 上:裂纹贴图 + 径向扩散 + 颜色染色 + 整体淡出
|
||||
Shader "Custom/GroundCrack"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
_CrackTex ("裂纹贴图 (A=裂纹)", 2D) = "white" {}
|
||||
_CrackColor ("裂纹颜色", Color) = (0, 0, 0, 1) // 默认黑色
|
||||
_GlowColor ("裂纹发光色 (A=强度)", Color) = (1, 0.3, 0, 0) // 默认不发光
|
||||
_Progress ("扩散进度 (0~1)", Range(0, 1)) = 0
|
||||
_Opacity ("整体透明度 (0~1)", Range(0, 1)) = 1
|
||||
_RevealSoft ("扩散边缘柔化", Range(0.01, 0.3)) = 0.1
|
||||
}
|
||||
SubShader
|
||||
{
|
||||
Tags { "RenderType"="Transparent" "Queue"="Transparent+1" "IgnoreProjector"="True" }
|
||||
LOD 100
|
||||
ZWrite Off
|
||||
Cull Off
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
Pass
|
||||
{
|
||||
CGPROGRAM
|
||||
#pragma vertex vert
|
||||
#pragma fragment frag
|
||||
#include "UnityCG.cginc"
|
||||
|
||||
struct appdata
|
||||
{
|
||||
float4 vertex : POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
struct v2f
|
||||
{
|
||||
float4 vertex : SV_POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
sampler2D _CrackTex;
|
||||
float4 _CrackTex_ST;
|
||||
float4 _CrackColor;
|
||||
float4 _GlowColor;
|
||||
float _Progress;
|
||||
float _Opacity;
|
||||
float _RevealSoft;
|
||||
|
||||
v2f vert (appdata v)
|
||||
{
|
||||
v2f o;
|
||||
o.vertex = UnityObjectToClipPos(v.vertex);
|
||||
o.uv = TRANSFORM_TEX(v.uv, _CrackTex);
|
||||
return o;
|
||||
}
|
||||
|
||||
fixed4 frag (v2f i) : SV_Target
|
||||
{
|
||||
// 以 UV 中心为圆心,归一化距离(中心0,边缘约1)
|
||||
float2 p = i.uv - 0.5;
|
||||
float dist = length(p) * 2.0;
|
||||
|
||||
// 径向扩散:进度越大,可见范围越远
|
||||
float reveal = 1.0 - smoothstep(_Progress - _RevealSoft, _Progress, dist);
|
||||
|
||||
// 裂纹形状(取贴图 Alpha)
|
||||
float crack = tex2D(_CrackTex, i.uv).a;
|
||||
|
||||
float alpha = crack * reveal * _Opacity * _CrackColor.a;
|
||||
float3 col = _CrackColor.rgb;
|
||||
|
||||
// 发光叠加(熔岩红/暗影紫等,A=0时不发光)
|
||||
col += _GlowColor.rgb * _GlowColor.a * crack * reveal;
|
||||
|
||||
return float4(col, alpha);
|
||||
}
|
||||
ENDCG
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user