From 3abad98e1f755eb50c6bfbb4f6910a0d35e2cc71 Mon Sep 17 00:00:00 2001 From: cakipaul Date: Wed, 18 Jun 2025 21:02:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BA=A2=E8=89=B2=E8=83=8C=E6=99=AF=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gif/c02_红色梦境/c02_红色梦境_frames.tres | 31 +++- .../art/gif/c02_红色梦境/小嘴巴说话_改/0.png | Bin 0 -> 206 bytes .../c02_红色梦境/小嘴巴说话_改/0.png.import | 34 ++++ .../art/gif/c02_红色梦境/小嘴巴说话_改/1.png | Bin 0 -> 268 bytes .../c02_红色梦境/小嘴巴说话_改/1.png.import | 34 ++++ .../art/gif/c02_红色梦境/小嘴巴说话_改/2.png | Bin 0 -> 305 bytes .../c02_红色梦境/小嘴巴说话_改/2.png.import | 34 ++++ .../art/gif/c02_红色梦境/小嘴巴说话_改/3.png | Bin 0 -> 355 bytes .../c02_红色梦境/小嘴巴说话_改/3.png.import | 34 ++++ .../art/gif/c02_红色梦境/小嘴巴说话_改/4.png | Bin 0 -> 378 bytes .../c02_红色梦境/小嘴巴说话_改/4.png.import | 34 ++++ .../art/gif/c02_红色梦境/小嘴巴说话_改/5.png | Bin 0 -> 283 bytes .../c02_红色梦境/小嘴巴说话_改/5.png.import | 34 ++++ .../partical/particals_ash_horizontal.tscn | 12 +- scene/entity/ux/sign.tscn | 1 + scene/ground/scene/c02/s09_animation.gd | 9 + scene/ground/scene/c02/s09_裂缝.tscn | 165 ++++++++++++------ scene/ground/scene/c02/s10_animation.gd | 30 ++-- scene/ground/scene/c02/s10_空房间.tscn | 16 +- scene/ground/script/c02/裂缝议论文字.gd | 8 +- scene/player/main_player.gd | 6 +- scene/player/player_animation_config.gd | 6 + 22 files changed, 400 insertions(+), 88 deletions(-) create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png.import create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/1.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/1.png.import create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png.import create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png.import create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/4.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/4.png.import create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png create mode 100644 asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png.import diff --git a/asset/art/gif/c02_红色梦境/c02_红色梦境_frames.tres b/asset/art/gif/c02_红色梦境/c02_红色梦境_frames.tres index 71bd85fa..366ec7aa 100644 --- a/asset/art/gif/c02_红色梦境/c02_红色梦境_frames.tres +++ b/asset/art/gif/c02_红色梦境/c02_红色梦境_frames.tres @@ -1,4 +1,4 @@ -[gd_resource type="SpriteFrames" load_steps=31 format=3 uid="uid://dxu8w8d8oty65"] +[gd_resource type="SpriteFrames" load_steps=37 format=3 uid="uid://dxu8w8d8oty65"] [ext_resource type="Texture2D" uid="uid://rpn4mftq06xw" path="res://asset/art/gif/c02_红色梦境/小眼睛睁开/0.png" id="1_a71jv"] [ext_resource type="Texture2D" uid="uid://cbjhwihdhavsu" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话/0.png" id="1_hdfk4"] @@ -30,6 +30,12 @@ [ext_resource type="Texture2D" uid="uid://c1gswi82n8wjo" path="res://asset/art/gif/c02_红色梦境/大眼睛动画/2.png" id="19_lluc1"] [ext_resource type="Texture2D" uid="uid://cejnves6646lw" path="res://asset/art/gif/c02_红色梦境/红色背景剪影人物床(指天呼吸)/2.png" id="20_gwken"] [ext_resource type="Texture2D" uid="uid://drxfl0efa72u" path="res://asset/art/gif/c02_红色梦境/红色背景剪影人物床(指天呼吸)/3.png" id="21_bvlmc"] +[ext_resource type="Texture2D" uid="uid://cbjhwihdhavsu" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png" id="24_0k5we"] +[ext_resource type="Texture2D" uid="uid://b7jlo0bith1vd" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/1.png" id="25_g6qp8"] +[ext_resource type="Texture2D" uid="uid://weutdv750wv8" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png" id="26_b20v1"] +[ext_resource type="Texture2D" uid="uid://dwean2yri24xl" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png" id="27_nh0y5"] +[ext_resource type="Texture2D" uid="uid://rk47ys5r8atn" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/4.png" id="28_6h10p"] +[ext_resource type="Texture2D" uid="uid://du8xuuoxdbj3r" path="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png" id="29_dhh4q"] [resource] animations = [{ @@ -128,6 +134,29 @@ animations = [{ "speed": 30.0 }, { "frames": [{ +"duration": 1.0, +"texture": ExtResource("24_0k5we") +}, { +"duration": 1.0, +"texture": ExtResource("25_g6qp8") +}, { +"duration": 1.0, +"texture": ExtResource("26_b20v1") +}, { +"duration": 1.0, +"texture": ExtResource("27_nh0y5") +}, { +"duration": 1.0, +"texture": ExtResource("28_6h10p") +}, { +"duration": 1.0, +"texture": ExtResource("29_dhh4q") +}], +"loop": true, +"name": &"小嘴巴说话_改", +"speed": 5.0 +}, { +"frames": [{ "duration": 6.0, "texture": ExtResource("1_a71jv") }, { diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png new file mode 100644 index 0000000000000000000000000000000000000000..cbca4a498e1c39a994efc2bf067b7f060401dde3 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^#z1Vu!3HEh{(amJq!^2X+?^QKos)S9Y@3e;1E-L9k`D?U_w$FXL#v@U|_Q{*-Rc~T8R|i$bSf9*V8M)Bk xyg}o$Y-G_6e&3}R)}Nc1u{7Xnz6jWKiQNpoeSG};vQ7$s_@1tQF6*2Ung9idO1%I8 literal 0 HcmV?d00001 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png.import b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png.import new file mode 100644 index 00000000..f4c4ab5b --- /dev/null +++ b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbjhwihdhavsu" +path="res://.godot/imported/0.png-6c7c96513589ebe485202b1c9ecdb9f5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/0.png" +dest_files=["res://.godot/imported/0.png-6c7c96513589ebe485202b1c9ecdb9f5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/1.png b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/1.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe376965b4069c007d5d44f7169dccc3f2e031f GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^#z1Vu!3HEh{(amJq!^2X+?^QKos)S9Px#>q$gGRA_kAqYgZ+5i7#`%)7#D~N!-q;p=@EbRa)ETs@a2qATd)KuZ(%#>& zTr)fc>kgjib}H7I!QGJpZ3}z1S!zS8$0?q^j)Bfb73^-<%^IvT;&OkaPF^+lhx1bt zz>&d|vl)<)&{s^&BX6yb<6E-SE}k$Pg9ojS00000NkvXXu0mjf DEq#Hv literal 0 HcmV?d00001 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png.import b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png.import new file mode 100644 index 00000000..30a79bbb --- /dev/null +++ b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://weutdv750wv8" +path="res://.godot/imported/2.png-fd75090538c084505b9ec7b87ffa7b82.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/2.png" +dest_files=["res://.godot/imported/2.png-fd75090538c084505b9ec7b87ffa7b82.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png new file mode 100644 index 0000000000000000000000000000000000000000..778d9f3f209596c25e63ae072e91c517346acbaf GIT binary patch literal 355 zcmV-p0i6DcP)Px$9Z5t%RA_GXo|Fefp_Y@st2Yj>ZA5JCtcgxo^g zu;**!nq4o^QEf&uf{@lyWhP@{B&DaqOqG#NSX0J~WupCJ#vJ44)%uXGPh`N zx2`rY%i}WSt&I0KQGv{oM$4@IFraR(>B*eeHpJE&u%DW#2qX^E7W7h<0G$G>me!z z#T|rn-FDl2{24$eYwDV(Gcz(bX@n3$2qA>r!xtD7I4Ik^q7DE6002ovPDHLkV1nv5 BmUI9B literal 0 HcmV?d00001 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png.import b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png.import new file mode 100644 index 00000000..537e582f --- /dev/null +++ b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwean2yri24xl" +path="res://.godot/imported/3.png-3aabd93dfc48466ef55ea15db08c7900.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/3.png" +dest_files=["res://.godot/imported/3.png-3aabd93dfc48466ef55ea15db08c7900.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/4.png b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/4.png new file mode 100644 index 0000000000000000000000000000000000000000..613c22f3011251dd3e947cb0ef22e472036c8446 GIT binary patch literal 378 zcmV-=0fqjFP)Px$G)Y83RA_pvq$k5nmXQjqDQZSDBE`MC_oGIDbp0WP{%OTr&ErKgo)XAH zZzLjORNkczF(Xx&F>b0B*pN5PYDLlB7{#`}|G?8T*|V0HsaC6*9Y&`V+6deWlhbJ0IR91`<>M_4TRu5|4ZN6 zdx3D;M#hX**h!sCCga`af0?=K->{d(IvcHirQ5dU|EA1mk{@rSz5IUl%W>sJp|J9 literal 0 HcmV?d00001 diff --git a/asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png.import b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png.import new file mode 100644 index 00000000..1a2c0802 --- /dev/null +++ b/asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du8xuuoxdbj3r" +path="res://.godot/imported/5.png-61c4a9f852711fb1b1c42e5937ec0405.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://asset/art/gif/c02_红色梦境/小嘴巴说话_改/5.png" +dest_files=["res://.godot/imported/5.png-61c4a9f852711fb1b1c42e5937ec0405.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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 diff --git a/scene/entity/partical/particals_ash_horizontal.tscn b/scene/entity/partical/particals_ash_horizontal.tscn index b6cf5a12..93e18cbc 100644 --- a/scene/entity/partical/particals_ash_horizontal.tscn +++ b/scene/entity/partical/particals_ash_horizontal.tscn @@ -109,32 +109,32 @@ color_ramp = SubResource("GradientTexture1D_5cty7") [node name="white" type="GPUParticles2D" parent="."] amount = 150 -process_material = SubResource("ParticleProcessMaterial_44bc2") texture = ExtResource("1_lv5jb") lifetime = 200.0 preprocess = 100.0 -speed_scale = 2.0 +speed_scale = 3.0 visibility_rect = Rect2(0, -130, -5000, 260) trail_sections = 16 +process_material = SubResource("ParticleProcessMaterial_44bc2") metadata/_edit_vertical_guides_ = [-721.0] [node name="grey" type="GPUParticles2D" parent="."] amount = 200 -process_material = SubResource("ParticleProcessMaterial_3xiox") texture = ExtResource("2_wgqpb") lifetime = 200.0 preprocess = 100.0 -speed_scale = 2.0 +speed_scale = 3.0 visibility_rect = Rect2(0, -130, -5000, 260) trail_sections = 16 +process_material = SubResource("ParticleProcessMaterial_3xiox") [node name="black" type="GPUParticles2D" parent="."] amount = 180 -process_material = SubResource("ParticleProcessMaterial_wa8gc") texture = ExtResource("3_abc1v") lifetime = 200.0 preprocess = 100.0 -speed_scale = 2.0 +speed_scale = 3.0 visibility_rect = Rect2(0, -130, -5000, 260) trail_enabled = true trail_sections = 16 +process_material = SubResource("ParticleProcessMaterial_wa8gc") diff --git a/scene/entity/ux/sign.tscn b/scene/entity/ux/sign.tscn index f8e5de84..ce14a018 100644 --- a/scene/entity/ux/sign.tscn +++ b/scene/entity/ux/sign.tscn @@ -24,6 +24,7 @@ mouse_filter = 2 [node name="Sprite2D" type="Sprite2D" parent="TextureContainer"] unique_name_in_owner = true light_mask = 16 +z_index = 100 position = Vector2(3.8147e-06, 3.8147e-06) scale = Vector2(0.1, 0.1) texture = ExtResource("2_y564w") diff --git a/scene/ground/scene/c02/s09_animation.gd b/scene/ground/scene/c02/s09_animation.gd index 174eef6c..bdc60f3b 100644 --- a/scene/ground/scene/c02/s09_animation.gd +++ b/scene/ground/scene/c02/s09_animation.gd @@ -13,7 +13,14 @@ func _ready() -> void: return +var eye_light +var eye_light_energy + + func _on_ground_ready() -> void: + eye_light = $"../AmbientLayer/PointLight2D眼睛打光" + eye_light_energy = eye_light.energy + eye_light.energy = 0 var counter = $"../DeployLayer/空房间残留物/柜子" # counter 默认在 s10 中 x 为 364.0 if ArchiveManager.get_global_value("c02_counter_pushed_out"): @@ -78,6 +85,8 @@ func _on_player_position_updated(global_pos: Vector2) -> void: func _start_blinking(): var tween = create_tween() tween.tween_callback(_blink_eye) + tween.tween_property(eye_light, "energy", 0, 0.1) + tween.tween_property(eye_light, "energy", eye_light_energy, 0.2) tween.tween_interval(3.5) tween.set_loops(10000) diff --git a/scene/ground/scene/c02/s09_裂缝.tscn b/scene/ground/scene/c02/s09_裂缝.tscn index 94122971..53db3248 100644 --- a/scene/ground/scene/c02/s09_裂缝.tscn +++ b/scene/ground/scene/c02/s09_裂缝.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=52 format=4 uid="uid://ryups1dnwdto"] +[gd_scene load_steps=56 format=4 uid="uid://ryups1dnwdto"] [ext_resource type="PackedScene" uid="uid://dayyx4jerj7io" path="res://scene/ground/ground.tscn" id="1_o0m5w"] [ext_resource type="Script" uid="uid://beqnywn1dlnax" path="res://scene/ground/scene/c02/s09_animation.gd" id="2_34a6f"] @@ -33,6 +33,7 @@ [ext_resource type="PackedScene" uid="uid://b50n0hvs4yh75" path="res://addons/property-inspector/pro_animation_sprite2d/pro_animated_sprite.tscn" id="20_drmtd"] [ext_resource type="SpriteFrames" uid="uid://dxu8w8d8oty65" path="res://asset/art/gif/c02_红色梦境/c02_红色梦境_frames.tres" id="21_kpfk1"] [ext_resource type="Script" uid="uid://cuh2rwewoav3n" path="res://scene/ground/script/c02/s09_锅浮动.gd" id="26_0bx1l"] +[ext_resource type="Texture2D" uid="uid://b7gyapghy3tsy" path="res://asset/art/neutral_point_light.png" id="32_dv46s"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_rbu7p"] shader = ExtResource("5_0fmdd") @@ -107,6 +108,9 @@ animations = [{ [sub_resource type="RectangleShape2D" id="RectangleShape2D_enajl"] size = Vector2(65, 20) +[sub_resource type="OccluderPolygon2D" id="OccluderPolygon2D_dv46s"] +polygon = PackedVector2Array(4535, 37, 2806, 38, 115, 31, 95, 7, 115, -16, 150, 15, 2626, 24, 2840, 30, 4534, 32, 4548, 33, 4548, 36) + [sub_resource type="Gradient" id="Gradient_f0w8c"] interpolation_mode = 2 offsets = PackedFloat32Array(0, 0.142857, 0.249216, 1) @@ -120,19 +124,19 @@ fill_to = Vector2(1, 0.143603) [sub_resource type="Gradient" id="Gradient_4ua5q"] interpolation_mode = 2 -offsets = PackedFloat32Array(0, 0.0840336, 0.27451, 0.879444, 0.893354, 1) -colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0.713726, 1, 1, 1, 1.1262, 1, 1, 1, 0.701961, 1, 1, 1, 0, 1, 1, 1, 0) +offsets = PackedFloat32Array(0, 0.179567, 0.44582, 0.727554, 0.893354, 1) +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1.1262, 1, 1, 1, 0.701961, 1, 1, 1, 0, 1, 1, 1, 0) [sub_resource type="GradientTexture2D" id="GradientTexture2D_f0w8c"] gradient = SubResource("Gradient_4ua5q") -width = 3800 +width = 500 height = 200 -fill_from = Vector2(0, 0.902062) -fill_to = Vector2(1, 1) +fill_from = Vector2(0, 0.629845) +fill_to = Vector2(0.784238, 1) [sub_resource type="Gradient" id="Gradient_4alth"] interpolation_mode = 2 -offsets = PackedFloat32Array(0, 0.592879) +offsets = PackedFloat32Array(0, 0.758514) colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 2.00392) [sub_resource type="GradientTexture2D" id="GradientTexture2D_dv46s"] @@ -154,6 +158,18 @@ height = 200 fill_from = Vector2(0, 0.5) fill_to = Vector2(1, 0.5) +[sub_resource type="Gradient" id="Gradient_xkmad"] +offsets = PackedFloat32Array(0, 0.713622, 1) +colors = PackedColorArray(1, 1, 1, 1, 0.831373, 0.831373, 0.831373, 0, 1, 1, 1, 0) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_xbdgx"] +gradient = SubResource("Gradient_xkmad") +width = 500 +height = 200 +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(1, 1) + [node name="S09" type="Node2D"] metadata/_edit_horizontal_guides_ = [-120.0] @@ -191,7 +207,7 @@ metadata/_custom_type_script = "uid://rq6w1vuhuq1m" texture = ExtResource("6_87wfh") [node name="眼睛背景" type="Sprite2D" parent="Ground/BGSprite2D" index="0"] -light_mask = 4 +light_mask = 36 position = Vector2(2268, 0) texture = ExtResource("7_76qsd") @@ -278,13 +294,13 @@ angle_range = 1.29 position = Vector2(1529, 125) [node name="眼睛前景" type="Sprite2D" parent="Ground/BGSprite2D" index="2"] -light_mask = 4 +light_mask = 36 z_index = 2 position = Vector2(2268, 0) texture = ExtResource("7_wkhnu") [node name="眨眼" type="AnimatedSprite2D" parent="Ground/BGSprite2D" index="3"] -light_mask = 5 +light_mask = 36 z_index = 2 position = Vector2(1559, -51) sprite_frames = ExtResource("21_kpfk1") @@ -310,7 +326,7 @@ target_portal = "right" matched_sign_texture = null [node name="portal_right" parent="Ground/DeployLayer" index="1"] -position = Vector2(3750, 83) +position = Vector2(4361, 61) matched_sign_texture = null [node name="黑影" type="Sprite2D" parent="Ground/DeployLayer" index="2"] @@ -321,7 +337,7 @@ texture = ExtResource("11_kpfk1") [node name="麻绳" type="MeshInstance2D" parent="Ground/DeployLayer" index="3"] unique_name_in_owner = true -light_mask = 33 +light_mask = 0 z_index = 6 material = SubResource("ShaderMaterial_rbu7p") position = Vector2(1480, 25) @@ -475,60 +491,43 @@ label_rotation = 0.5 [node name="嘴巴右侧" type="Node2D" parent="Ground/DeployLayer" index="6"] position = Vector2(754, 12) -[node name="嘴巴说话" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] -visible = false -position = Vector2(1888, -26) -rotation = 0.201929 -sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" - -[node name="嘴巴说话2" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] -visible = false -position = Vector2(1822, -51) -rotation = -0.164957 -sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" -speed_scale = 1.02 - [node name="嘴巴说话3" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] position = Vector2(1246, -53) rotation = 0.118359 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 1.07 [node name="嘴巴说话4" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] position = Vector2(1217.4, -80.1638) rotation = -0.171688 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" [node name="嘴巴说话5" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] position = Vector2(1437, -41) rotation = -0.265883 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.92 [node name="嘴巴说话6" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] position = Vector2(1562, -69) rotation = -0.0407933 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.9 [node name="嘴巴说话7" type="AnimatedSprite2D" parent="Ground/DeployLayer/嘴巴右侧"] position = Vector2(1813, -71) rotation = 0.154841 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.97 [node name="小眼睛右侧" type="Node2D" parent="Ground/DeployLayer" index="7"] @@ -603,8 +602,8 @@ speed_scale = 1.05 position = Vector2(1728.3, -47.705) rotation = -0.0375123 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.97 [node name="小眼睁开6" type="AnimatedSprite2D" parent="Ground/DeployLayer/左侧小眼睛嘴巴"] @@ -627,8 +626,8 @@ speed_scale = 0.93 position = Vector2(1544, -56.9999) rotation = 2.56032 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.92 [node name="小眼睁开4" type="AnimatedSprite2D" parent="Ground/DeployLayer/左侧小眼睛嘴巴"] @@ -651,8 +650,8 @@ speed_scale = 0.92 position = Vector2(1257, -76) rotation = 1.13545 sprite_frames = ExtResource("21_kpfk1") -animation = &"小嘴巴说话" -autoplay = "小嘴巴说话" +animation = &"小嘴巴说话_改" +autoplay = "小嘴巴说话_改" speed_scale = 0.9 [node name="坍塌" type="Node2D" parent="Ground/DeployLayer" index="9"] @@ -734,7 +733,7 @@ position = Vector2(536, 1) sprite_frames = SubResource("SpriteFrames_71bf1") [node name="上下浮动的锅" type="Sprite2D" parent="Ground/DeployLayer" index="16"] -light_mask = 5 +light_mask = 7 position = Vector2(2443, -101) texture = ExtResource("15_4ua5q") script = ExtResource("26_0bx1l") @@ -798,39 +797,89 @@ texture = ExtResource("10_ow44k") position = Vector2(0, 21) shape = SubResource("RectangleShape2D_enajl") -[node name="PointLight2D右侧空房间" type="PointLight2D" parent="Ground/AmbientLayer" index="0"] +[node name="LightOccluder2D" type="LightOccluder2D" parent="Ground/AmbientLayer" index="0"] +occluder = SubResource("OccluderPolygon2D_dv46s") +occluder_light_mask = 47 + +[node name="PointLight2D右侧空房间" type="PointLight2D" parent="Ground/AmbientLayer" index="1"] position = Vector2(3810, -59) energy = 0.1 blend_mode = 1 texture = SubResource("GradientTexture2D_26xv7") -[node name="PointLight2D红色打光" type="PointLight2D" parent="Ground/AmbientLayer" index="1"] +[node name="PointLight2D红色打光" type="PointLight2D" parent="Ground/AmbientLayer" index="2"] position = Vector2(1325, -65) -energy = 1.84 +energy = 0.2 range_item_cull_mask = 4 texture = SubResource("GradientTexture2D_f0w8c") -[node name="PointLight2D红色下边压暗" type="PointLight2D" parent="Ground/AmbientLayer" index="2"] -position = Vector2(1277, 58) +[node name="PointLight2D红色边缘打光" type="PointLight2D" parent="Ground/AmbientLayer" index="3"] +position = Vector2(2863, -108) +energy = 0.6 +range_item_cull_mask = 4 +texture = ExtResource("16_k15h1") + +[node name="PointLight2D红色下边压暗" type="PointLight2D" parent="Ground/AmbientLayer" index="4"] +position = Vector2(1274, 44) +energy = 0.6 blend_mode = 1 range_item_cull_mask = 4 texture = SubResource("GradientTexture2D_dv46s") -[node name="PointLight2D老鼠压暗" type="PointLight2D" parent="Ground/AmbientLayer" index="3"] +[node name="PointLight2D老鼠压暗" type="PointLight2D" parent="Ground/AmbientLayer" index="5"] position = Vector2(260, -55) -energy = 1.8 +energy = 0.2 blend_mode = 1 range_item_cull_mask = 36 texture = SubResource("GradientTexture2D_fgtii") -[node name="ParticalsAsh" parent="Ground/AmbientLayer" index="4" instance=ExtResource("7_4a1t6")] +[node name="PointLight2D眼睛打光" type="PointLight2D" parent="Ground/AmbientLayer" index="6"] +position = Vector2(1564, -54) +color = Color(0.955664, 0.335062, 0.346781, 1) +energy = 1.7 +range_item_cull_mask = 5 +texture = SubResource("GradientTexture2D_xbdgx") + +[node name="PointLight2D锅打光" type="PointLight2D" parent="Ground/AmbientLayer" index="7"] +position = Vector2(2447, -69) +range_item_cull_mask = 2 +texture = ExtResource("32_dv46s") +texture_scale = 1.5 + +[node name="PointLight2D独立打光" type="PointLight2D" parent="Ground/AmbientLayer" index="8"] +position = Vector2(2440, -45) +color = Color(0.854488, 0.195138, 0.240125, 1) +range_item_cull_mask = 32 +texture = ExtResource("32_dv46s") + +[node name="PointLight2D独立打光3" type="PointLight2D" parent="Ground/AmbientLayer" index="9"] +position = Vector2(669, -45) +color = Color(0.854488, 0.195138, 0.240125, 1) +energy = 1.9 +range_item_cull_mask = 5 +texture = ExtResource("32_dv46s") + +[node name="PointLight2D独立打光4" type="PointLight2D" parent="Ground/AmbientLayer" index="10"] +position = Vector2(318, -36) +color = Color(0.854488, 0.195138, 0.240125, 1) +energy = 2.5 +range_item_cull_mask = 5 +texture = ExtResource("32_dv46s") + +[node name="ParticalsAsh" parent="Ground/AmbientLayer" index="11" instance=ExtResource("7_4a1t6")] position = Vector2(1091, 1) -[node name="ParticalsAsh2" parent="Ground/AmbientLayer" index="5" instance=ExtResource("7_4a1t6")] +[node name="ParticalsAsh2" parent="Ground/AmbientLayer" index="12" instance=ExtResource("7_4a1t6")] position = Vector2(1715, 5) -[node name="ParticalsAsh3" parent="Ground/AmbientLayer" index="6" instance=ExtResource("7_4a1t6")] -position = Vector2(2574, -5) +[node name="ParticalsAsh3" parent="Ground/AmbientLayer" index="13" instance=ExtResource("7_4a1t6")] +position = Vector2(2622, -9) + +[node name="ParticalsAsh5" parent="Ground/AmbientLayer" index="14" instance=ExtResource("7_4a1t6")] +position = Vector2(2782, -7) + +[node name="ParticalsAsh4" parent="Ground/AmbientLayer" index="15" instance=ExtResource("7_4a1t6")] +position = Vector2(2987, -12) [node name="MainPlayer" parent="Ground" index="4"] position = Vector2(4461, 115) @@ -851,7 +900,7 @@ texture = ExtResource("6_nntqg") position = Vector2(3421, 25) [node name="PlayerLine2D" parent="Ground/ParallaxForeground" index="2"] -points = PackedVector2Array(80, 150, 3850, 150) +points = PackedVector2Array(80, 150, 4500.93, 150) [node name="DirectionalLight2D" parent="Ground" index="8"] visible = false diff --git a/scene/ground/scene/c02/s10_animation.gd b/scene/ground/scene/c02/s10_animation.gd index 01d35482..78a9b104 100644 --- a/scene/ground/scene/c02/s10_animation.gd +++ b/scene/ground/scene/c02/s10_animation.gd @@ -28,6 +28,7 @@ var catty_head: Pickable2D var door: Portal2D var portal: Portal2D + func _on_ground_ready() -> void: xiao_chan_sprite = $"../DeployLayer/大头小蝉" xiao_chan_interactable = $"../DeployLayer/Interactable小蝉" @@ -40,7 +41,7 @@ func _on_ground_ready() -> void: # 进过瞎子卧室后,通道关闭 if ArchiveManager.get_global_value("c02_the_blind_room_unlocked"): # 遮挡的空房间 - $"../BGSprite2D".texture = preload("uid://ba57knu57jp3u") + $"../BGSprite2D".texture = preload("uid://ba57knu57jp3u") door.before_pre_transport_wait.connect(_on_leave_room) @@ -175,20 +176,19 @@ func after_counter_moved(): func _on_pick_catty_head() -> void: + if SceneManager.has_prop("prop_无头小猫玩具"): + var inspector = SceneManager.get_inspector() + await inspector.quit_and_hidden + # 将小猫头与身子合并 + SceneManager.disable_prop_item("prop_小猫玩具的脑袋") + SceneManager.disable_prop_item("prop_无头小猫玩具") + SceneManager.enable_prop_item_silently("prop_小猫玩具完整") + var sprite = $"../DeployLayer/拼接小猫玩具" + sprite.visible = true + sprite.play() + await sprite.animation_finished + sprite.visible = false + SceneManager.enable_prop_item("prop_小猫玩具完整") # 进过瞎子卧室后,通道关闭 if not ArchiveManager.get_global_value("c02_the_blind_room_unlocked"): portal.enabled = true - if not SceneManager.has_prop("prop_无头小猫玩具"): - return - var inspector = SceneManager.get_inspector() - await inspector.quit_and_hidden - # 将小猫头与身子合并 - SceneManager.disable_prop_item("prop_小猫玩具的脑袋") - SceneManager.disable_prop_item("prop_无头小猫玩具") - SceneManager.enable_prop_item_silently("prop_小猫玩具完整") - var sprite = $"../DeployLayer/拼接小猫玩具" - sprite.visible = true - sprite.play() - await sprite.animation_finished - sprite.visible = false - SceneManager.enable_prop_item("prop_小猫玩具完整") diff --git a/scene/ground/scene/c02/s10_空房间.tscn b/scene/ground/scene/c02/s10_空房间.tscn index 09f47cba..190bc72a 100644 --- a/scene/ground/scene/c02/s10_空房间.tscn +++ b/scene/ground/scene/c02/s10_空房间.tscn @@ -194,12 +194,24 @@ mute_when_interacted = false visible = false light_mask = 32 z_index = 10 -position = Vector2(291, -7.15256e-07) +position = Vector2(282, -7.15256e-07) sprite_frames = ExtResource("15_2j5dr") animation = &"小猫玩具合并动画" -[node name="Sprite2D" type="Sprite2D" parent="Ground/DeployLayer/拼接小猫玩具"] +[node name="Sprite2D" type="TextureRect" parent="Ground/DeployLayer/拼接小猫玩具"] show_behind_parent = true +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -339.5 +offset_top = -171.5 +offset_right = 224.5 +offset_bottom = 68.5 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 0 texture = ExtResource("14_e24j0") [node name="PointLight2D" type="PointLight2D" parent="Ground/DeployLayer/拼接小猫玩具"] diff --git a/scene/ground/script/c02/裂缝议论文字.gd b/scene/ground/script/c02/裂缝议论文字.gd index f9567c57..e6b4319d 100644 --- a/scene/ground/script/c02/裂缝议论文字.gd +++ b/scene/ground/script/c02/裂缝议论文字.gd @@ -30,10 +30,10 @@ func _on_area_entered(_body): label.visible = true await get_tree().create_timer(randf()).timeout var tween = create_tween() - tween.tween_property(label, "position:y", 3.0, 0.5).set_trans(Tween.TRANS_BOUNCE) - tween.tween_property(label, "position:y", 0.0, 0.5).set_trans(Tween.TRANS_BOUNCE) - tween.set_loops(1000000) - + tween.tween_property(label, "position:y", 3.0, 0.6).set_trans(Tween.TRANS_BOUNCE) + tween.tween_property(label, "position:y", 0.0, 0.6).set_trans(Tween.TRANS_BOUNCE) + tween.set_loops(10) + create_tween().tween_property(label, "modulate:a", 0.0, 8.0) func _update_text(): label.text = "[pulse ease=2.0 freq=2 color=#000000cf] " + tr(key) diff --git a/scene/player/main_player.gd b/scene/player/main_player.gd index 109a1419..73097a1d 100644 --- a/scene/player/main_player.gd +++ b/scene/player/main_player.gd @@ -156,7 +156,7 @@ func _play_animation() -> void: sprite.offset = current_animation_config["foot_offset"] sprite.scale = current_animation_config["scale"] # reset the os label position on animation changed. - _reset_os_and_shadow_position() + _reset_os_and_light_position() # 检查动画基础偏移 check_foot_offset() # 进一步偏移+播放动画 @@ -364,13 +364,15 @@ func set_facing_direction(direction: Vector2) -> void: # animation_shadow_polygons[animation] = coords_dict -func _reset_os_and_shadow_position(): +func _reset_os_and_light_position(): if sprite and sprite.animation: # reset the os label position # var texture = sprite.sprite_frames.get_frame_texture(sprite.animation, 0) as Texture2D # var size = texture.get_size() # os_pivot.position.y = -size.y * 0.5 * sprite.scale.x os_pivot.position.y = -abs(current_animation_config["os_height"]) + light.position.y = -abs(current_animation_config["light_height"]) + catty_light.position.y = -abs(current_animation_config["light_height"]) # reset the shadow position # shadow_y = size.y * 0.5 diff --git a/scene/player/player_animation_config.gd b/scene/player/player_animation_config.gd index 830e0e79..b93867cb 100644 --- a/scene/player/player_animation_config.gd +++ b/scene/player/player_animation_config.gd @@ -21,6 +21,7 @@ var ANIMATION_CONFIG = { "run_footstep": 7.0 / 10.0 / 2.0, # 内心 os 时,dialogue 的高度 "os_height": 120.0, + "light_height": 60.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 "foot_offset": Vector2(0, -100), MOVEMENT_IDLE: [&"c00_吕萍_idle_left", &"c00_吕萍_idle_right"], @@ -54,6 +55,7 @@ var ANIMATION_CONFIG = { "walk_footstep": 0.7, "run_footstep": 0.7, "os_height": 50.0, + "light_height": 20.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 # 吕萍爬行高 59px "foot_offset": Vector2(0, -23.5), @@ -71,6 +73,7 @@ var ANIMATION_CONFIG = { "walk_footstep": 0.5, "run_footstep": 0.5, "os_height": 120.0, + "light_height": 60.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 "foot_offset": Vector2(0, -100), MOVEMENT_IDLE: [&"c00_吕萍带小猫_idle_left", &"c00_吕萍带小猫_idle_right"], @@ -86,6 +89,7 @@ var ANIMATION_CONFIG = { "walk_footstep": 0.5, "run_footstep": 0.5, "os_height": 120.0, + "light_height": 65.0, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 "foot_offset": Vector2(22.5, -101), MOVEMENT_IDLE: [&"c00_吕萍_拉箱子呼吸_镜像", &"c00_吕萍_拉箱子呼吸_镜像"], @@ -115,6 +119,7 @@ var ANIMATION_CONFIG = { "walk_footstep": 0.5, "run_footstep": 7.0 / 10.0 / 2.0, "os_height": 70.0, + "light_height": 40.0, # 如果使用 auto,就会自动以最低点为基准 # "auto_foot_offset": true, # 人物脚底 offset,吕萍为 0,高 200px,足底在 100px 处 @@ -145,6 +150,7 @@ var ANIMATION_CONFIG = { "walk_footstep": 0.5, "run_footstep": 7.0 / 10.0 / 2.0, "os_height": 70.0, + "light_height": 20.0, # 如果使用 auto,就会自动以最低点为基准 # "auto_foot_offset": true, "foot_offset": Vector2(0, -68.0),