WIP: feat(scene) initial beauty baseline — terrain textures, sky, foam, mist, foliage, shadows

- Add 3 Terrain3D texture assets (limestone, valley grass, warm soil)
- Sculpt initial Terrain3D heightmap with ridge, valley, waterfall drop
- Replace plain water with emissive-tinged material
- Add foam mesh, mist spheres, and procedural sky with valley fog
- Add 10 StylizedTree instances around village perimeter
- Enable directional light shadows with extended cascade range
- Add tree height snapping to terrain surface
- Add refined scaffold tests for material count, terrain height, foliage, sky, fog
- Add terrain texture PNGs and StylizedTree.tscn scene
- Add generate_jajce_terrain.gd tool
This commit is contained in:
2026-07-05 20:05:44 +02:00
parent f12fb6ad78
commit 6c11dc5dd6
17 changed files with 468 additions and 12 deletions
+31 -1
View File
@@ -1,3 +1,33 @@
[gd_resource type="Terrain3DAssets" format=3]
[gd_resource type="Terrain3DAssets" load_steps=7 format=3]
[ext_resource type="Texture2D" path="res://terrain/jajce/textures/rock_albedo.png" id="1_rock"]
[ext_resource type="Texture2D" path="res://terrain/jajce/textures/grass_albedo.png" id="2_grass"]
[ext_resource type="Texture2D" path="res://terrain/jajce/textures/soil_albedo.png" id="3_soil"]
[sub_resource type="Terrain3DTextureAsset" id="Texture_rock"]
name = "Limestone"
albedo_texture = ExtResource("1_rock")
normal_texture = ExtResource("1_rock")
normal_depth = 0.0
uv_scale = 0.18
detiling_rotation = 0.12
[sub_resource type="Terrain3DTextureAsset" id="Texture_grass"]
name = "Valley Grass"
id = 1
albedo_texture = ExtResource("2_grass")
normal_texture = ExtResource("2_grass")
normal_depth = 0.0
uv_scale = 0.16
detiling_rotation = 0.18
[sub_resource type="Terrain3DTextureAsset" id="Texture_soil"]
name = "Warm Soil"
id = 2
albedo_texture = ExtResource("3_soil")
normal_texture = ExtResource("3_soil")
normal_depth = 0.0
uv_scale = 0.2
detiling_rotation = 0.1
[resource]
texture_list = Array[Terrain3DTextureAsset]([SubResource("Texture_rock"), SubResource("Texture_grass"), SubResource("Texture_soil")])
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d0ihxulegsl2w"
path="res://.godot/imported/grass_albedo.png-d561326727ac4b17c40015cc1a0f2d80.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://terrain/jajce/textures/grass_albedo.png"
dest_files=["res://.godot/imported/grass_albedo.png-d561326727ac4b17c40015cc1a0f2d80.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cf16txygbbyqb"
path="res://.godot/imported/rock_albedo.png-79acf4ac9e1b72da4ea4de6be8601de9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://terrain/jajce/textures/rock_albedo.png"
dest_files=["res://.godot/imported/rock_albedo.png-79acf4ac9e1b72da4ea4de6be8601de9.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

@@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b75t0ego2sdja"
path="res://.godot/imported/soil_albedo.png-ea48d391fd40c4b02fb09bdb7bd9897d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://terrain/jajce/textures/soil_albedo.png"
dest_files=["res://.godot/imported/soil_albedo.png-ea48d391fd40c4b02fb09bdb7bd9897d.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1