34 lines
1.0 KiB
GDScript
34 lines
1.0 KiB
GDScript
extends Node2D
|
|
|
|
@export var noise_texture: NoiseTexture2D
|
|
var noise_values
|
|
@onready var world_grid = $world_grid
|
|
|
|
var temp_size = 150
|
|
var temp_noise_val = []
|
|
var temp_noise_reg = []
|
|
|
|
var noise_regions = [-999,10,150,200,999]
|
|
var atlas_regions = [Vector2i(0,1),Vector2i(0,0),Vector2i(2,0),Vector2i(0,2)]
|
|
|
|
func get_noise_value(x: int, y: int):
|
|
return noise_values.get_noise_2d(x,y) * 500
|
|
|
|
func get_noise_region(x,y):
|
|
var noise_val = get_noise_value(x,y)
|
|
for i in range(noise_regions.size()):
|
|
if noise_regions[i] <= noise_val and noise_val < noise_regions[i+1]:
|
|
return i
|
|
|
|
func _ready():
|
|
noise_values = noise_texture.noise
|
|
for x in range(-temp_size, temp_size):
|
|
for y in range(-temp_size, temp_size):
|
|
world_grid.set_cell(0, Vector2i(x,y),0,atlas_regions[get_noise_region(x,y)])
|
|
temp_noise_val.append(get_noise_value(x,y))
|
|
temp_noise_reg.append(get_noise_region(x,y))
|
|
prints(temp_noise_val.min(), temp_noise_val.max())
|
|
for region in noise_regions.size():
|
|
prints(region, noise_regions[region], temp_noise_reg.count(region))
|
|
#get_tree().quit()
|