Expand generated terrain and forest variation
This commit is contained in:
parent
779e3d983e
commit
b2752b1074
25 changed files with 898 additions and 145 deletions
BIN
world/generation/props/assets/prop_pine_large.glb
Normal file
BIN
world/generation/props/assets/prop_pine_large.glb
Normal file
Binary file not shown.
45
world/generation/props/assets/prop_pine_large.glb.import
Normal file
45
world/generation/props/assets/prop_pine_large.glb.import
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://bsislktcsck1y"
|
||||
path="res://.godot/imported/prop_pine_large.glb-97f0e7e162a6a624faaf2cc023211d3e.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://world/generation/props/assets/prop_pine_large.glb"
|
||||
dest_files=["res://.godot/imported/prop_pine_large.glb-97f0e7e162a6a624faaf2cc023211d3e.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
gltf/texture_map_mode=1
|
||||
BIN
world/generation/props/assets/prop_tree_large.glb
Normal file
BIN
world/generation/props/assets/prop_tree_large.glb
Normal file
Binary file not shown.
45
world/generation/props/assets/prop_tree_large.glb.import
Normal file
45
world/generation/props/assets/prop_tree_large.glb.import
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
[remap]
|
||||
|
||||
importer="scene"
|
||||
importer_version=1
|
||||
type="PackedScene"
|
||||
uid="uid://c46jcb2vo2fd"
|
||||
path="res://.godot/imported/prop_tree_large.glb-0a4ab94061e4876be025fa3d63aa7bd8.scn"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://world/generation/props/assets/prop_tree_large.glb"
|
||||
dest_files=["res://.godot/imported/prop_tree_large.glb-0a4ab94061e4876be025fa3d63aa7bd8.scn"]
|
||||
|
||||
[params]
|
||||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
mesh_library/use_node_names_as_mesh_names=false
|
||||
array_mesh/deduplicate_surfaces=true
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
meshes/create_shadow_meshes=true
|
||||
meshes/light_baking=1
|
||||
meshes/lightmap_texel_size=0.2
|
||||
meshes/force_disable_compression=false
|
||||
skins/use_named_skins=true
|
||||
animation/import=true
|
||||
animation/fps=30
|
||||
animation/trimming=false
|
||||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={}
|
||||
gltf/naming_version=2
|
||||
gltf/embedded_image_handling=1
|
||||
gltf/texture_map_mode=1
|
||||
|
|
@ -11,6 +11,15 @@ packed_scene = ExtResource("2_scene")
|
|||
procedural_group = &"sand_tree"
|
||||
required_chunk_tags = PackedStringArray("sand")
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 2.0
|
||||
clearance_radius = 0.65
|
||||
minimum_visual_scale = 0.5
|
||||
maximum_visual_scale = 1.0
|
||||
minimum_cluster_size = 2
|
||||
maximum_cluster_size = 3
|
||||
minimum_cluster_radius = 1.4
|
||||
maximum_cluster_radius = 3.0
|
||||
prefer_ocean_facing = true
|
||||
local_overhang_direction = Vector2(-0.883, 0.469)
|
||||
ocean_facing_spread_degrees = 55.0
|
||||
collision_radius = 0.4
|
||||
collision_height = 6.0
|
||||
|
|
|
|||
|
|
@ -6,15 +6,15 @@
|
|||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_pine"
|
||||
label = "pine"
|
||||
label = "small pine"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 0.7
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 1.55
|
||||
minimum_visual_scale = 0.75
|
||||
maximum_visual_scale = 1.22
|
||||
minimum_visual_scale = 0.65
|
||||
maximum_visual_scale = 1.2
|
||||
collision_radius = 0.5
|
||||
collision_height = 4.0
|
||||
gatherable_anchor_height = 2.15
|
||||
|
|
|
|||
20
world/generation/props/definitions/prop_pine_large.tres
Normal file
20
world/generation/props/definitions/prop_pine_large.tres
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=3 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="1_definition"]
|
||||
[ext_resource type="PackedScene" path="res://world/generation/props/assets/prop_pine_large.glb" id="2_scene"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_pine_large"
|
||||
label = "large pine"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 3.0
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 1.65
|
||||
minimum_visual_scale = 0.75
|
||||
maximum_visual_scale = 1.2
|
||||
collision_radius = 0.65
|
||||
collision_height = 9.5
|
||||
gatherable_anchor_height = 2.15
|
||||
|
|
@ -1,24 +1,30 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=6 format=3]
|
||||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=9 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="1_definition"]
|
||||
[ext_resource type="PackedScene" path="res://world/generation/props/assets/prop_tree_1.glb" id="2_scene"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_light.tres" id="3_leaf_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_mid.tres" id="4_leaf_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_dark.tres" id="5_leaf_dark"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_light.tres" id="6_wood_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_mid.tres" id="7_wood_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_dark.tres" id="8_wood_dark"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_tree_1"
|
||||
label = "small tree"
|
||||
label = "small deciduous tree"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 1.0
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 1.3
|
||||
minimum_visual_scale = 0.75
|
||||
maximum_visual_scale = 1.15
|
||||
minimum_visual_scale = 0.65
|
||||
maximum_visual_scale = 1.2
|
||||
variant_material_slot_names = PackedStringArray("leaf_light", "leaf", "leaf_dark")
|
||||
material_variants = Array[Material]([ExtResource("3_leaf_light"), ExtResource("4_leaf_mid"), ExtResource("5_leaf_dark")])
|
||||
secondary_variant_material_slot_names = PackedStringArray("wood", "wood_light", "wood_mid")
|
||||
secondary_material_variants = Array[Material]([ExtResource("6_wood_light"), ExtResource("7_wood_mid"), ExtResource("8_wood_dark")])
|
||||
collision_radius = 0.4
|
||||
collision_height = 3.2
|
||||
gatherable_anchor_height = 2.15
|
||||
|
|
|
|||
|
|
@ -1,24 +1,30 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=6 format=3]
|
||||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=9 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="1_definition"]
|
||||
[ext_resource type="PackedScene" path="res://world/generation/props/assets/prop_tree_2.glb" id="2_scene"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_light.tres" id="3_leaf_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_mid.tres" id="4_leaf_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_dark.tres" id="5_leaf_dark"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_light.tres" id="6_wood_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_mid.tres" id="7_wood_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_dark.tres" id="8_wood_dark"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_tree_2"
|
||||
label = "medium tree"
|
||||
label = "medium deciduous tree"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 1.0
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 1.5
|
||||
minimum_visual_scale = 0.8
|
||||
maximum_visual_scale = 1.18
|
||||
minimum_visual_scale = 0.7
|
||||
maximum_visual_scale = 1.2
|
||||
variant_material_slot_names = PackedStringArray("leaf_light", "leaf", "leaf_dark")
|
||||
material_variants = Array[Material]([ExtResource("3_leaf_light"), ExtResource("4_leaf_mid"), ExtResource("5_leaf_dark")])
|
||||
secondary_variant_material_slot_names = PackedStringArray("wood", "wood_light", "wood_mid")
|
||||
secondary_material_variants = Array[Material]([ExtResource("6_wood_light"), ExtResource("7_wood_mid"), ExtResource("8_wood_dark")])
|
||||
collision_radius = 0.5
|
||||
collision_height = 3.8
|
||||
gatherable_anchor_height = 2.15
|
||||
|
|
|
|||
|
|
@ -1,24 +1,30 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=6 format=3]
|
||||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=9 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="1_definition"]
|
||||
[ext_resource type="PackedScene" path="res://world/generation/props/assets/prop_tree_3.glb" id="2_scene"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_light.tres" id="3_leaf_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_mid.tres" id="4_leaf_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_dark.tres" id="5_leaf_dark"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_light.tres" id="6_wood_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_mid.tres" id="7_wood_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_dark.tres" id="8_wood_dark"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_tree_3"
|
||||
label = "large tree"
|
||||
label = "decorative deciduous tree"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 1.0
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 1.8
|
||||
minimum_visual_scale = 0.85
|
||||
maximum_visual_scale = 1.15
|
||||
minimum_visual_scale = 0.7
|
||||
maximum_visual_scale = 1.2
|
||||
variant_material_slot_names = PackedStringArray("leaf_light", "leaf", "leaf_dark")
|
||||
material_variants = Array[Material]([ExtResource("3_leaf_light"), ExtResource("4_leaf_mid"), ExtResource("5_leaf_dark")])
|
||||
secondary_variant_material_slot_names = PackedStringArray("wood", "wood_light", "wood_mid")
|
||||
secondary_material_variants = Array[Material]([ExtResource("6_wood_light"), ExtResource("7_wood_mid"), ExtResource("8_wood_dark")])
|
||||
collision_radius = 0.55
|
||||
collision_height = 4.2
|
||||
gatherable_anchor_height = 2.15
|
||||
|
|
|
|||
30
world/generation/props/definitions/prop_tree_large.tres
Normal file
30
world/generation/props/definitions/prop_tree_large.tres
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropDefinition" load_steps=9 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="1_definition"]
|
||||
[ext_resource type="PackedScene" path="res://world/generation/props/assets/prop_tree_large.glb" id="2_scene"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_light.tres" id="3_leaf_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_mid.tres" id="4_leaf_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/leaf_dark.tres" id="5_leaf_dark"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_light.tres" id="6_wood_light"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_mid.tres" id="7_wood_mid"]
|
||||
[ext_resource type="Material" path="res://world/generation/props/materials/wood_dark.tres" id="8_wood_dark"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_definition")
|
||||
stable_id = &"prop_tree_large"
|
||||
label = "large deciduous tree"
|
||||
packed_scene = ExtResource("2_scene")
|
||||
procedural_group = &"grass_tree"
|
||||
required_chunk_tags = PackedStringArray("grass")
|
||||
selection_weight = 12.0
|
||||
minimum_spawn_chunk_distance = 2
|
||||
clearance_radius = 2.5
|
||||
minimum_visual_scale = 0.75
|
||||
maximum_visual_scale = 1.2
|
||||
variant_material_slot_names = PackedStringArray("leaf_light", "leaf", "leaf_dark")
|
||||
material_variants = Array[Material]([ExtResource("3_leaf_light"), ExtResource("4_leaf_mid"), ExtResource("5_leaf_dark")])
|
||||
secondary_variant_material_slot_names = PackedStringArray("wood", "wood_light", "wood_mid")
|
||||
secondary_material_variants = Array[Material]([ExtResource("6_wood_light"), ExtResource("7_wood_mid"), ExtResource("8_wood_dark")])
|
||||
collision_radius = 0.85
|
||||
collision_height = 7.5
|
||||
gatherable_anchor_height = 2.15
|
||||
9
world/generation/props/materials/wood_dark.tres
Normal file
9
world/generation/props/materials/wood_dark.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3]
|
||||
|
||||
[resource]
|
||||
resource_name = "wood_variant_dark"
|
||||
albedo_color = Color(0.163, 0.139, 0.0254, 1)
|
||||
metallic = 0.0
|
||||
roughness = 1.0
|
||||
shading_mode = 1
|
||||
texture_filter = 0
|
||||
9
world/generation/props/materials/wood_light.tres
Normal file
9
world/generation/props/materials/wood_light.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3]
|
||||
|
||||
[resource]
|
||||
resource_name = "wood_variant_light"
|
||||
albedo_color = Color(0.644, 0.563, 0.356, 1)
|
||||
metallic = 0.0
|
||||
roughness = 1.0
|
||||
shading_mode = 1
|
||||
texture_filter = 0
|
||||
9
world/generation/props/materials/wood_mid.tres
Normal file
9
world/generation/props/materials/wood_mid.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="StandardMaterial3D" format=3]
|
||||
|
||||
[resource]
|
||||
resource_name = "wood_variant_mid"
|
||||
albedo_color = Color(0.333, 0.271, 0.114, 1)
|
||||
metallic = 0.0
|
||||
roughness = 1.0
|
||||
shading_mode = 1
|
||||
texture_filter = 0
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_resource type="Resource" script_class="TerrainPropCatalog" load_steps=16 format=3]
|
||||
[gd_resource type="Resource" script_class="TerrainPropCatalog" load_steps=18 format=3]
|
||||
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_catalog.gd" id="1_catalog"]
|
||||
[ext_resource type="Resource" path="res://world/generation/props/definitions/prop_bridge.tres" id="2_bridge"]
|
||||
|
|
@ -15,7 +15,9 @@
|
|||
[ext_resource type="Resource" path="res://world/generation/props/definitions/prop_tree_2.tres" id="13_tree_2"]
|
||||
[ext_resource type="Resource" path="res://world/generation/props/definitions/prop_tree_3.tres" id="14_tree_3"]
|
||||
[ext_resource type="Script" path="res://world/generation/terrain_prop_definition.gd" id="15_definition_script"]
|
||||
[ext_resource type="Resource" path="res://world/generation/props/definitions/prop_tree_large.tres" id="16_tree_large"]
|
||||
[ext_resource type="Resource" path="res://world/generation/props/definitions/prop_pine_large.tres" id="17_pine_large"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_catalog")
|
||||
definitions = Array[ExtResource("15_definition_script")]([ExtResource("2_bridge"), ExtResource("3_dock"), ExtResource("4_log"), ExtResource("5_post_1"), ExtResource("6_post_2"), ExtResource("7_mushroom"), ExtResource("8_palm"), ExtResource("9_pine"), ExtResource("10_timber_1"), ExtResource("11_timber_2"), ExtResource("12_tree_1"), ExtResource("13_tree_2"), ExtResource("14_tree_3")])
|
||||
definitions = Array[ExtResource("15_definition_script")]([ExtResource("2_bridge"), ExtResource("3_dock"), ExtResource("4_log"), ExtResource("5_post_1"), ExtResource("6_post_2"), ExtResource("7_mushroom"), ExtResource("8_palm"), ExtResource("9_pine"), ExtResource("10_timber_1"), ExtResource("11_timber_2"), ExtResource("12_tree_1"), ExtResource("13_tree_2"), ExtResource("14_tree_3"), ExtResource("16_tree_large"), ExtResource("17_pine_large")])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue