fix: close generated coastlines and extend cast bounds

This commit is contained in:
Alexander Sellite 2026-08-21 22:12:14 -04:00
parent 2c17b7b377
commit f85e9bceeb
16 changed files with 250 additions and 57 deletions

View file

@ -16,3 +16,4 @@ allowed_neighbor_tags = PackedStringArray("sand", "grass")
required_neighbor_tags = PackedStringArray("sand", "coast")
minimum_required_neighbors = 1
preferred_neighbor_tags = PackedStringArray("coast", "sand")
maximum_boundary_distance = 1

View file

@ -26,3 +26,4 @@ south_surface_tags = PackedStringArray("grass")
west_surface_tags = PackedStringArray("sand")
preferred_neighbor_tags = PackedStringArray("grass", "sand", "transition")
must_be_interior = true
maximum_boundary_distance = 2

View file

@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0015.glb" id="2_scene"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0005.glb" id="3_base_coast"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0007.glb" id="3_base_coast"]
[resource]
script = ExtResource("1_definition")
@ -11,7 +11,7 @@ label = "second-tier grass sea transition right"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0015"
base_layer_scene = ExtResource("3_base_coast")
base_layer_mesh_name = &"chunk_0005"
base_layer_mesh_name = &"chunk_0007"
base_layer_quarter_turns = 3
overlay_only = true
selection_weight = 0.12

View file

@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0015.glb" id="2_scene"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0005.glb" id="3_base_coast"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0007.glb" id="3_base_coast"]
[resource]
script = ExtResource("1_definition")
@ -11,7 +11,8 @@ label = "second-tier grass sea transition left"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0015"
base_layer_scene = ExtResource("3_base_coast")
base_layer_mesh_name = &"chunk_0005"
base_layer_mesh_name = &"chunk_0007"
base_layer_quarter_turns = 1
overlay_only = true
selection_weight = 0.12
maximum_placements = 8

View file

@ -0,0 +1,29 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" load_steps=4 format=3]
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0015.glb" id="2_scene"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0008.glb" id="3_base_coast"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0019"
label = "second-tier beach sea transition right"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0015"
base_layer_scene = ExtResource("3_base_coast")
base_layer_mesh_name = &"chunk_0008"
base_layer_quarter_turns = 3
overlay_only = true
selection_weight = 0.12
maximum_placements = 8
tags = PackedStringArray("land", "walkable", "sand", "coast", "cliff", "corner", "transition", "elevation_2", "elevation_2_border", "elevation_2_sea_edge")
allowed_neighbor_tags = PackedStringArray("elevation_2")
north_allowed_neighbor_tags = PackedStringArray("elevation_2_sea_edge", "elevation_2_border")
east_allowed_neighbor_tags = PackedStringArray("sand")
west_allowed_neighbor_tags = PackedStringArray("elevation_2_sea_edge", "elevation_2_border")
required_neighbor_tags = PackedStringArray("elevation_2_border")
minimum_required_neighbors = 2
preferred_neighbor_tags = PackedStringArray("elevation_2", "coast")
prefers_map_boundary = true
ocean_facing_edges = 4
buried_cliff_seam_edges = 9

View file

@ -0,0 +1,29 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" load_steps=4 format=3]
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0015.glb" id="2_scene"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0008.glb" id="3_base_coast"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0020"
label = "second-tier beach sea transition left"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0015"
base_layer_scene = ExtResource("3_base_coast")
base_layer_mesh_name = &"chunk_0008"
base_layer_quarter_turns = 1
overlay_only = true
selection_weight = 0.12
maximum_placements = 8
tags = PackedStringArray("land", "walkable", "sand", "coast", "cliff", "corner", "transition", "elevation_2", "elevation_2_border", "elevation_2_sea_edge")
allowed_neighbor_tags = PackedStringArray("elevation_2")
north_allowed_neighbor_tags = PackedStringArray("elevation_2_sea_edge", "elevation_2_border")
south_allowed_neighbor_tags = PackedStringArray("sand")
west_allowed_neighbor_tags = PackedStringArray("elevation_2_sea_edge", "elevation_2_border")
required_neighbor_tags = PackedStringArray("elevation_2_border")
minimum_required_neighbors = 2
preferred_neighbor_tags = PackedStringArray("elevation_2", "coast")
prefers_map_boundary = true
ocean_facing_edges = 2
buried_cliff_seam_edges = 9