天气系统

This commit is contained in:
2025-07-14 11:58:33 +08:00
parent 98de447cb9
commit 106a69c89e
27 changed files with 842 additions and 217 deletions

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=72 format=3 uid="uid://dgh61dttaas5a"]
[gd_scene load_steps=85 format=3 uid="uid://dgh61dttaas5a"]
[ext_resource type="Script" uid="uid://2pt11sfcaxf7" path="res://MainGame.gd" id="1_v3yaj"]
[ext_resource type="Texture2D" uid="uid://du2pyiojliasy" path="res://assets/游戏UI/经验球.webp" id="2_6jgly"]
@@ -53,6 +53,15 @@
[ext_resource type="Texture2D" uid="uid://dswjorjhf1i6f" path="res://assets/灌木丛图片/灌木丛2.webp" id="50_sqnmr"]
[ext_resource type="Texture2D" uid="uid://go3n3qnpancf" path="res://assets/灌木丛图片/灌木丛3.webp" id="51_2i8fe"]
[ext_resource type="Texture2D" uid="uid://dk4yl4ghmxaa2" path="res://assets/天气系统图片/雪花.webp" id="53_4ka7t"]
[ext_resource type="PackedScene" uid="uid://cvg38nsrm77jy" path="res://Scene/Particle/WillowLeafRain.tscn" id="53_nf3jg"]
[ext_resource type="Texture2D" uid="uid://chcgrmluhfxuk" path="res://assets/天气系统图片/樱花1.webp" id="53_tdq2s"]
[ext_resource type="Texture2D" uid="uid://c1qqalp7owgy2" path="res://assets/天气系统图片/栀子花1.webp" id="53_xyeuq"]
[ext_resource type="Texture2D" uid="uid://dfkgmj7e0555q" path="res://assets/天气系统图片/樱花2.webp" id="54_dygjy"]
[ext_resource type="Texture2D" uid="uid://bfducebx4c4il" path="res://assets/天气系统图片/柳叶3.webp" id="54_jiccn"]
[ext_resource type="Texture2D" uid="uid://cd7x78uyi2csh" path="res://assets/天气系统图片/栀子花2.webp" id="54_t4s8j"]
[ext_resource type="Texture2D" uid="uid://dl58ie2lneq77" path="res://assets/天气系统图片/柳叶1.webp" id="55_e8wx8"]
[ext_resource type="Texture2D" uid="uid://q0difb6wjkgm" path="res://assets/天气系统图片/樱花3.webp" id="55_edvcq"]
[ext_resource type="Texture2D" uid="uid://cqqyc3ddwtvpn" path="res://assets/天气系统图片/栀子花3.webp" id="55_iluto"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_5dq3w"]
@@ -110,8 +119,13 @@ shadow_size = 30
[sub_resource type="Environment" id="Environment_m6fch"]
background_mode = 3
ambient_light_energy = 0.0
glow_enabled = true
glow_intensity = 1.0
glow_bloom = 0.3
glow_blend_mode = 0
glow_hdr_threshold = 2.0
volumetric_fog_emission_energy = 281.25
volumetric_fog_gi_inject = 1.38
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_6ylhg"]
border_width_left = 10
@@ -126,44 +140,98 @@ corner_detail = 20
shadow_size = 20
shadow_offset = Vector2(3, 3)
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"]
lifetime_randomness = 1.0
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1, 1, 1)
gravity = Vector3(0, 98, 0)
scale_min = 0.5
scale_max = 0.5
turbulence_enabled = true
[sub_resource type="Curve" id="Curve_4ka7t"]
_data = [Vector2(0, 0.951807), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.0461538, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 4
[sub_resource type="CurveTexture" id="CurveTexture_nf3jg"]
curve = SubResource("Curve_4ka7t")
[sub_resource type="Gradient" id="Gradient_adtqp"]
offsets = PackedFloat32Array(0.52, 0.697143)
colors = PackedColorArray(1, 1, 1, 0.352941, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_5dq3w"]
gradient = SubResource("Gradient_adtqp")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
lifetime_randomness = 0.07
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_tdq2s"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
gravity = Vector3(46, 80, 0)
gravity = Vector3(-30, 80, 0)
scale_min = 0.2
scale_max = 0.3
color_initial_ramp = SubResource("GradientTexture1D_5dq3w")
alpha_curve = SubResource("CurveTexture_nf3jg")
turbulence_enabled = true
turbulence_noise_speed = Vector3(10, 0, 0)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.07
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_dygjy"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
gravity = Vector3(-30, 80, 0)
scale_min = 0.2
scale_max = 0.3
turbulence_enabled = true
turbulence_noise_speed = Vector3(10, 0, 0)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.07
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_e8wx8"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
gravity = Vector3(-30, 80, 0)
scale_min = 0.4
scale_max = 0.5
turbulence_enabled = true
turbulence_noise_speed = Vector3(10, 0, 0)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.07
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_4ka7t"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
gravity = Vector3(-45, 80, 0)
scale_min = 0.4
scale_max = 0.5
turbulence_enabled = true
turbulence_noise_speed = Vector3(10, 0, 0)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.07
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_jiccn"]
lifetime_randomness = 0.6
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
direction = Vector3(0, 1, 0)
spread = 0.0
initial_velocity_min = 100.0
initial_velocity_max = 400.0
gravity = Vector3(0, 98, 0)
scale_min = 4.0
scale_max = 6.0
color = Color(0, 0.380392, 1, 1)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.08
[sub_resource type="Curve" id="Curve_5dq3w"]
_data = [Vector2(0, 0.987952), 0.0, 0.0, 0, 0, Vector2(1e-05, 1), 0.0, 0.0, 0, 0, Vector2(0.0153846, 1), 0.0, 0.0, 0, 0, Vector2(0.838462, 0.253012), -2.16867, -2.16867, 0, 0, Vector2(0.976923, 0), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 7
[sub_resource type="CurveTexture" id="CurveTexture_jiccn"]
curve = SubResource("Curve_5dq3w")
[sub_resource type="Gradient" id="Gradient_e8wx8"]
offsets = PackedFloat32Array(0.372727, 0.718182)
colors = PackedColorArray(0.886, 0.886, 0.886, 0.313, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_tdq2s"]
gradient = SubResource("Gradient_e8wx8")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_nf3jg"]
particle_flag_disable_z = true
emission_shape = 3
emission_box_extents = Vector3(1000, 1, 1)
gravity = Vector3(45, 98, 0)
scale_min = 0.4
scale_max = 0.5
color_initial_ramp = SubResource("GradientTexture1D_tdq2s")
alpha_curve = SubResource("CurveTexture_jiccn")
turbulence_enabled = true
turbulence_noise_speed = Vector3(10, 0, 0)
turbulence_influence_min = 0.02
turbulence_influence_max = 0.07
[node name="main" type="Node"]
script = ExtResource("1_v3yaj")
@@ -1562,9 +1630,9 @@ offset_bottom = -61.0
anchor_mode = 0
position_smoothing_enabled = true
script = ExtResource("10_o8l48")
max_zoom = 2.0
max_zoom = 1.8
bounds_enabled = true
bounds_min = Vector2(-500, -500)
bounds_min = Vector2(-500, -400)
bounds_max = Vector2(500, 500)
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
@@ -4277,27 +4345,125 @@ vertical_alignment = 1
[node name="WeatherSystem" type="Node2D" parent="."]
[node name="CherryBlossomRain" type="Node2D" parent="WeatherSystem"]
visible = false
position = Vector2(934, -469)
[node name="CherryBlossomRain1" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
self_modulate = Color(0.7, 0.7, 0.7, 1)
z_index = 10
position = Vector2(-143, 11)
amount = 50
texture = ExtResource("53_xyeuq")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_tdq2s")
[node name="CherryBlossomRain2" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
self_modulate = Color(0.7, 0.7, 0.7, 1)
z_index = 10
position = Vector2(-143, 11)
amount = 50
texture = ExtResource("54_t4s8j")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_tdq2s")
[node name="CherryBlossomRain3" type="GPUParticles2D" parent="WeatherSystem/CherryBlossomRain"]
self_modulate = Color(0.7, 0.7, 0.7, 1)
z_index = 10
position = Vector2(-143, 11)
amount = 50
texture = ExtResource("55_iluto")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_tdq2s")
[node name="GardeniaRain" type="Node2D" parent="WeatherSystem"]
position = Vector2(759, -370)
[node name="WillowLeafRain1" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
self_modulate = Color(0.9, 0.9, 0.9, 1)
z_index = 10
amount = 50
texture = ExtResource("53_tdq2s")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_dygjy")
[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
self_modulate = Color(0.9, 0.9, 0.9, 1)
z_index = 10
amount = 50
texture = ExtResource("54_dygjy")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_dygjy")
[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/GardeniaRain"]
self_modulate = Color(0.9, 0.9, 0.9, 1)
z_index = 10
amount = 50
texture = ExtResource("55_edvcq")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_dygjy")
[node name="WillowLeafRain" type="Node2D" parent="WeatherSystem"]
visible = false
position = Vector2(882, -469)
[node name="WillowLeafRain1" parent="WeatherSystem/WillowLeafRain" instance=ExtResource("53_nf3jg")]
visible = false
[node name="WillowLeafRain2" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"]
visible = false
self_modulate = Color(0.7, 0.7, 0.7, 1)
z_index = 10
amount = 50
texture = ExtResource("55_e8wx8")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_e8wx8")
[node name="WillowLeafRain3" type="GPUParticles2D" parent="WeatherSystem/WillowLeafRain"]
self_modulate = Color(0.7, 0.7, 0.7, 1)
z_index = 10
amount = 50
texture = ExtResource("54_jiccn")
lifetime = 20.0
preprocess = 10.0
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_4ka7t")
[node name="Rain" type="GPUParticles2D" parent="WeatherSystem"]
visible = false
position = Vector2(-170, -272)
amount = 16
sub_emitter = NodePath(".")
texture = ExtResource("53_4ka7t")
lifetime = 15.0
randomness = 0.5
process_material = SubResource("ParticleProcessMaterial_nf3jg")
z_index = 10
position = Vector2(246, -482)
amount = 450
lifetime = 10.0
preprocess = 20.0
speed_scale = 1.5
visibility_rect = Rect2(-900, 0, 2000, 2000)
trail_lifetime = 0.01
process_material = SubResource("ParticleProcessMaterial_jiccn")
[node name="Snow" type="GPUParticles2D" parent="WeatherSystem"]
z_index = 10
position = Vector2(249, -262)
visible = false
position = Vector2(16, -520)
amount = 300
texture = ExtResource("53_4ka7t")
lifetime = 15.0
lifetime = 18.0
preprocess = 30.0
visibility_rect = Rect2(-900, 0, 2000, 2000)
trail_sections = 2
trail_section_subdivisions = 1
process_material = SubResource("ParticleProcessMaterial_jiccn")
visibility_rect = Rect2(-900, 0, 2300, 2000)
process_material = SubResource("ParticleProcessMaterial_nf3jg")
[node name="DayNightSystem" type="Node2D" parent="."]