diff --git a/levels/ghost_ship/level/airlock/airlock.tscn b/levels/ghost_ship/level/airlock/airlock.tscn index 2007470..081be56 100644 --- a/levels/ghost_ship/level/airlock/airlock.tscn +++ b/levels/ghost_ship/level/airlock/airlock.tscn @@ -177,6 +177,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") alpha_curve = SubResource("CurveTexture_ty63v") diff --git a/levels/ghost_ship/level/cargo_bay/cargo_bay.tscn b/levels/ghost_ship/level/cargo_bay/cargo_bay.tscn index b2a41bc..ab1c8a1 100644 --- a/levels/ghost_ship/level/cargo_bay/cargo_bay.tscn +++ b/levels/ghost_ship/level/cargo_bay/cargo_bay.tscn @@ -68,6 +68,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") turbulence_enabled = true diff --git a/levels/ghost_ship/level/corridor_1/corridor_1.tscn b/levels/ghost_ship/level/corridor_1/corridor_1.tscn index 27429b0..4800095 100644 --- a/levels/ghost_ship/level/corridor_1/corridor_1.tscn +++ b/levels/ghost_ship/level/corridor_1/corridor_1.tscn @@ -53,6 +53,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_5ac7v") color_ramp = SubResource("GradientTexture1D_08px8") alpha_curve = SubResource("CurveTexture_mcskc") diff --git a/levels/ghost_ship/level/corridor_2/corridor_2.tscn b/levels/ghost_ship/level/corridor_2/corridor_2.tscn index 0e7ad4e..3bad787 100644 --- a/levels/ghost_ship/level/corridor_2/corridor_2.tscn +++ b/levels/ghost_ship/level/corridor_2/corridor_2.tscn @@ -59,6 +59,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_5ac7v") color_ramp = SubResource("GradientTexture1D_08px8") alpha_curve = SubResource("CurveTexture_mcskc") @@ -168,6 +169,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_5ac7v") color_ramp = SubResource("GradientTexture1D_08px8") alpha_curve = SubResource("CurveTexture_mcskc") diff --git a/levels/ghost_ship/level/corridor_3/corridor_3.tscn b/levels/ghost_ship/level/corridor_3/corridor_3.tscn index a0167fe..25ee809 100644 --- a/levels/ghost_ship/level/corridor_3/corridor_3.tscn +++ b/levels/ghost_ship/level/corridor_3/corridor_3.tscn @@ -53,6 +53,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_5ac7v") color_ramp = SubResource("GradientTexture1D_08px8") alpha_curve = SubResource("CurveTexture_mcskc") diff --git a/levels/ghost_ship/level/crew_quarters/crew_quarters.tscn b/levels/ghost_ship/level/crew_quarters/crew_quarters.tscn index 72b8a9b..46b211f 100644 --- a/levels/ghost_ship/level/crew_quarters/crew_quarters.tscn +++ b/levels/ghost_ship/level/crew_quarters/crew_quarters.tscn @@ -77,6 +77,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") turbulence_enabled = true @@ -168,6 +169,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_ii88q") color_ramp = SubResource("GradientTexture1D_8r2kq") alpha_curve = SubResource("CurveTexture_ncghj") diff --git a/levels/ghost_ship/level/medbay/medbay.tscn b/levels/ghost_ship/level/medbay/medbay.tscn index f6b9bf4..159cd4c 100644 --- a/levels/ghost_ship/level/medbay/medbay.tscn +++ b/levels/ghost_ship/level/medbay/medbay.tscn @@ -446,6 +446,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") alpha_curve = SubResource("CurveTexture_ty63v") diff --git a/levels/ghost_ship/level/mess_hall/mess_hall.tscn b/levels/ghost_ship/level/mess_hall/mess_hall.tscn index 8f3d5e3..9782016 100644 --- a/levels/ghost_ship/level/mess_hall/mess_hall.tscn +++ b/levels/ghost_ship/level/mess_hall/mess_hall.tscn @@ -88,6 +88,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") alpha_curve = SubResource("CurveTexture_ty63v") diff --git a/levels/ghost_ship/level/ops_center/ops_center.tscn b/levels/ghost_ship/level/ops_center/ops_center.tscn index a15eb99..8aca0db 100644 --- a/levels/ghost_ship/level/ops_center/ops_center.tscn +++ b/levels/ghost_ship/level/ops_center/ops_center.tscn @@ -135,6 +135,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") alpha_curve = SubResource("CurveTexture_ty63v") diff --git a/levels/pathing_test/pathing_test.tscn b/levels/pathing_test/pathing_test.tscn index 28be26a..2ab7f5c 100644 --- a/levels/pathing_test/pathing_test.tscn +++ b/levels/pathing_test/pathing_test.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=63 format=4 uid="uid://tvirbm0kgvp8"] +[gd_scene load_steps=62 format=4 uid="uid://tvirbm0kgvp8"] [ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_fgk6j"] [ext_resource type="PackedScene" uid="uid://ehf5sg3ahvbf" path="res://src/world/grunk_beast/grunk_beast.tscn" id="2_1lom2"] @@ -6,7 +6,6 @@ [ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="4_hv7qb"] [ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/static_crate_long.tscn" id="5_18csx"] [ext_resource type="Texture2D" uid="uid://clofvb76pv6g" path="res://assets/red.png" id="5_jj0u7"] -[ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="5_wxmii"] [ext_resource type="Texture2D" uid="uid://cd0w8eqpount3" path="res://assets/props/crate_long/crate_long_C.png" id="6_e2fuu"] [ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="7_hv7qb"] [ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="7_nsdlh"] @@ -60,7 +59,7 @@ data = PackedVector3Array(25, 0, 25, -25, 0, 25, 25, 0, -25, -25, 0, 25, -25, 0, [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_u8j4k"] data = PackedVector3Array(-1.5, 0, -6, -1.5, 0, 6, -1.5, 3, -6, -1.5, 3, -6, -1.5, 0, 6, -1.5, 3, 6, 1.5, 0, 6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, 6, 1.5, 0, -6, 1.5, 3, -6, -1.5, 0, 6, -1.5, 0, -6, 1.5, 0, 6, 1.5, 0, 6, -1.5, 0, -6, 1.5, 0, -6, 1.5, 3, 6, 1.5, 3, -6, -1.5, 3, 6, -1.5, 3, 6, 1.5, 3, -6, -1.5, 3, -6) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_e2fuu"] resource_local_to_scene = true albedo_texture = ExtResource("6_e2fuu") metallic = 1.0 @@ -86,6 +85,66 @@ _surfaces = [{ }] blend_shape_mode = 0 +[sub_resource type="ArrayMesh" id="ArrayMesh_hv7qb"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_e2fuu"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_isly2") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wxmii"] +resource_local_to_scene = true +albedo_texture = ExtResource("6_e2fuu") +metallic = 1.0 +metallic_texture = ExtResource("7_hv7qb") +roughness_texture = ExtResource("9_nsdlh") +normal_enabled = true +normal_texture = ExtResource("8_wxmii") +ao_enabled = true +texture_filter = 2 + +[sub_resource type="ArrayMesh" id="ArrayMesh_nsdlh"] +resource_local_to_scene = true +_surfaces = [{ +"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), +"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), +"format": 34896613399, +"index_count": 84, +"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), +"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], +"material": SubResource("StandardMaterial3D_wxmii"), +"name": "Cube", +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 48, +"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_isly2") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"] +resource_local_to_scene = true +albedo_texture = ExtResource("6_e2fuu") +metallic = 1.0 +metallic_texture = ExtResource("7_hv7qb") +roughness_texture = ExtResource("9_nsdlh") +normal_enabled = true +normal_texture = ExtResource("8_wxmii") +ao_enabled = true +texture_filter = 2 + [sub_resource type="ArrayMesh" id="ArrayMesh_qluxd"] resource_local_to_scene = true _surfaces = [{ @@ -105,66 +164,6 @@ _surfaces = [{ blend_shape_mode = 0 shadow_mesh = SubResource("ArrayMesh_isly2") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h6xp0"] -resource_local_to_scene = true -albedo_texture = ExtResource("6_e2fuu") -metallic = 1.0 -metallic_texture = ExtResource("7_hv7qb") -roughness_texture = ExtResource("9_nsdlh") -normal_enabled = true -normal_texture = ExtResource("8_wxmii") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_irt7r"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_h6xp0"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_isly2") - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_olej6"] -resource_local_to_scene = true -albedo_texture = ExtResource("6_e2fuu") -metallic = 1.0 -metallic_texture = ExtResource("7_hv7qb") -roughness_texture = ExtResource("9_nsdlh") -normal_enabled = true -normal_texture = ExtResource("8_wxmii") -ao_enabled = true -texture_filter = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_tmnt4"] -resource_local_to_scene = true -_surfaces = [{ -"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), -"attribute_data": PackedByteArray("/7//P/9v/7//X/8//7//vwAA/78AAP8//6f/v/9H/7//p/+//7//v/+f//f/v////6cAAP/H/wf/n/83/7//P/+X/7//l/8//zf/P/8P/7//x//H/5//x/+/AAD/n/8H/6f/P//H/zf/X/+//0f/P/9v/z//p/8//6f////H//f/D/8//5f/v/+X/z//p/+//6f/P/83/7//R/+//0f/P/9v/z//b/+//1//P/9f/7//N/+//w//v/83/z//D/8/"), -"format": 34896613399, -"index_count": 84, -"index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), -"lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_olej6"), -"name": "Cube", -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 48, -"vertex_data": PackedByteArray("AAAyM///VNXc3f//AAD/////zMz//1TVAAAyMwAAVNUAADIzAAD8xQAAMjP///zFAADMzAAAVNX//zIzAABU1QAAzMwAAP//AAAyMwAA///c3f//AAD/////MjMAAP/////MzP///7/c3QAA///svyEi/////0TBAAAyM///Fr8hIv//AAD//yEi////////3N0AAP///MUhIgAAAAD8xSEiAAAAAP//ISL//wAA/////zIz////v9zd//////+/AADMzP//DMEhIgAA//+cvP//zMwAAFTV//8yM///VNXc3f///////wAAzMz//1TV///MzAAA///c3QAAAAD//yEiAAD///zFISL//wAAqukhIv////+q6QAAzMwAAKrpAADMzP//qunc3QAAAAD8xf//MjMAAPzF//8yM////MXc3f////+q6dzd//8AAKrp///MzP//qun//8zMAACq6dzdAAAAAP+/ISIAAAAA/7/c3QAA////vyEiAAD///+/VFWqqv9//7+qKqoqVFWqqv45/pz+Of6cVFWqqqoqqir/P/+//z//v/7A/0C2QLbA/3//f/9//3//f/9//3//f/9//7//f/+//xwBRv45/pwOQA3A/z//v/9//3//f/9//3//f/9//3+qKqoqqiqqKv9//79UVaqq0sDSQKlCqML+Of6cCWoEtQlqBLUJagS1CWoEtf8cAUb/HAFG/xwBRgQ19hUENfYVBDX2FQQ19hUAAP9/AAD/fwAA/38AAP9/") -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_isly2") - [sub_resource type="Curve" id="Curve_2ldv4"] _limits = [0.0, 0.4, 0.0, 1.0] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.3, 0.4), 0.0, 0.0, 0, 0, Vector2(0.7, 0.4), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] @@ -195,6 +194,7 @@ spread = 100.0 initial_velocity_min = 0.05 initial_velocity_max = 0.15 gravity = Vector3(0, 0, 0) +attractor_interaction_enabled = false scale_curve = SubResource("CurveTexture_w3xaq") color_ramp = SubResource("GradientTexture1D_w3xaq") alpha_curve = SubResource("CurveTexture_ty63v") @@ -240,7 +240,7 @@ data = PackedVector3Array(-1, 0, 0.2, -1, -0.4, 0, -1, 0, -0.2, -1, 0, -0.2, -1, [sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_o1heh"] data = PackedVector3Array(-1.5, 0, -1.5, -1.5, 0, 1.5, -1.5, 3, -1.5, -1.5, 3, -1.5, -1.5, 0, 1.5, -1.5, 3, 1.5, -1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, 1.5, 1.5, 0, 1.5, -1.5, 0, -1.5, 1.5, 0, -1.5, 1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, 1.5, -1.5, 3, 1.5, 1.5, 3, -1.5, -1.5, 3, -1.5) -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x0tbd"] +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h6xp0"] resource_local_to_scene = true albedo_texture = ExtResource("6_e2fuu") metallic = 1.0 @@ -266,7 +266,7 @@ _surfaces = [{ }] blend_shape_mode = 0 -[sub_resource type="ArrayMesh" id="ArrayMesh_iwy8m"] +[sub_resource type="ArrayMesh" id="ArrayMesh_irt7r"] resource_local_to_scene = true _surfaces = [{ "aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5), @@ -275,7 +275,7 @@ _surfaces = [{ "index_count": 84, "index_data": PackedByteArray("FgANAAwADAANABcAFwANAA4ADgANABgAGAANAA8ADwANABkAGgAHAAIAAgAHABsAEAABABEAEQABABwAHQAAAAYABgAAAAMACQAUAAgACAAUABUAFQAUAAoACgAUAB4AHgAUAAsACwAUAB8AIAATAAUABQATAAQAIQAiACMAIwAiACQAJQASACYAJgASACcAKAApACoAKgApACsALAAtAC4ALgAtAC8A"), "lods": [0.108952, PackedByteArray("DAANAA4ADgANAA8AEAABABEAEAARAAYAEQAAAAYABgAAAAMAEQABAAIAAgABAAcABwASAAIABwATABIAEgATAAUABQATAAQACQAUAAgACAAUABUAFQAUAAoACgAUAAsA"), 0.261829, PackedByteArray("AAABAAIAAQAAAAYABgAAAAMAAgABAAcABwAEAAIAAgAEAAUACAAJAAoACgAJAAsA"), 0.524037, PackedByteArray("AAABAAIAAQAAAAMAAgABAAQAAgAEAAUA")], -"material": SubResource("StandardMaterial3D_x0tbd"), +"material": SubResource("StandardMaterial3D_h6xp0"), "name": "Cube", "primitive": 3, "uv_scale": Vector4(0, 0, 0, 0), @@ -367,27 +367,25 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway1/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_u8j4k") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("7_nsdlh") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9) -mesh = SubResource("ArrayMesh_qluxd") +mesh = SubResource("ArrayMesh_hv7qb") skeleton = NodePath("") [node name="CrateLong3" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9) -mesh = SubResource("ArrayMesh_irt7r") +mesh = SubResource("ArrayMesh_nsdlh") skeleton = NodePath("") [node name="CrateLong2" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("5_18csx")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9) -mesh = SubResource("ArrayMesh_tmnt4") +mesh = SubResource("ArrayMesh_qluxd") skeleton = NodePath("") [node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("10_br5h1")] @@ -413,14 +411,12 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_ejg8u") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] mask_dim = 32 body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("14_olej6") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="T-Junction1" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, -7.5) @@ -434,14 +430,12 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/T-Junction1/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_o1heh") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/T-Junction1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/T-Junction1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] mask_dim = 192 body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("16_x0tbd") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="Hallway2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5, 0, -7.5) @@ -455,13 +449,11 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway2/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_u8j4k") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("7_nsdlh") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="GrunkNodule" parent="NavigationRegion3D/Corridor1/Hallway2" instance=ExtResource("17_iwy8m")] transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.35, 0, -1.15) @@ -513,13 +505,11 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway3/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_u8j4k") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("7_nsdlh") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway3" instance=ExtResource("10_br5h1")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) @@ -531,7 +521,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5) [node name="CrateLong" parent="NavigationRegion3D/Corridor1/Hallway3" instance=ExtResource("5_18csx")] transform = Transform3D(-4.37114e-08, -0.965926, 0.258819, 1.77636e-15, 0.258819, 0.965926, -1, 4.2222e-08, -1.13133e-08, 1.06072, 0.789149, 6.6) -mesh = SubResource("ArrayMesh_iwy8m") +mesh = SubResource("ArrayMesh_irt7r") skeleton = NodePath("../..") [node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] @@ -546,14 +536,12 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/T-Junction2/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_o1heh") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/T-Junction2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/T-Junction2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] mask_dim = 192 body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("16_x0tbd") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="MessHallMeetSpookSpawner" type="Marker3D" parent="NavigationRegion3D/Corridor1/T-Junction2"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) @@ -574,14 +562,12 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/EndCap/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_tx4qh") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/EndCap/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/EndCap/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] mask_dim = 64 body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("16_x0tbd") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="Hallway4" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0, -15) @@ -595,13 +581,11 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway4/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_u8j4k") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("7_nsdlh") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway4" instance=ExtResource("10_br5h1")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0) @@ -625,14 +609,12 @@ collision_mask = 0 [node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign/StaticBody3D"] shape = SubResource("ConcavePolygonShape3D_spe8j") -[node name="Gunkable" type="Node" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("4_hv7qb")] -script = ExtResource("5_wxmii") +[node name="Gunkable" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("4_hv7qb")] mask_dim = 32 body = NodePath("..") mesh_instance = NodePath("../..") initial_mask = ExtResource("5_jj0u7") source_gunk_material = ExtResource("14_olej6") -metadata/_custom_type_script = "uid://co0g2klfmor48" [node name="LurkPoint" type="Marker3D" parent="NavigationRegion3D/Corridor1" groups=["LurkPoint"]] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 4.5) diff --git a/project.godot b/project.godot index c014d19..c66402c 100644 --- a/project.godot +++ b/project.godot @@ -212,6 +212,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation") 3d_render/layer_1="World" 3d_render/layer_2="HUD" +3d_render/layer_3="Grunk Dust" 3d_physics/layer_1="Physics" 3d_physics/layer_2="Interactive" 3d_physics/layer_3="Sprayable" diff --git a/src/effects/grunk_splatter/grunk_splatter.gd b/src/effects/grunk_splatter/grunk_splatter.gd index 2e17a0c..2c73bf9 100644 --- a/src/effects/grunk_splatter/grunk_splatter.gd +++ b/src/effects/grunk_splatter/grunk_splatter.gd @@ -10,6 +10,7 @@ const SCENE := preload("res://src/effects/grunk_splatter/grunk_splatter.tscn") @onready var splatter_sfx: AudioStreamPlayer3D = %SplatterSFX @onready var sub_splatter: GPUParticles3D = %SubSplatter +@onready var gunk_dust: GPUParticles3D = %GunkDust # Called when the node enters the scene tree for the first time. @@ -21,6 +22,9 @@ func _ready() -> void: _scale_particles(self) _scale_particles(sub_splatter) + # Scale amount of dust + gunk_dust.amount_ratio = 0.5 * effect_scale + func _scale_particles(emitter: GPUParticles3D) -> void: var mat := emitter.process_material as ParticleProcessMaterial diff --git a/src/effects/grunk_splatter/grunk_splatter.tscn b/src/effects/grunk_splatter/grunk_splatter.tscn index c1d2368..581d9c2 100644 --- a/src/effects/grunk_splatter/grunk_splatter.tscn +++ b/src/effects/grunk_splatter/grunk_splatter.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=23 format=3 uid="uid://xlt78xc1tmkl"] +[gd_scene load_steps=33 format=3 uid="uid://xlt78xc1tmkl"] [ext_resource type="Texture2D" uid="uid://cgwgmxwjgwbwr" path="res://assets/particles/splatter_2.png" id="1_5xu2x"] [ext_resource type="Texture2D" uid="uid://bhoai6xv53tqm" path="res://assets/particles/splatter_1.png" id="2_bt63p"] @@ -6,6 +6,7 @@ [ext_resource type="AudioStream" uid="uid://di0j2xhgfc78s" path="res://assets/sfx/grunk/splat1.wav" id="3_t00bd"] [ext_resource type="AudioStream" uid="uid://d1w5gfmjj7tjk" path="res://assets/sfx/grunk/splat2.wav" id="4_2iem1"] [ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="5_2iem1"] +[ext_resource type="PackedScene" uid="uid://c3iv00vmdqxp0" path="res://src/effects/gunk_dust.tscn" id="7_opa8j"] [sub_resource type="Gradient" id="Gradient_5xu2x"] offsets = PackedFloat32Array(0, 0.291304, 0.526087, 1) @@ -108,6 +109,58 @@ stream_1/stream = ExtResource("4_2iem1") [sub_resource type="SphereShape3D" id="SphereShape3D_6adkd"] radius = 2.0 +[sub_resource type="Gradient" id="Gradient_o6g24"] +offsets = PackedFloat32Array(0, 0.376344) +colors = PackedColorArray(0, 0.101961, 0.301961, 1, 0, 0.015, 0.05, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_mlqhf"] +gradient = SubResource("Gradient_o6g24") + +[sub_resource type="Curve" id="Curve_pjcdo"] +_limits = [0.0, 12.0, 0.0, 1.0] +_data = [Vector2(0, 12), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_opa8j"] +curve = SubResource("Curve_pjcdo") + +[sub_resource type="Curve" id="Curve_smx5b"] +_limits = [0.0, 6.0, 0.0, 1.0] +_data = [Vector2(0, 6), 0.0, 0.0, 0, 0, Vector2(0.252459, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_rbbah"] +curve = SubResource("Curve_smx5b") + +[sub_resource type="Curve" id="Curve_opa8j"] +_limits = [0.0, 4.0, 0.0, 1.0] +_data = [Vector2(0, 4), 0.0, 0.0, 0, 0, Vector2(0.333, 1), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_m7td0"] +curve = SubResource("Curve_opa8j") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_opa8j"] +angle_min = -184.7 +angle_max = 239.3 +direction = Vector3(0, 0, -1) +spread = 90.0 +initial_velocity_min = 5.0 +initial_velocity_max = 5.0 +angular_velocity_min = -360.0 +angular_velocity_max = 360.0 +gravity = Vector3(0, -1, 0) +damping_min = 1.0 +damping_max = 1.0 +damping_curve = SubResource("CurveTexture_opa8j") +scale_min = 0.8 +scale_curve = SubResource("CurveTexture_m7td0") +color_ramp = SubResource("GradientTexture1D_mlqhf") +emission_curve = SubResource("CurveTexture_rbbah") +hue_variation_min = -2.23517e-08 +hue_variation_max = 0.00999998 +collision_mode = 2 + [node name="GrunkSplatter" type="GPUParticles3D"] sorting_offset = 9.0 emitting = false @@ -154,8 +207,19 @@ metadata/_custom_type_script = "uid://c5o1d2shq2qig" [node name="CollisionShape3D" type="CollisionShape3D" parent="SplatterSoundEmitter"] shape = SubResource("SphereShape3D_6adkd") +[node name="GunkDust" parent="." instance=ExtResource("7_opa8j")] +unique_name_in_owner = true +transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0) +emitting = false +amount = 64 +lifetime = 1.2 +one_shot = true +explosiveness = 0.9 +process_material = SubResource("ParticleProcessMaterial_opa8j") + [connection signal="ready" from="." to="SplatterSFX" method="play"] [connection signal="ready" from="." to="SplatterSoundEmitter" method="emit_sound_here"] [connection signal="ready" from="." to="." method="set_emitting" binds= [true]] [connection signal="ready" from="." to="SubSplatter" method="set_emitting" binds= [true]] +[connection signal="ready" from="." to="GunkDust" method="set_emitting" binds= [true]] [connection signal="timeout" from="FreeTimer" to="." method="queue_free"] diff --git a/src/effects/gunk_dust.tscn b/src/effects/gunk_dust.tscn index 0aa8096..393eaa6 100644 --- a/src/effects/gunk_dust.tscn +++ b/src/effects/gunk_dust.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://c3iv00vmdqxp0"] +[gd_scene load_steps=10 format=3 uid="uid://c3iv00vmdqxp0"] [sub_resource type="Gradient" id="Gradient_o6g24"] offsets = PackedFloat32Array(0, 0.376344) @@ -15,6 +15,14 @@ point_count = 2 [sub_resource type="CurveTexture" id="CurveTexture_smx5b"] curve = SubResource("Curve_pjcdo") +[sub_resource type="Curve" id="Curve_smx5b"] +_limits = [0.0, 6.0, 0.0, 1.0] +_data = [Vector2(0, 6), 0.0, 0.0, 0, 0, Vector2(0.252459, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_rbbah"] +curve = SubResource("Curve_smx5b") + [sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_ykxlg"] angle_min = -184.7 angle_max = 239.3 @@ -30,12 +38,14 @@ damping_max = 1.0 damping_curve = SubResource("CurveTexture_smx5b") scale_min = 0.8 color_ramp = SubResource("GradientTexture1D_mlqhf") +emission_curve = SubResource("CurveTexture_rbbah") hue_variation_min = -2.23517e-08 hue_variation_max = 0.00999998 collision_mode = 2 [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pjcdo"] vertex_color_use_as_albedo = true +emission = Color(0.25098, 0.878431, 1, 1) billboard_mode = 3 billboard_keep_scale = true particles_anim_h_frames = 1 @@ -47,6 +57,7 @@ material = SubResource("StandardMaterial3D_pjcdo") size = Vector3(0.03, 0.03, 0.03) [node name="GunkDust" type="GPUParticles3D"] +layers = 4 lifetime = 0.6 process_material = SubResource("ParticleProcessMaterial_ykxlg") draw_pass_1 = SubResource("BoxMesh_smx5b") diff --git a/src/player/player.tscn b/src/player/player.tscn index 5695bc6..969150b 100644 --- a/src/player/player.tscn +++ b/src/player/player.tscn @@ -694,10 +694,12 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1) [node name="GrunkDustAttractor" type="GPUParticlesAttractorSphere3D" parent="CameraPosition/CameraPivot"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.23, -0.285, -0.1) strength = 30.0 +cull_mask = 4293918724 radius = 8.0 [node name="GrunkDustCullingPlane" type="GPUParticlesCollisionBox3D" parent="CameraPosition/CameraPivot"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.15) +cull_mask = 4293918724 size = Vector3(10, 10, 0.2) [node name="StandingCollider" type="CollisionShape3D" parent="."] diff --git a/src/world/world.tscn b/src/world/world.tscn index 4d2d566..a67352d 100644 --- a/src/world/world.tscn +++ b/src/world/world.tscn @@ -4,7 +4,7 @@ [ext_resource type="Resource" uid="uid://tgac5tnfx56r" path="res://src/world/world_manager.tres" id="2_5kmgb"] [ext_resource type="PackedScene" uid="uid://byvjsvavbg5xe" path="res://src/ui/menus/pause_menu/pause_menu.tscn" id="2_6fy3g"] [ext_resource type="Resource" uid="uid://0i72bf8ip1lx" path="res://src/world/spook_manager.tres" id="3_l0av5"] -[ext_resource type="PackedScene" uid="uid://dc4tts6342cuj" path="res://levels/prop_test/prop_test.tscn" id="4_5kmgb"] +[ext_resource type="PackedScene" uid="uid://bov4ok76woyc" path="res://levels/ghost_ship/ghost_ship.tscn" id="4_5kmgb"] [ext_resource type="PackedScene" uid="uid://c0uitm5cg88h1" path="res://src/ui/menus/kill_screen/kill_screen.tscn" id="6_l0av5"] [ext_resource type="PackedScene" uid="uid://brknr57xc2cp0" path="res://src/ui/elements/save_icon/save_icon.tscn" id="7_5kmgb"] diff --git a/vault/TODO.md b/vault/TODO.md index 1c10117..1783101 100644 --- a/vault/TODO.md +++ b/vault/TODO.md @@ -171,4 +171,5 @@ - [x] holdable object HUD icon - [ ] highlight holdable objects? - [x] hide tool UI when holding - - [ ] Keep bonus tracks, taco fiesta, maybe stickers in upgrade track. Everything else comes from the [[company store]], as well as upgrades. \ No newline at end of file + - [ ] Keep bonus tracks, taco fiesta, maybe stickers in upgrade track. Everything else comes from the [[company store]], as well as upgrades. + - [ ] gunk dust should probably be emitted by the tool, yeah? \ No newline at end of file