|
|
|
|
@ -29,14 +29,14 @@ func add_trees(): |
|
|
|
|
var poisson_disc_sampling: PoissonDiscSampling = PoissonDiscSampling.new() |
|
|
|
|
|
|
|
|
|
for center in Global.terrain.get_centers(): |
|
|
|
|
if not center.get_data("water") and not center.get_data("coast") and not center.get_data("mountain"): |
|
|
|
|
var num = rng.randi_range(0,10) |
|
|
|
|
if num == 1: |
|
|
|
|
var points2d = poisson_disc_sampling.generate_points(3, center.polygon(), 2) |
|
|
|
|
for point in points2d: |
|
|
|
|
var tree = treescene.instance() |
|
|
|
|
var scaling = rng.randi_range(0.8, 1.2) |
|
|
|
|
tree.scale = Vector3(scaling, scaling, scaling) |
|
|
|
|
tree.rotate_y(rng.randi_range(0, 2*PI)) |
|
|
|
|
tree.translation = Vector3(point.x, center.get_elevation() * 120, point.y) |
|
|
|
|
add_child(tree) |
|
|
|
|
if not center.get_data("water"): |
|
|
|
|
var num = rng.randi_range(0,100) |
|
|
|
|
if center.get_data("forest") or num == 1: |
|
|
|
|
var points2d = poisson_disc_sampling.generate_points(3, center.polygon(), 2) |
|
|
|
|
for point in points2d: |
|
|
|
|
var tree = treescene.instance() |
|
|
|
|
var scaling = rng.randi_range(0.8, 1.2) |
|
|
|
|
tree.scale = Vector3(scaling, scaling, scaling) |
|
|
|
|
tree.rotate_y(rng.randi_range(0, 2*PI)) |
|
|
|
|
tree.translation = Vector3(point.x, center.get_elevation() * 120, point.y) |
|
|
|
|
add_child(tree) |
|
|
|
|
|