extends Node var chunk_half_size setget _set_chunk_size var chunk_size func _set_chunk_size(val): chunk_half_size = val chunk_size = val * 2.0 onready var noise = OpenSimplexNoise.new() func _ready(): randomize() noise.seed = randi() noise.octaves = 4 noise.period = 64 noise.persistence = 0.001 noise.lacunarity = 2.0 func gen_chunk(chunk): var gen_tree = Spatial.new() gen_tree.name = "gen_tree" chunk.add_child(gen_tree) func v2_coords(coords:Vector3): return Vector2(coords.x,coords.z) func v3_coords(coords:Vector2): return Vector3(coords.x,0.0,coords.y) func iterate_chunk(chunk,step:Vector2,cb:FuncRef): var chunk_size_rounded = Vector2(chunk_half_size,chunk_half_size).snapped(step) for x in range(-chunk_size_rounded.x,chunk_size_rounded.x,step.x): for y in range(-chunk_size_rounded.y,chunk_size_rounded.y,step.y): cb.call_func(chunk,Vector2(x,y))