changes to rivers

pull/7/head
Valentin Stark 3 years ago
parent 004e1e48ae
commit a6c9f527b6
  1. 10
      world/World.gd
  2. 5
      world/game.gd

@ -7,13 +7,20 @@ func _ready():
func draw_world(): func draw_world():
for i in range(0, 1, 1):
print(i)
var st = SurfaceTool.new() var st = SurfaceTool.new()
st.begin(Mesh.PRIMITIVE_TRIANGLES) st.begin(Mesh.PRIMITIVE_TRIANGLES)
st.add_smooth_group(true) st.add_smooth_group(true)
for triangle in terrain.get_triangles(): for triangle in terrain.get_triangles():
for point in triangle.points(): for point in triangle.points():
st.add_vertex(point.point3d() * Vector3(1, 24*5, 1)) var factor = Vector3(1, 24*5, 1)
if point.get_data("river") and i == 0:
factor.y -= 0
if i == 1:
factor.y -= 2.0
st.add_vertex(point.point3d() * factor)
st.generate_normals() st.generate_normals()
# st.generate_tangents() # st.generate_tangents()
@ -23,6 +30,7 @@ func draw_world():
var mi = MeshInstance.new() var mi = MeshInstance.new()
mi.mesh = mesh mi.mesh = mesh
if i == 0:
var material = load("res://world/world.material") var material = load("res://world/world.material")
mi.set_surface_material(0, material) mi.set_surface_material(0, material)
mi.create_trimesh_collision() mi.create_trimesh_collision()

@ -4,14 +4,14 @@ signal world_loaded
export(int) var width = 2000 export(int) var width = 2000
export(int) var height = 2000 export(int) var height = 2000
export(int) var spacing = 20 export(int) var spacing = 5
export(int, 1, 9) var octaves = 5 export(int, 1, 9) var octaves = 5
export(int, 1, 30) var wavelength = 8 export(int, 1, 30) var wavelength = 8
export(int) var border_width = 200 export(int) var border_width = 200
export(int) var terraces = 24 export(int) var terraces = 24
export(int) var terrace_height = 5 export(int) var terrace_height = 5
export(float) var mountain_height = 6.0 / 24.0 export(float) var mountain_height = 6.0 / 24.0
export(int) var river_proba = 100 export(int) var river_proba = 200
var rng = RandomNumberGenerator.new() var rng = RandomNumberGenerator.new()
var noise = OpenSimplexNoise.new() var noise = OpenSimplexNoise.new()
@ -100,6 +100,7 @@ func set_river_path(point):
path.append(point.get_index()) path.append(point.get_index())
for index in path: for index in path:
terrain.get_point(index).set_data("river", true) terrain.get_point(index).set_data("river", true)
terrain.get_point(index).set_data("water", true)
# Point # Point

Loading…
Cancel
Save