Ponte - Pali
This commit is contained in:
28
Scenes/Fili.gdshader
Normal file
28
Scenes/Fili.gdshader
Normal file
@@ -0,0 +1,28 @@
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_disabled;
|
||||
|
||||
// Colore del filo (nero o grigio scuro)
|
||||
uniform vec4 albedo_color : source_color = vec4(0.1, 0.1, 0.1, 1.0);
|
||||
|
||||
// Parametri controllati dal tuo script
|
||||
uniform float forza_vento = 1.0;
|
||||
uniform float velocita_vento = 2.0;
|
||||
|
||||
void vertex() {
|
||||
// COLOR.r è la nostra "pittura". È 0 dove c'è il palo (quindi non si muove)
|
||||
// ed è 1.0 al centro della pancia del filo.
|
||||
float capacita_movimento = COLOR.r;
|
||||
|
||||
// Creiamo un'onda fluida usando il tempo e la posizione nel mondo
|
||||
// così ogni filo oscilla in modo leggermente diverso dall'altro
|
||||
float onda_vento = sin(TIME * velocita_vento + NODE_POSITION_WORLD.x * 0.5) * forza_vento;
|
||||
|
||||
// Spingiamo il vertice sugli assi X e Z.
|
||||
VERTEX.x += onda_vento * 0.1 * capacita_movimento;
|
||||
VERTEX.z += onda_vento * 0.05 * capacita_movimento;
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
ALBEDO = albedo_color.rgb;
|
||||
ROUGHNESS = 0.9;
|
||||
}
|
||||
Reference in New Issue
Block a user