Fixed wall shader

This commit is contained in:
2026-06-12 02:02:28 +03:00
parent e72e17f7ca
commit cbfbd9f4d8
11 changed files with 52 additions and 30 deletions
+1
View File
@@ -42,6 +42,7 @@ object = NodePath("..")
[node name="Camera2D" type="Camera2D" parent="." unique_id=45512317]
process_callback = 0
position_smoothing_enabled = true
position_smoothing_speed = 25.0
drag_horizontal_enabled = true
drag_vertical_enabled = true
drag_left_margin = 0.1
+4 -3
View File
@@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://dggr8t4b30e3n"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://dggr8t4b30e3n"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_61jua"]
@@ -9,6 +9,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = true
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/speed = 1.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
shader_parameter/scale = 50.0
shader_parameter/use_world_pos = false
+4 -3
View File
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 0.50000002375
shader_parameter/intensity = 0.50000002375
shader_parameter/scale = 20.0
shader_parameter/speed = 1.0
shader_parameter/intensity = 0.5
shader_parameter/scale = 50.0
shader_parameter/use_world_pos = false
+4 -3
View File
@@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://ci7xuso12af5"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://ci7xuso12af5"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_xngo8"]
@@ -9,6 +9,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/speed = 1.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
shader_parameter/scale = 50.0
shader_parameter/use_world_pos = false
+3 -2
View File
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 1.0000000475
shader_parameter/speed = 1.0
shader_parameter/intensity = 1.0
shader_parameter/scale = 5.0000002375
shader_parameter/scale = 5.0
shader_parameter/use_world_pos = false
+4 -3
View File
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 1.0000000475
shader_parameter/intensity = 0.50000002375
shader_parameter/scale = 5.0000002375
shader_parameter/speed = 1.0
shader_parameter/intensity = 0.5
shader_parameter/scale = 5.0
shader_parameter/use_world_pos = false
+4 -3
View File
@@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://bhksbugqhxxa0"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://bhksbugqhxxa0"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_sq141"]
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = true
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/speed = 0.5
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
shader_parameter/scale = 0.1
shader_parameter/use_world_pos = true
+4 -3
View File
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 0.50000002375
shader_parameter/intensity = 0.50000002375
shader_parameter/scale = 20.0
shader_parameter/speed = 0.5
shader_parameter/intensity = 0.5
shader_parameter/scale = 0.1
shader_parameter/use_world_pos = true
+4 -3
View File
@@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://d2o2o1w8kb51g"]
[gd_resource type="ShaderMaterial" format=3 uid="uid://d2o2o1w8kb51g"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="1_1yg6n"]
@@ -8,6 +8,7 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0
shader_parameter/speed = 0.5
shader_parameter/intensity = 1.0
shader_parameter/scale = 20.0
shader_parameter/scale = 0.1
shader_parameter/use_world_pos = false
+7 -6
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://b3kyqvuxmfn8f"]
[gd_scene format=3 uid="uid://b3kyqvuxmfn8f"]
[ext_resource type="Texture2D" uid="uid://ddm4gc2g3aj2i" path="res://images/level/objects.png" id="1_xghly"]
[ext_resource type="Shader" uid="uid://lqq1mg6l1qqe" path="res://game/shaders/black_n_white.gdshader" id="2_4nvxe"]
@@ -21,9 +21,10 @@ shader_parameter/black_color = Color(0, 0, 0, 1)
shader_parameter/white_color = Color(1, 1, 1, 1)
shader_parameter/switch_colors = false
shader_parameter/threshold = 0.5
shader_parameter/speed = 5.0000002375
shader_parameter/intensity = 0.50000002375
shader_parameter/speed = 2.50000011875
shader_parameter/intensity = 0.6000000285
shader_parameter/scale = 75.0000035625
shader_parameter/use_world_pos = false
[sub_resource type="AtlasTexture" id="AtlasTexture_6xx0h"]
atlas = ExtResource("1_xghly")
@@ -47,13 +48,13 @@ animations = [{
"speed": 5.0
}]
[node name="Fireplace" type="Node2D"]
[node name="Fireplace" type="Node2D" unique_id=1851673640]
script = SubResource("GDScript_4nvxe")
[node name="Sprite2D" type="Sprite2D" parent="."]
[node name="Sprite2D" type="Sprite2D" parent="." unique_id=1590498638]
texture = SubResource("AtlasTexture_2ho61")
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."]
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="." unique_id=628370504]
material = SubResource("ShaderMaterial_2ho61")
position = Vector2(0, 8)
sprite_frames = SubResource("SpriteFrames_f0x6e")
+13 -1
View File
@@ -1,5 +1,7 @@
shader_type canvas_item;
varying vec2 world_pos;
uniform vec4 black_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
uniform vec4 white_color : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform bool switch_colors = false;
@@ -7,6 +9,7 @@ uniform float threshold : hint_range(0.0, 1.0) = 0.5;
uniform float speed : hint_range(0.0, 10.0) = 0.5;
uniform float intensity : hint_range(0.0, 1.0) = 1.0;
uniform float scale : hint_range(0.0, 100.0) = 20.0;
uniform bool use_world_pos = false;
vec2 random(vec2 uv){
uv = vec2( dot(uv, vec2(127.1,311.7) ),
@@ -26,9 +29,17 @@ float noise(vec2 uv) {
dot( random(uv_index + vec2(1.0,1.0) ), uv_fract - vec2(1.0,1.0) ), blur.x), blur.y) + 0.5;
}
void vertex() {
if (use_world_pos) {
world_pos = (MODEL_MATRIX * vec4(VERTEX, 0.0, 1.0)).xy;
}
}
void fragment() {
if (COLOR.a > 0.01) {
vec2 noise_uv = UV * vec2(1.0, TEXTURE_PIXEL_SIZE.x / TEXTURE_PIXEL_SIZE.y);
vec2 noise_uv = vec2(1.0, TEXTURE_PIXEL_SIZE.x / TEXTURE_PIXEL_SIZE.y);
noise_uv *= use_world_pos ? world_pos : UV;
float l = dot(COLOR.rgb, vec3(0.2126, 0.7152, 0.0722));
bool is_black = l < threshold;
@@ -37,6 +48,7 @@ void fragment() {
}
if (intensity < 1.0) {
vec2 coord = noise_uv * scale + TIME * speed;
if (noise(coord) > intensity) {
is_black = !is_black;
}