changes to rivers

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

@ -7,28 +7,36 @@ func _ready():
func draw_world(): func draw_world():
var st = SurfaceTool.new() for i in range(0, 1, 1):
print(i)
st.begin(Mesh.PRIMITIVE_TRIANGLES) var st = SurfaceTool.new()
st.add_smooth_group(true)
for triangle in terrain.get_triangles(): st.begin(Mesh.PRIMITIVE_TRIANGLES)
for point in triangle.points(): st.add_smooth_group(true)
st.add_vertex(point.point3d() * Vector3(1, 24*5, 1)) for triangle in terrain.get_triangles():
for point in triangle.points():
st.generate_normals() var factor = Vector3(1, 24*5, 1)
# st.generate_tangents() if point.get_data("river") and i == 0:
st.index() factor.y -= 0
# Commit to a mesh. if i == 1:
var mesh = st.commit() factor.y -= 2.0
st.add_vertex(point.point3d() * factor)
var mi = MeshInstance.new()
mi.mesh = mesh st.generate_normals()
var material = load("res://world/world.material") # st.generate_tangents()
mi.set_surface_material(0, material) st.index()
mi.create_trimesh_collision() # Commit to a mesh.
mi.cast_shadow = GeometryInstance.SHADOW_CASTING_SETTING_ON var mesh = st.commit()
print(mi)
add_child(mi) var mi = MeshInstance.new()
mi.mesh = mesh
if i == 0:
var material = load("res://world/world.material")
mi.set_surface_material(0, material)
mi.create_trimesh_collision()
mi.cast_shadow = GeometryInstance.SHADOW_CASTING_SETTING_ON
print(mi)
add_child(mi)
func _on_Game_world_loaded(game_terrain): func _on_Game_world_loaded(game_terrain):
terrain = game_terrain terrain = game_terrain

@ -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