extends MeshInstance var t = 0.0 var mat var lights = [ [Vector3(6,-4.5,-2.25),Vector3.ZERO], [Vector3(10,-4.5,-4),Vector3.ZERO], [Vector3(6,-4.5,-6.25),Vector3.ZERO], [Vector3(10,-4.5,-8),Vector3.ZERO] ] func _ready(): for light in lights: light[0] = to_global(light[0]) mat = get_surface_material(1) func _process(delta): t += delta lights[0][1] = Vector3(1,0,0)*(sin(t*4)/2+0.5) lights[1][1] = Vector3(0,1,0)*(sin(t*5.123)/2+0.5) lights[2][1] = Vector3(0,0,1)*(sin(t*6.7)/2+0.5) lights[3][1] = Vector3(1,0.5,0)*(sin(t*3.141)/2+0.5) mat.set_shader_param("col1",lights[0][1]) mat.set_shader_param("col2",lights[1][1]) mat.set_shader_param("col3",lights[2][1]) mat.set_shader_param("col4",lights[3][1])