extends MeshInstance3D class_name LevelFog var rng = RandomNumberGenerator.new() var mat = get_active_material(0) func _ready(): var size: int = 8 var data = [] for z in range(size): data.append(self.create_slice(size)) #var texture = Texture2DArray.new() #texture.create_from_images(data) var texture = ImageTexture3D.new() texture.create(Image.FORMAT_RGB8, size, size, size, false, data) mat.set_shader_parameter("u_texture", texture) func create_slice(size): var image = Image.new() image.create(size, size, false, Image.FORMAT_RGB8) for x in range(size): for y in range(size): image.set_pixel(x, y, Color.from_hsv(rng.randf(), rng.randf(), rng.randf())) return image