Files
Ransom-s-wake/game/world/sites/dive_site.tscn
T
OlivierandClaude Fable 5.1 d7e50f8879 feat(world): depth-coloured water column fog and de-tiled sand ripples
A FogVolume covering the site carries a fog shader whose scattering albedo
follows the same spectral transmittance as the seabed and whose density
grows below the reference depth, so haze darkens and turns indigo with
depth around every object; the global volumetric density moves into the
volume and the far depth fog only covers what lies beyond 128 m. Sand
ripples are bent by a slow domain warp, blended with a larger ripple
scale and faded out between 40 and 60 m, which hides the 3.2 m tiling.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 23:44:04 +02:00

101 lines
3.0 KiB
Plaintext

[gd_scene load_steps=9 format=3]
[ext_resource type="Script" path="res://game/world/sites/dive_site.gd" id="1_site"]
[ext_resource type="Script" path="res://game/world/sites/bathymetric_terrain_actor.gd" id="2_terrain"]
[ext_resource type="Shader" path="res://game/world/sites/water_column_fog.gdshader" id="3_water_column"]
[sub_resource type="ShaderMaterial" id="WaterColumnMaterial"]
shader = ExtResource("3_water_column")
[sub_resource type="ProceduralSkyMaterial" id="SkyUnderwater"]
sky_top_color = Color(0.22, 0.52, 0.66, 1)
sky_horizon_color = Color(0.09, 0.28, 0.4, 1)
sky_curve = 0.2
sky_energy_multiplier = 1.0
ground_horizon_color = Color(0.05, 0.17, 0.27, 1)
ground_bottom_color = Color(0.01, 0.03, 0.07, 1)
ground_curve = 0.1
ground_energy_multiplier = 0.6
sun_angle_max = 40.0
sun_curve = 0.3
use_debanding = true
[sub_resource type="Sky" id="SkyResource"]
sky_material = SubResource("SkyUnderwater")
process_mode = 2
radiance_size = 2
[sub_resource type="Environment" id="EnvironmentUnderwater"]
background_mode = 2
sky = SubResource("SkyResource")
ambient_light_source = 3
ambient_light_sky_contribution = 1.0
ambient_light_energy = 1.3
reflected_light_source = 1
tonemap_mode = 2
tonemap_exposure = 1.15
tonemap_white = 4.0
ssao_enabled = true
ssao_radius = 2.5
ssao_intensity = 2.2
ssao_power = 1.6
ssao_detail = 0.6
ssao_horizon = 0.08
ssao_light_affect = 0.25
ssao_ao_channel_affect = 0.4
glow_enabled = true
glow_levels/1 = 1.0
glow_levels/2 = 1.0
glow_levels/3 = 0.6
glow_levels/4 = 0.2
glow_intensity = 0.8
glow_blend_mode = 0
glow_hdr_threshold = 1.2
fog_enabled = true
fog_light_color = Color(0.05, 0.18, 0.29, 1)
fog_light_energy = 0.38
fog_sun_scatter = 0.15
fog_density = 0.0045
fog_aerial_perspective = 0.5
fog_height = -4.0
fog_height_density = 0.025
volumetric_fog_enabled = true
volumetric_fog_density = 0.0
volumetric_fog_albedo = Color(0.5, 0.78, 0.92, 1)
volumetric_fog_anisotropy = 0.45
volumetric_fog_length = 128.0
volumetric_fog_detail_spread = 1.6
volumetric_fog_ambient_inject = 0.5
adjustment_enabled = true
adjustment_contrast = 1.06
adjustment_saturation = 1.08
[node name="DiveSite" type="Node3D"]
script = ExtResource("1_site")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("EnvironmentUnderwater")
[node name="AmbientDirection" type="DirectionalLight3D" parent="."]
rotation_degrees = Vector3(-62, -28, 0)
light_color = Color(0.5, 0.78, 0.88, 1)
light_energy = 0.9
light_angular_distance = 3.0
shadow_enabled = true
shadow_opacity = 0.45
shadow_blur = 2.0
directional_shadow_max_distance = 160.0
directional_shadow_fade_start = 0.75
[node name="WaterColumn" type="FogVolume" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -110, 0)
size = Vector3(1800, 260, 1800)
material = SubResource("WaterColumnMaterial")
[node name="Terrain" type="StaticBody3D" parent="."]
unique_name_in_owner = true
script = ExtResource("2_terrain")
[node name="Placements" type="Node3D" parent="."]
unique_name_in_owner = true