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():
var st = SurfaceTool.new()
st.begin(Mesh.PRIMITIVE_TRIANGLES)
st.add_smooth_group(true)
for triangle in terrain.get_triangles():
for point in triangle.points():
st.add_vertex(point.point3d() * Vector3(1, 24*5, 1))
st.generate_normals()
# st.generate_tangents()
st.index()
# Commit to a mesh.
var mesh = st.commit()
var mi = MeshInstance.new()
mi.mesh = mesh
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)
for i in range(0, 1, 1):
print(i)
var st = SurfaceTool.new()
st.begin(Mesh.PRIMITIVE_TRIANGLES)
st.add_smooth_group(true)
for triangle in terrain.get_triangles():
for point in triangle.points():
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_tangents()
st.index()
# Commit to a mesh.
var mesh = st.commit()
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):
terrain = game_terrain

@ -4,14 +4,14 @@ signal world_loaded
export(int) var width = 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, 30) var wavelength = 8
export(int) var border_width = 200
export(int) var terraces = 24
export(int) var terrace_height = 5
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 noise = OpenSimplexNoise.new()
@ -100,6 +100,7 @@ func set_river_path(point):
path.append(point.get_index())
for index in path:
terrain.get_point(index).set_data("river", true)
terrain.get_point(index).set_data("water", true)
# Point

Loading…
Cancel
Save