add fake shadow
This commit is contained in:
19
Scenes/house_test_4.gdshader
Normal file
19
Scenes/house_test_4.gdshader
Normal file
@@ -0,0 +1,19 @@
|
||||
shader_type spatial;
|
||||
// "unshaded" rende il materiale immune alle altre luci della scena
|
||||
render_mode unshaded, depth_draw_opaque;
|
||||
|
||||
uniform vec4 shadow_color : source_color = vec4(0.0, 0.0, 0.0, 0.6);
|
||||
uniform float radius : hint_range(0.0, 1.0) = 0.45;
|
||||
uniform float softness : hint_range(0.0, 1.0) = 0.1;
|
||||
|
||||
void fragment() {
|
||||
// Calcola la distanza del pixel dal centro del piano (UV 0.5, 0.5)
|
||||
float dist = distance(UV, vec2(0.5, 0.5));
|
||||
|
||||
// smoothstep crea una transizione morbida per i bordi dell'ombra
|
||||
float mask = smoothstep(radius, radius - softness, dist);
|
||||
|
||||
// Applica il colore e gestisce la trasparenza usando la maschera
|
||||
ALBEDO = shadow_color.rgb;
|
||||
ALPHA = mask * shadow_color.a;
|
||||
}
|
||||
Reference in New Issue
Block a user