From 42ec80f0985bd087ded8296cb6e2b7488ca8d50e Mon Sep 17 00:00:00 2001 From: Rob Kelly Date: Sat, 19 Apr 2025 20:04:54 -0600 Subject: [PATCH] Lighting tweaks --- assets/materials/grunk_jittery.material | Bin 1089 -> 1090 bytes levels/ghost_ship/environment_3.tres | 9 +++ levels/ghost_ship/ghost_ship_level.tscn | 8 +++ src/effects/grunk_splatter.tscn | 2 +- src/game/game_manager.gd | 6 ++ src/player/player.tscn | 2 +- src/props/overhead_light/overhead_light.tscn | 1 + src/props/text_terminal/text_terminal.tscn | 1 + src/props/wall_switch/wall_switch.tscn | 2 + src/world/grunk_beast/grunk_beast.tscn | 4 +- .../slutch_beast/slutch_beast.tscn | 1 + src/world/mechanics/alarm/gunk_alarm.tscn | 62 +++++++++--------- 12 files changed, 63 insertions(+), 35 deletions(-) diff --git a/assets/materials/grunk_jittery.material b/assets/materials/grunk_jittery.material index e4450f66e773718dc8068ea66a0601904b61553a..36f6706071f18ee25da0994e192b651ea28001b5 100644 GIT binary patch delta 1080 zcmV-81jqZq2*L;;Qd2`i0ssI201yBG#|i)dDg*!kD77#BV8;msAplnGksup?$7EZx zWWO`nn{K&{SV=qS$nsHDcZ-?~tex*LN@wXB|JPc7wX1fw%zr%o6m!q&vTm|B`kJe_&D&t~wwdkcAQtjItSLR;Jt+mX(%W4`c_iAUe>jRjUth-Ti8!IsItfh%( zKd$oX&Bz;NnYFuJYu_7DOd2no-RU))d~M8LW!XvDP@9x{+Kk-GQCFLPU9WvvuUtMO zYpokA&knLgaN8=rkQR7ztqXa;Z`;#}w&3ix>m6-<k)9@`bA<}_=Qzx$B<}A%bX&tREueW$*SjuKa zuEF1=0YD^5kWj%~8g{PpBg*+RV8CwRU_V~3myEx3bAjaJ8euyubog(By-*QEs0Pc5 z3Yd^r3<{VIoc|MkhSUK4$5^O_k4u8j>lGsc=K6bh@EGDiB!`QCAHvKZ^Fs39b<*Ra zNFBlckC=@7ClP(rs-vOD7H>3V##fR%={%T}okP}5>NNCH3R+7q2!}-C5wW2gQPP4V zK7h}tVYO0dMuwyy1qI1)Py!*O$c!5jpmQk;tDNMTo;9eOvAFYVp zXYeXZZO^9nll5$W$IZbEUzunDpgle0ll?U1grNtJ_vAR;+7U$?6gco$9hP9=DoJ>#<#ueSGdL$p*RUL0P`P1AmlvK;qeFG7IF#qEPTdc&}Z7aP>M zG|so9v==DKyt{a$wHKGF${{LCI%A1VDAwHQ{c#~6(EUNkH!1wDIL^{%gLgIFxP#5Z zm3Tx`Cmd3LoFQkQ1@ofn_)8s6Pm*6iPjZ_GsQUy6!N$mya9}4&+P3G8$P)Rh3rIYk zOk-+@A0v9j)!<7C1;JlNo4raZ`iJN&qrU#OTAjNMA%k0Kc_WGjg3> zlolKH|KzBf#Z_-SRo=6qee^zm$&kv|uy)jT{omlf&S`d#sK{}_JmXQqz@W1K<+bbWJ$1E5=qB)J()Sp+9dh4Sk_iik<4kv$Ld>K z1@mBPygiP$_wtnG?WJaar)Aw*){>!ps*WY5GsSu*g|Im*Gf`ScYs>2`UKp0LS&?(_ zH)*s1J|jqsNWokia*op@y7@I^z-riFJzlRDj8Y8-5|3+y<+$MCKMmF*#Sb7GzXc4) z>qP|&hs}QqJwaxC{$mU@gU2<2=k4f0Wi6B|A5pTN& zfX}E=wNhwihNK_`1<7zw0wJWxj2jYwb14j>2qlUjfry-tl&GLmn05moukJSqtq97e z^=eB&&pzT4^j*h)y@LnQG9dxHKi%b1*EHR{p$Eo<8}^+LaQ(U7cYIt96viIv%Wvc) z*#b_3dUC-BDMXpLrNtojEt9Cz9+IDPT-$&1J=XOnDq{*zw1gNa{*Q&r&Ek0qeMWr-m=$N#ezMS$bt%7cTwVeG^U8|yq` z&*y>K%NFI{Ts+d+i+NS;0F^bJvBbs{YuM<$xR4=`r$OkOEc}}|&eCUtS2kX_XP<|G zctlet9A=z+ zqiTp7BYVZ=;7baH!5>DOze*_j$LK7hzW&x)ox2Gkt6qyd0&nJq*)PtKJQ1)%2+w!Q xDV(6}!k6m~Rncgm8zE9oeRndOstQ8(A{3r+sgqX@Q>7>x?#vw2wF6R9LqqDm6E*+< diff --git a/levels/ghost_ship/environment_3.tres b/levels/ghost_ship/environment_3.tres index 7b96bd8..d665354 100644 --- a/levels/ghost_ship/environment_3.tres +++ b/levels/ghost_ship/environment_3.tres @@ -28,10 +28,19 @@ ssao_enabled = true ssao_intensity = 2.5 ssil_enabled = true ssil_radius = 0.4 +ssil_intensity = 2.5 +ssil_normal_rejection = 0.73 sdfgi_enabled = true sdfgi_cascades = 7 glow_enabled = true +glow_levels/1 = 16.0 +glow_levels/2 = 6.0 +glow_levels/3 = 2.0 +glow_levels/4 = 1.0 +glow_levels/6 = 2.0 +glow_levels/7 = 2.0 glow_strength = 0.7 +glow_bloom = 0.01 glow_blend_mode = 0 fog_light_color = Color(0, 0, 0, 1) fog_density = 0.2 diff --git a/levels/ghost_ship/ghost_ship_level.tscn b/levels/ghost_ship/ghost_ship_level.tscn index 4da4b47..7b7afa2 100644 --- a/levels/ghost_ship/ghost_ship_level.tscn +++ b/levels/ghost_ship/ghost_ship_level.tscn @@ -1665,6 +1665,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) [node name="AirlockSign" type="MeshInstance3D" parent="BeastNav/Corridor1/Hallway1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_anoak") [node name="GunkBody" parent="BeastNav/Corridor1/Hallway1/AirlockSign" instance=ExtResource("2_2egij")] @@ -1813,6 +1814,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3, [node name="MessHallSign" type="MeshInstance3D" parent="BeastNav/Corridor1/Hallway4"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_sux6n") [node name="GunkBody" parent="BeastNav/Corridor1/Hallway4/MessHallSign" instance=ExtResource("2_2egij")] @@ -2328,6 +2330,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.2) [node name="MessHallSign" type="MeshInstance3D" parent="BeastNav/Corridor2/Hallway1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_w13dd") [node name="GunkBody" parent="BeastNav/Corridor2/Hallway1/MessHallSign" instance=ExtResource("2_2egij")] @@ -2364,6 +2367,7 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3, [node name="CrewQuartersSign" type="MeshInstance3D" parent="BeastNav/Corridor2/Hallway2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_f0psm") [node name="GunkBody" parent="BeastNav/Corridor2/Hallway2/CrewQuartersSign" instance=ExtResource("2_2egij")] @@ -3171,6 +3175,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) [node name="CrewQuartersSign" type="MeshInstance3D" parent="BeastNav/Corridor3/Hallway"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_v4tkv") [node name="GunkBody" parent="BeastNav/Corridor3/Hallway/CrewQuartersSign" instance=ExtResource("2_2egij")] @@ -3203,6 +3208,7 @@ transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.4, [node name="OpsSign" type="MeshInstance3D" parent="BeastNav/Corridor3/Hallway2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5) +gi_mode = 2 mesh = SubResource("ArrayMesh_v0ki8") [node name="GunkBody" parent="BeastNav/Corridor3/Hallway2/OpsSign" instance=ExtResource("2_2egij")] @@ -3465,6 +3471,7 @@ label = "SWITCH_BULKHEAD_LABEL" [node name="MedbaySign" type="MeshInstance3D" parent="BeastNav/Corridor3/ShortHallway3"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, 0) +gi_mode = 2 mesh = SubResource("ArrayMesh_dspic") [node name="GunkBody" parent="BeastNav/Corridor3/ShortHallway3/MedbaySign" instance=ExtResource("2_2egij")] @@ -3627,6 +3634,7 @@ shape = SubResource("ConcavePolygonShape3D_ncghj") [node name="CargoBaySign" type="MeshInstance3D" parent="BeastNav/Corridor3/ShortHallway6"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 0, 3, 0) +gi_mode = 2 mesh = SubResource("ArrayMesh_rigxx") [node name="GunkBody" parent="BeastNav/Corridor3/ShortHallway6/CargoBaySign" instance=ExtResource("2_2egij")] diff --git a/src/effects/grunk_splatter.tscn b/src/effects/grunk_splatter.tscn index d8453d2..f1d7ec3 100644 --- a/src/effects/grunk_splatter.tscn +++ b/src/effects/grunk_splatter.tscn @@ -132,7 +132,7 @@ autostart = true [node name="SplatterSFX" type="AudioStreamPlayer3D" parent="."] stream = SubResource("AudioStreamRandomizer_6adkd") -volume_db = -10.0 +volume_db = -16.0 unit_size = 6.0 autoplay = true bus = &"SFX" diff --git a/src/game/game_manager.gd b/src/game/game_manager.gd index 2feb98e..70c7808 100644 --- a/src/game/game_manager.gd +++ b/src/game/game_manager.gd @@ -151,3 +151,9 @@ func _on_milestone(milestone: Milestone) -> void: func on_player_death() -> void: player_dead.emit() # TODO reload from save? + + # REMOVEME + # workaround until saving & loading is implemented + grunk_tank_limit = BASE_TANK_LIMIT + grunk_tank = 0.0 + grunk_vault = 0.0 diff --git a/src/player/player.tscn b/src/player/player.tscn index 225f258..3a0226f 100644 --- a/src/player/player.tscn +++ b/src/player/player.tscn @@ -622,7 +622,6 @@ unique_name_in_owner = true visible = false [node name="TransformedPosition" type="Node3D" parent="CameraPosition/CameraPivot"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) [node name="CamRumbler" type="Node3D" parent="CameraPosition/CameraPivot/TransformedPosition"] unique_name_in_owner = true @@ -647,6 +646,7 @@ omni_attenuation = 0.0 [node name="NearLight" type="OmniLight3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.1) +light_energy = 0.2 light_specular = 0.01 light_cull_mask = 4294967293 omni_range = 2.0 diff --git a/src/props/overhead_light/overhead_light.tscn b/src/props/overhead_light/overhead_light.tscn index f87230c..832c8fd 100644 --- a/src/props/overhead_light/overhead_light.tscn +++ b/src/props/overhead_light/overhead_light.tscn @@ -136,6 +136,7 @@ spot_angle = 98.0 spot_angle_attenuation = 1.55871 [node name="MeshInstance3D" type="MeshInstance3D" parent="."] +gi_mode = 2 mesh = SubResource("ArrayMesh_jdrpd") [node name="FluorescentFlicker" type="AnimationPlayer" parent="MeshInstance3D"] diff --git a/src/props/text_terminal/text_terminal.tscn b/src/props/text_terminal/text_terminal.tscn index 8334df7..e3f4d03 100644 --- a/src/props/text_terminal/text_terminal.tscn +++ b/src/props/text_terminal/text_terminal.tscn @@ -5,6 +5,7 @@ [sub_resource type="SystemFont" id="SystemFont_twqjh"] font_names = PackedStringArray("Monospace") +subpixel_positioning = 0 [node name="TextTerminal" type="Node3D"] transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, 0, 0, 0) diff --git a/src/props/wall_switch/wall_switch.tscn b/src/props/wall_switch/wall_switch.tscn index 126c514..44787e1 100644 --- a/src/props/wall_switch/wall_switch.tscn +++ b/src/props/wall_switch/wall_switch.tscn @@ -233,10 +233,12 @@ shape = SubResource("ConcavePolygonShape3D_1xqlp") transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.17, 0.24, 0.1) [node name="DangerLight" type="MeshInstance3D" parent="Lights" index="0"] +gi_mode = 2 mesh = SubResource("BoxMesh_g24yf") [node name="SuccessLight" type="MeshInstance3D" parent="Lights" index="1"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.06, 0) +gi_mode = 2 mesh = SubResource("BoxMesh_a6hjm") [node name="SuccessSFX" type="AudioStreamPlayer3D" parent="Lights/SuccessLight" index="0"] diff --git a/src/world/grunk_beast/grunk_beast.tscn b/src/world/grunk_beast/grunk_beast.tscn index 416a075..3efc685 100644 --- a/src/world/grunk_beast/grunk_beast.tscn +++ b/src/world/grunk_beast/grunk_beast.tscn @@ -218,7 +218,7 @@ metadata/_custom_type_script = "uid://om57w2acvgb7" script = ExtResource("11_mbqcc") mean_time = 4.0 st_dev_time = 0.6 -wait_time = 3.52038 +wait_time = 3.57092 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="RandomStalkingBehavior" type="Node" parent="GrunkBeastBehavior/StateSelector/StalkingSequence/RandomDelay"] @@ -264,7 +264,7 @@ metadata/_custom_type_script = "uid://cg016dbe7gs1x" script = ExtResource("11_mbqcc") mean_time = 5.0 st_dev_time = 1.0 -wait_time = 5.84132 +wait_time = 4.97651 metadata/_custom_type_script = "uid://beyk2xtbjrsg4" [node name="PickRandomLurkTarget" type="Node" parent="GrunkBeastBehavior/StateSelector/LurkSequence/RandomDelay"] diff --git a/src/world/grunk_beast/slutch_beast/slutch_beast.tscn b/src/world/grunk_beast/slutch_beast/slutch_beast.tscn index a764572..d01efd8 100644 --- a/src/world/grunk_beast/slutch_beast/slutch_beast.tscn +++ b/src/world/grunk_beast/slutch_beast/slutch_beast.tscn @@ -14,6 +14,7 @@ theta_acceleration = 8.0 surface_material_override/0 = ExtResource("3_htnl6") [node name="FaceNodule" parent="." index="1"] +gi_mode = 2 surface_material_override/0 = ExtResource("4_r4p65") [node name="Nodule_001" parent="." index="2"] diff --git a/src/world/mechanics/alarm/gunk_alarm.tscn b/src/world/mechanics/alarm/gunk_alarm.tscn index 5aa3474..7bd39f5 100644 --- a/src/world/mechanics/alarm/gunk_alarm.tscn +++ b/src/world/mechanics/alarm/gunk_alarm.tscn @@ -43,34 +43,6 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="Animation" id="Animation_6vdvf"] -resource_name = "trigger" -length = 6.0 -tracks/0/type = "value" -tracks/0/imported = false -tracks/0/enabled = true -tracks/0/path = NodePath("FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material:shader_parameter/emission_color") -tracks/0/interp = 1 -tracks/0/loop_wrap = true -tracks/0/keys = { -"times": PackedFloat32Array(0, 0.333333, 5.3, 6), -"transitions": PackedFloat32Array(1, 1, 1, 1), -"update": 0, -"values": [Color(0.25, 0.88, 1, 1), Color(1, 0.25, 0.2625, 1), Color(1, 0.25, 0.2625, 1), Color(0.25, 0.88, 1, 1)] -} -tracks/1/type = "value" -tracks/1/imported = false -tracks/1/enabled = true -tracks/1/path = NodePath("FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material:shader_parameter/emission_strength") -tracks/1/interp = 2 -tracks/1/loop_wrap = true -tracks/1/keys = { -"times": PackedFloat32Array(0, 0.333333, 0.9, 3.96667, 5.3, 6), -"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1), -"update": 0, -"values": [0.02, 0.05, 10.0, 10.0, 0.05, 0.02] -} - [sub_resource type="Animation" id="Animation_g4yos"] length = 0.001 tracks/0/type = "value" @@ -98,6 +70,34 @@ tracks/1/keys = { "values": [0.02] } +[sub_resource type="Animation" id="Animation_6vdvf"] +resource_name = "trigger" +length = 10.0 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material:shader_parameter/emission_color") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.333333, 9, 10), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 0, +"values": [Color(0.25, 0.88, 1, 1), Color(1, 0.25, 0.2625, 1), Color(1, 0.25, 0.2625, 1), Color(0.25, 0.88, 1, 1)] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("FrameSkipper/AlarmMesh/Armature/Skeleton3D/Bud:mesh:surface_0/material:shader_parameter/emission_strength") +tracks/1/interp = 2 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0, 0.333333, 0.9, 3.96667, 10), +"transitions": PackedFloat32Array(1, 1, 1, 0.618, 1), +"update": 0, +"values": [0.02, 0.05, 10.0, 10.0, 0.02] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_vokcn"] _data = { &"RESET": SubResource("Animation_g4yos"), @@ -132,7 +132,7 @@ transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0.0 bones/1/rotation = Quaternion(0.615412, 8.96411e-08, 6.99896e-08, 0.788205) bones/2/rotation = Quaternion(6.23537e-08, 0.911935, -0.410335, 6.88492e-08) bones/3/rotation = Quaternion(0.388328, -7.55108e-08, -2.12852e-09, 0.921521) -bones/4/rotation = Quaternion(0.362943, -6.23644e-15, -3.17295e-08, 0.931811) +bones/4/rotation = Quaternion(0.362943, -7.06405e-15, -3.17295e-08, 0.931811) bones/5/rotation = Quaternion(0.554467, 0.341989, -0.267017, 0.710149) bones/6/rotation = Quaternion(1.87911e-08, 0.911935, -0.410335, -6.13774e-08) bones/7/rotation = Quaternion(0.388328, -7.54773e-08, -5.17987e-08, 0.921521) @@ -143,8 +143,7 @@ bones/11/rotation = Quaternion(0.388328, 4.03898e-08, -9.63879e-08, 0.921521) bones/12/rotation = Quaternion(0.362943, -2.72222e-08, 1.68537e-09, 0.931811) bones/14/rotation = Quaternion(1.04239e-08, 0.911935, -0.410335, 5.30153e-08) bones/15/rotation = Quaternion(0.388328, 1.98981e-07, -6.10131e-08, 0.921521) -bones/16/rotation = Quaternion(0.362943, -7.47069e-08, 7.94897e-09, 0.931811) -bones/17/rotation = Quaternion(-0.136942, 0.768444, -0.599983, -0.175392) +bones/16/rotation = Quaternion(0.362943, -7.47069e-08, 7.94898e-09, 0.931811) bones/18/rotation = Quaternion(7.03342e-08, 0.911935, -0.410335, 5.90948e-08) bones/19/rotation = Quaternion(0.388329, 2.02752e-07, -7.27092e-08, 0.921521) bones/20/rotation = Quaternion(0.362943, -2.24031e-07, 5.70885e-08, 0.931811) @@ -158,6 +157,7 @@ bones/27/rotation = Quaternion(0.388328, 2.1633e-07, -1.09183e-07, 0.921521) bones/28/rotation = Quaternion(0.362943, -7.93195e-08, 1.03952e-07, 0.931811) [node name="Bud" parent="FrameSkipper/AlarmMesh/Armature/Skeleton3D" index="0"] +gi_mode = 2 mesh = SubResource("ArrayMesh_c5y52") [node name="AnimationPlayer" parent="FrameSkipper/AlarmMesh" index="1"]