mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
feat: 更新激光材质和着色器参数,优化激光效果
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5n8cv"]
|
||||
shader = ExtResource("2_h6cxi")
|
||||
shader_parameter/color = Color(0.654902, 1, 1, 1)
|
||||
shader_parameter/laser_width = 0.01
|
||||
shader_parameter/soft_edge = 0.5
|
||||
|
||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_y85id"]
|
||||
height = 300.0
|
||||
@@ -29,10 +32,9 @@ sprite_frames = SubResource("SpriteFrames_yip5k")
|
||||
material = SubResource("ShaderMaterial_5n8cv")
|
||||
offset_left = -10.0
|
||||
offset_top = -300.0
|
||||
offset_right = 19.0
|
||||
offset_right = 10.0
|
||||
|
||||
[node name="hitbox" parent="." index="1"]
|
||||
visible = false
|
||||
position = Vector2(150, 0)
|
||||
rotation = 1.5708
|
||||
shape = SubResource("CapsuleShape2D_y85id")
|
||||
|
||||
@@ -3,14 +3,10 @@ uniform vec4 color: source_color;
|
||||
uniform float laser_width: hint_range(0.01, 1.0) = 0;
|
||||
uniform float soft_edge: hint_range(0.0, 0.5) = 0.5;
|
||||
void fragment() {
|
||||
float textureWidth=float(textureSize(TEXTURE,0).x);
|
||||
float textureHeight=float(textureSize(TEXTURE,0).y);
|
||||
float radius=textureHeight/2.0;
|
||||
float radiusU=radius*TEXTURE_PIXEL_SIZE;
|
||||
float dist = distance(vec2(0.5,clamp(UV.y,radiusU,1.0-radiusU)),UV);
|
||||
float dist = abs(UV.x - 0.5);
|
||||
float core = 1.0 - smoothstep(0.0, laser_width, dist);
|
||||
float edge=1.0 - smoothstep(laser_width, laser_width + soft_edge, dist);
|
||||
float alpha = max(core, edge);
|
||||
float edge = 1.0 - smoothstep(laser_width, laser_width + soft_edge, dist);
|
||||
float alpha = max(core, edge);
|
||||
COLOR = color;
|
||||
COLOR.a = alpha;
|
||||
}
|
||||
Reference in New Issue
Block a user