Files

573 lines
19 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[gd_scene load_steps=14 format=3 uid="uid://v251md8vmtrx"]
[ext_resource type="Script" uid="uid://nrqcurd1o8rk" path="res://main.gd" id="1_t20f6"]
[ext_resource type="Shader" uid="uid://dmh645r7cquap" path="res://sky_volumetric_clouds.gdshader" id="2_7kao2"]
[ext_resource type="Texture2D" uid="uid://cdw8gh7rmtckl" path="res://weather.webp" id="2_wytgt"]
[ext_resource type="CompressedTexture3D" uid="uid://qlp0s3raunag" path="res://perlworlnoise.png" id="3_k3m6m"]
[ext_resource type="CompressedTexture3D" uid="uid://1awmqbghlwdf" path="res://worlnoise.webp" id="4_ix4p0"]
[ext_resource type="Script" uid="uid://iqipqkcdpyv2" path="res://spheres.gd" id="5_00idb"]
[ext_resource type="Texture2D" uid="uid://blj7h6a47be8d" path="res://space.webp" id="5_ua1c5"]
[sub_resource type="Animation" id="Animation_qen42"]
length = 0.001
step = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("YawLight/DirectionalLight3D:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(-0.6325349, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/space_emit_strength")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.166]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie_color")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.921569, 0.54902, 0.568627, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie_eccentricity")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.701]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/rayleigh")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.467]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/rayleigh_color")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.26, 0.41, 0.58, 1)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/turbidity")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.797]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/exposure")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.1]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("YawLight/DirectionalLight3D:light_energy")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [1.0]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("YawLight/DirectionalLight3D:light_color")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(0.87513953, 0.92508376, 0.9344481, 1)]
}
[sub_resource type="Animation" id="Animation_fgbjk"]
resource_name = "day_night_cycle"
length = 30.0
loop_mode = 1
step = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("YawLight/DirectionalLight3D:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 3, 14.9, 15, 30),
"transitions": PackedFloat32Array(1, 1, 0, 1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(-0.6325349, 0, 0), Vector3(-3.14159, 0, 0), Vector3(0, 0, 0), Vector3(-3.14159, 0, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/space_emit_strength")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 3, 15, 16.5, 28.5, 30),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 0.0, 0.0, 1.0, 1.0, 0.0]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [0.166, 0.166, 0.021]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie_color")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [Color(0.921569, 0.54902, 0.568627, 1), Color(0.921569, 0.54902, 0.568627, 1), Color(0.435294, 0.756863, 0.937255, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/mie_eccentricity")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [0.701, 0.701, 0.919]
}
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/rayleigh")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [1.467, 1.467, 3.676]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/rayleigh_color")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [Color(0.26, 0.41, 0.58, 1), Color(0.26, 0.41, 0.58, 1), Color(0.109804, 0.184314, 0.266667, 1)]
}
tracks/7/type = "value"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/turbidity")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [0.797, 0.797, 75.758]
}
tracks/8/type = "value"
tracks/8/imported = false
tracks/8/enabled = true
tracks/8/path = NodePath("WorldEnvironment:environment:sky:sky_material:shader_parameter/exposure")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"times": PackedFloat32Array(0, 3, 15),
"transitions": PackedFloat32Array(0, 1, 0),
"update": 0,
"values": [0.1, 0.1, 0.015]
}
tracks/9/type = "value"
tracks/9/imported = false
tracks/9/enabled = true
tracks/9/path = NodePath("YawLight/DirectionalLight3D:light_energy")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(0, 1, 3, 14, 14.9, 15, 16, 29),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
"update": 0,
"values": [0.0, 1.0, 1.0, 1.0, 0.0, 4.33488e-07, 0.5, 0.5]
}
tracks/10/type = "value"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("YawLight/DirectionalLight3D:light_color")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(3, 14.9, 15),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(0.87513953, 0.92508376, 0.9344481, 1), Color(1, 1, 1, 1), Color(0.686275, 0.811765, 0.835294, 1)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mqv34"]
_data = {
&"RESET": SubResource("Animation_qen42"),
&"day_night_cycle": SubResource("Animation_fgbjk")
}
[sub_resource type="ShaderMaterial" id="ShaderMaterial_jcxn0"]
shader = ExtResource("2_7kao2")
shader_parameter/worlnoise = ExtResource("4_ix4p0")
shader_parameter/perlworlnoise = ExtResource("3_k3m6m")
shader_parameter/cloud_map = ExtResource("2_wytgt")
shader_parameter/cloud_density = 0.05
shader_parameter/cloud_coverage = 0.2
shader_parameter/cloud_time_scale = 5.0
shader_parameter/cloud_time_offset = 0.0
shader_parameter/cloud_direction = Vector2(0.9, 1)
shader_parameter/cloud_steps_range = Vector2(192, 108)
shader_parameter/clouds_screen_lod = 1.0
shader_parameter/cloud_modulate = Color(1, 1, 1, 1)
shader_parameter/cloud_camera_position_mult = Vector2(0.1, 0.2)
shader_parameter/cloud_camera_height = 0.0
shader_parameter/rayleigh = 1.467
shader_parameter/rayleigh_color = Color(0.26, 0.41, 0.58, 1)
shader_parameter/mie = 0.166
shader_parameter/mie_eccentricity = 0.701
shader_parameter/mie_color = Color(0.921569, 0.54902, 0.568627, 1)
shader_parameter/turbidity = 0.797
shader_parameter/sun_disk_scale = 1.823
shader_parameter/ground_color = Color(1, 1, 1, 1)
shader_parameter/exposure = 0.1
shader_parameter/space_emit = ExtResource("5_ua1c5")
shader_parameter/space_emit_color = Color(0.662745, 0.854902, 1, 1)
shader_parameter/space_emit_angle = 0.0
shader_parameter/space_emit_strength = 0.0
[sub_resource type="Sky" id="Sky_m81e2"]
sky_material = SubResource("ShaderMaterial_jcxn0")
process_mode = 2
radiance_size = 0
[sub_resource type="Environment" id="3"]
background_mode = 2
sky = SubResource("Sky_m81e2")
tonemap_mode = 3
tonemap_white = 6.0
fog_density = 0.25
fog_aerial_perspective = 1.0
[node name="Node3D" type="Node3D"]
transform = Transform3D(1, 0.0003427, -0.00016891, -0.000342464, 0.999999, 0.00143352, 0.000169389, -0.00143346, 0.999999, 0, 0, 0)
script = ExtResource("1_t20f6")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_mqv34")
}
autoplay = "day_night_cycle"
speed_scale = 0.1
[node name="Panel" type="Panel" parent="."]
offset_right = 493.0
offset_bottom = 186.0
grow_horizontal = 2
grow_vertical = 2
[node name="MarginContainer" type="MarginContainer" parent="Panel"]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
theme_override_constants/margin_left = 10
theme_override_constants/margin_top = 10
theme_override_constants/margin_right = 10
theme_override_constants/margin_bottom = 10
[node name="VBoxContainer" type="VBoxContainer" parent="Panel/MarginContainer"]
layout_mode = 2
theme_override_constants/separation = 12
[node name="TimeOfDay" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="Label" type="Label" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
text = "Time of Day"
[node name="HSlider" type="HSlider" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 30.0
step = 0.01
[node name="Value" type="Label" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.15
text = "12:00"
[node name="HSeparator" type="VSeparator" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
[node name="SpeedMinus" type="Button" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
text = " - "
[node name="CurrentSpeed" type="Label" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
text = "1.00×"
[node name="SpeedPlus" type="Button" parent="Panel/MarginContainer/VBoxContainer/TimeOfDay"]
layout_mode = 2
text = " + "
[node name="Clouds" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 10
[node name="CoverageLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
layout_mode = 2
text = "Cloud Coverage"
[node name="CoverageSlider" type="HSlider" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
max_value = 0.99
step = 0.01
value = 0.2
[node name="CoverageValue" type="Label" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
custom_minimum_size = Vector2(33, 0)
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.15
text = "20%"
[node name="HSeparator" type="VSeparator" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
layout_mode = 2
[node name="DensityLabel" type="Label" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
layout_mode = 2
text = "Density"
[node name="DensitySlider" type="HSlider" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_vertical = 1
min_value = 0.01
max_value = 0.99
step = 0.01
value = 0.05
[node name="DensityValue" type="Label" parent="Panel/MarginContainer/VBoxContainer/Clouds"]
custom_minimum_size = Vector2(33, 0)
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.15
text = "5%"
[node name="HSeparator2" type="HSeparator" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
[node name="ProcessMode" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="Label" type="Label" parent="Panel/MarginContainer/VBoxContainer/ProcessMode"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.32
text = "Process Mode"
[node name="OptionButton" type="OptionButton" parent="Panel/MarginContainer/VBoxContainer/ProcessMode"]
layout_mode = 2
size_flags_horizontal = 3
selected = 1
item_count = 3
popup/item_0/text = "High-Quality"
popup/item_0/id = 0
popup/item_1/text = "High-Quality Incremental"
popup/item_1/id = 1
popup/item_2/text = "Real-Time"
popup/item_2/id = 2
[node name="RadianceSize" type="HBoxContainer" parent="Panel/MarginContainer/VBoxContainer"]
layout_mode = 2
theme_override_constants/separation = 20
[node name="Label" type="Label" parent="Panel/MarginContainer/VBoxContainer/RadianceSize"]
layout_mode = 2
size_flags_horizontal = 3
size_flags_stretch_ratio = 0.32
text = "Radiance Size"
[node name="OptionButton" type="OptionButton" parent="Panel/MarginContainer/VBoxContainer/RadianceSize"]
layout_mode = 2
size_flags_horizontal = 3
selected = 0
item_count = 5
popup/item_0/text = "32 (Faster)"
popup/item_0/id = 0
popup/item_1/text = "64 (Fast)"
popup/item_1/id = 1
popup/item_2/text = "128 (Average)"
popup/item_2/id = 2
popup/item_3/text = "256 (Slow)"
popup/item_3/id = 3
popup/item_4/text = "512 (Slowest)"
popup/item_4/id = 4
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("3")
[node name="YawLight" type="Node3D" parent="."]
transform = Transform3D(0.965926, 0, 0.258819, 0, 1, 0, -0.258819, 0, 0.965926, 0, 0, 0)
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="YawLight"]
transform = Transform3D(1.0000002, 0, 0, 0, 0.8065315, 0.5911911, 0, -0.5911912, 0.8065314, -0.000684916, 2, 0.00286704)
light_color = Color(0.87513953, 0.92508376, 0.9344481, 1)
[node name="Spheres" type="Node3D" parent="."]
script = ExtResource("5_00idb")
[node name="RoughnessLabel" type="Label3D" parent="Spheres"]
transform = Transform3D(1, 0.00017379, -0.000511611, 0.00051161, 7.57864e-08, 1, 0.00017379, -1, -1.36206e-08, 0.000828605, 0.500142, 5.70057)
shaded = true
double_sided = false
text = "- Roughness +"
font_size = 64
outline_size = 24
[node name="RoughnessLabel2" type="Label3D" parent="Spheres"]
transform = Transform3D(-1, -0.000172721, -0.000173317, -0.000172821, -0.00286709, 0.999997, -0.000173217, 0.999997, 0.00286705, -0.00110257, 0.516483, -5.69942)
shaded = true
double_sided = false
text = "+ Roughness -"
font_size = 64
outline_size = 24
[node name="MetallicLabel" type="Label3D" parent="Spheres"]
transform = Transform3D(-0.000173158, 1, 0.00109107, -0.00126419, -0.00109129, 0.999999, 1, 0.000171779, 0.00126438, -5.70014, 0.500033, 0.00153612)
shaded = true
double_sided = false
text = "- Metallic +"
font_size = 64
outline_size = 24
[node name="MetallicLabel2" type="Label3D" parent="Spheres"]
transform = Transform3D(0.000172955, -0.999999, -0.001776, 0.00160297, -0.00177572, 0.999998, -1, -0.000175801, 0.00160266, 5.69987, 0.50394, -0.000389313)
shaded = true
double_sided = false
text = "+ Metallic -"
font_size = 64
outline_size = 24
[node name="YawCamera" type="Node3D" parent="."]
[node name="Camera3D" type="Camera3D" parent="YawCamera"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 9)
fov = 65.0
[node name="Help" type="Label" parent="."]
anchors_preset = 2
anchor_top = 1.0
anchor_bottom = 1.0
offset_left = 16.0
offset_top = -39.0
offset_right = 56.0
offset_bottom = -16.0
grow_vertical = 0
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 4
text = "F1: Hide/show GUI
F2: Hide/show spheres
Escape or F10: Toggle mouse capture
Mouse wheel or Up/down: Adjust camera FOV"
[connection signal="value_changed" from="Panel/MarginContainer/VBoxContainer/TimeOfDay/HSlider" to="." method="_on_time_of_day_value_changed"]
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/TimeOfDay/SpeedMinus" to="." method="_on_speed_minus_pressed"]
[connection signal="pressed" from="Panel/MarginContainer/VBoxContainer/TimeOfDay/SpeedPlus" to="." method="_on_speed_plus_pressed"]
[connection signal="value_changed" from="Panel/MarginContainer/VBoxContainer/Clouds/CoverageSlider" to="." method="_on_cloud_coverage_value_changed"]
[connection signal="value_changed" from="Panel/MarginContainer/VBoxContainer/Clouds/DensitySlider" to="." method="_on_cloud_density_value_changed"]
[connection signal="item_selected" from="Panel/MarginContainer/VBoxContainer/ProcessMode/OptionButton" to="." method="_on_process_mode_item_selected"]
[connection signal="item_selected" from="Panel/MarginContainer/VBoxContainer/RadianceSize/OptionButton" to="." method="_on_radiance_size_item_selected"]