generated from krampus/template-godot4
Compare commits
7 Commits
f3c2108e4d
...
4ff1699fa5
Author | SHA1 | Date | |
---|---|---|---|
4ff1699fa5 | |||
be398edd8a | |||
d301ff277f | |||
9fe591d92a | |||
b7843659fa | |||
468c5b0d7c | |||
26e66b3a06 |
@ -31,6 +31,7 @@ ssil_radius = 0.4
|
||||
ssil_intensity = 2.5
|
||||
ssil_normal_rejection = 0.73
|
||||
sdfgi_enabled = true
|
||||
sdfgi_use_occlusion = true
|
||||
sdfgi_read_sky_light = false
|
||||
sdfgi_cascades = 7
|
||||
glow_enabled = true
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=22 format=3 uid="uid://bov4ok76woyc"]
|
||||
[gd_scene load_steps=24 format=3 uid="uid://bov4ok76woyc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"]
|
||||
[ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_h081y"]
|
||||
@ -19,6 +19,7 @@
|
||||
[ext_resource type="AudioStream" uid="uid://cvwc2r2cmnaim" path="res://assets/sfx/ambient/metal_creak8.wav" id="15_r4ldl"]
|
||||
[ext_resource type="AudioStream" uid="uid://b288km80xeh0" path="res://assets/sfx/grunk/groan1.wav" id="17_law5k"]
|
||||
[ext_resource type="AudioStream" uid="uid://bujyltdunajj4" path="res://assets/sfx/grunk/groan2.wav" id="18_4mbcm"]
|
||||
[ext_resource type="Script" uid="uid://m8bjl8yr01m6" path="res://src/util/gi_hint.gd" id="20_4mbcm"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_o7mxe"]
|
||||
size = Vector3(6, 4, 15)
|
||||
@ -42,6 +43,9 @@ stream_9/weight = 0.2
|
||||
stream_10/stream = ExtResource("10_h081y")
|
||||
stream_10/weight = 0.2
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_law5k"]
|
||||
size = Vector3(8, 6, 1)
|
||||
|
||||
[node name="GhostShip" type="Node3D"]
|
||||
script = ExtResource("1_law5k")
|
||||
id = "ghost_ship"
|
||||
@ -119,5 +123,12 @@ bus = &"Ambient"
|
||||
interval_mean = 120.0
|
||||
interval_st_dev = 30.0
|
||||
|
||||
[node name="GIHint" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -27, 2, -43.5)
|
||||
visible = false
|
||||
mesh = SubResource("BoxMesh_law5k")
|
||||
script = ExtResource("20_4mbcm")
|
||||
frames_to_live = 20000
|
||||
|
||||
[connection signal="body_entered" from="PlayerShipArea" to="AmbientDrone" method="_on_player_enters_ship"]
|
||||
[connection signal="body_exited" from="PlayerShipArea" to="AmbientDrone" method="_on_player_exits_ship"]
|
||||
|
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=60 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
[gd_scene load_steps=62 format=3 uid="uid://cwhmn3w8hoads"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="1_isxnv"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_on3c1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_si4vj"]
|
||||
[ext_resource type="Texture2D" uid="uid://dthjo3ymo7say" path="res://levels/ghost_ship/level/airlock/floor_mask.png" id="3_7lojt"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bumwpsm42csme" path="res://assets/level/ceiling/ceiling_9x9.mesh" id="4_hgu5g"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="4_knpho"]
|
||||
[ext_resource type="Texture2D" uid="uid://bn4nrclcovuej" path="res://assets/level/wall/wall_1_C.png" id="5_oawwh"]
|
||||
[ext_resource type="Texture2D" uid="uid://da3nqwmiwbu8s" path="res://assets/level/wall/wall_1_M.png" id="6_orm16"]
|
||||
[ext_resource type="Texture2D" uid="uid://bujelwt4b5d0s" path="res://assets/level/wall/wall_1_N.png" id="7_8qct8"]
|
||||
@ -28,6 +29,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="26_s0aa0"]
|
||||
[ext_resource type="PackedScene" uid="uid://2yqi5u5eo025" path="res://src/world/gunk_node/grunk_nodule.tscn" id="27_4jxmw"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="28_fajl5"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="28_knpho"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="29_ib88w"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_yvipw"]
|
||||
@ -141,8 +143,8 @@ normal_texture = ExtResource("25_fbvpt")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_1ckgi"]
|
||||
data = PackedVector3Array(0.375, -0.15, 0.75, 0.275, -0.25, 0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, -0.25, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.375, 0.15, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, 0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, 0.75, 0.375, 0.15, -0.75, 0.375, -0.15, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, 0.75, -0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.275, 0.25, 0.75, -0.375, 0.15, 0.75, -0.375, -0.15, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, -0.75, -0.375, -0.15, -0.75, -0.275, -0.25, -0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, -0.25, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.375, 0.15, -0.75, 0.375, 0.15, -0.75, -0.275, -0.25, -0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.275, -0.25, 0.75)
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_si4vj"]
|
||||
size = Vector3(0.75, 0.5, 1.5)
|
||||
|
||||
[sub_resource type="Curve" id="Curve_2ldv4"]
|
||||
_limits = [0.0, 0.4, 0.0, 1.0]
|
||||
@ -188,25 +190,38 @@ turbulence_influence_min = 0.0
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="Bounds"]
|
||||
mesh = ExtResource("1_isxnv")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="Bounds/Floor" groups=["MetalMaterial"] instance=ExtResource("2_on3c1")]
|
||||
initial_mask = ExtResource("3_7lojt")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Bounds/Floor" groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_yvipw")
|
||||
|
||||
[node name="Gunkable" parent="Bounds/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_si4vj")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("3_7lojt")
|
||||
source_gunk_material = ExtResource("4_knpho")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="Bounds"]
|
||||
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 3, 0)
|
||||
mesh = ExtResource("4_hgu5g")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="Bounds/Ceiling" instance=ExtResource("2_on3c1")]
|
||||
initial_mask = ExtResource("3_7lojt")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Bounds/Ceiling" groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_d1yty")
|
||||
|
||||
[node name="Gunkable" parent="Bounds/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_si4vj")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("3_7lojt")
|
||||
source_gunk_material = ExtResource("4_knpho")
|
||||
|
||||
[node name="SimpleWalls" type="StaticBody3D" parent="Bounds"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
collision_layer = 5
|
||||
@ -257,27 +272,39 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -4.5)
|
||||
[node name="LeftWall" type="MeshInstance3D" parent="Bounds/FarWall"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, -3, 1.5, 0)
|
||||
mesh = ExtResource("13_wvsd4")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Bounds/FarWall/LeftWall" instance=ExtResource("2_on3c1")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("14_asais")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Bounds/FarWall/LeftWall" groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/FarWall/LeftWall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/FarWall/LeftWall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Bounds/FarWall/LeftWall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_si4vj")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("14_asais")
|
||||
|
||||
[node name="RightWall" type="MeshInstance3D" parent="Bounds/FarWall"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3, 1.5, 0)
|
||||
mesh = ExtResource("13_wvsd4")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Bounds/FarWall/RightWall" instance=ExtResource("2_on3c1")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("14_asais")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Bounds/FarWall/RightWall" groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/FarWall/RightWall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bounds/FarWall/RightWall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Bounds/FarWall/RightWall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_si4vj")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("14_asais")
|
||||
|
||||
[node name="Props" type="Node3D" parent="."]
|
||||
|
||||
[node name="EmptySuitChamber" parent="Props" instance=ExtResource("15_e4f0d")]
|
||||
@ -368,31 +395,43 @@ collision_mask = 0
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/TarpCrateLogo/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_isly2")
|
||||
|
||||
[node name="CrateLong" type="MeshInstance3D" parent="Props"]
|
||||
[node name="CrateLong" type="RigidBody3D" parent="Props"]
|
||||
transform = Transform3D(0.866025, 0, 0.5, 0, 1, 0, -0.5, 0, 0.866025, 3.33603, 0.25, 3.53907)
|
||||
collision_layer = 67
|
||||
collision_mask = 73
|
||||
mass = 200.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Props/CrateLong"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
mesh = ExtResource("22_ug240")
|
||||
skeleton = NodePath("")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_2ybo5")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Props/CrateLong"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/CrateLong"]
|
||||
shape = SubResource("BoxShape3D_si4vj")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/CrateLong/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_1ckgi")
|
||||
[node name="Holdable" type="Node" parent="Props/CrateLong"]
|
||||
script = ExtResource("28_knpho")
|
||||
hold_distance = 2.0
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="CrateLong2" type="MeshInstance3D" parent="Props"]
|
||||
[node name="CrateLong2" type="RigidBody3D" parent="Props"]
|
||||
transform = Transform3D(0.612372, 0.612373, 0.5, -0.707107, 0.707106, 1.98952e-13, -0.353553, -0.353553, 0.866025, 3.71304, 0.441942, 2.81688)
|
||||
collision_layer = 67
|
||||
collision_mask = 73
|
||||
mass = 200.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Props/CrateLong2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
mesh = ExtResource("22_ug240")
|
||||
skeleton = NodePath("")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_2ybo5")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Props/CrateLong2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/CrateLong2"]
|
||||
shape = SubResource("BoxShape3D_si4vj")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Props/CrateLong2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_1ckgi")
|
||||
[node name="Holdable" type="Node" parent="Props/CrateLong2"]
|
||||
script = ExtResource("28_knpho")
|
||||
hold_distance = 2.0
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="GrunkNodule" parent="." instance=ExtResource("27_4jxmw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.866026, -0.5, 0, 0.5, 0.866026, -2.05, 0.15, -4.5)
|
||||
|
@ -1,12 +1,9 @@
|
||||
[gd_scene load_steps=47 format=4 uid="uid://ddmgqfhiv3aag"]
|
||||
[gd_scene load_steps=35 format=4 uid="uid://ddmgqfhiv3aag"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="1_ckpmb"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_a8b6q"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/crate_long.tscn" id="3_8umoc"]
|
||||
[ext_resource type="Texture2D" uid="uid://cd0w8eqpount3" path="res://assets/props/crate_long/crate_long_C.png" id="4_s4vba"]
|
||||
[ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="5_n7a6q"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="6_hwbyh"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="7_bt0ip"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="3_s4vba"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="4_vc8nj"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="5_hwbyh"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="8_t14hf"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="9_vwa0l"]
|
||||
[ext_resource type="Material" uid="uid://dmolqtdktqdsl" path="res://levels/ghost_ship/guide_sign/airlock_sign.material" id="10_5qwf5"]
|
||||
@ -23,114 +20,9 @@
|
||||
[ext_resource type="ArrayMesh" uid="uid://cojfnrek4kgbb" path="res://assets/props/guide_sign/guide_sign.obj" id="21_mh2f3"]
|
||||
[ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="22_d4b87"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_bt0ip"]
|
||||
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_ckpmb"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("4_s4vba")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("5_n7a6q")
|
||||
roughness_texture = ExtResource("7_bt0ip")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("6_hwbyh")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_2ybo5"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
"format": 34896613377,
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("CgAGAAIAAgAEAAoABAAGAAoACwAEAAIADAAGAAQABAAIAAwACwAIAAQADAAIAAYAAgABAAsAAQAIAAsADQABAAIAAgAGAA0ABwABAA0ADQAGAAcACQABAAcACQAIAAEABwAGAA4ACQAHAAUABQAHAA4ABQAIAAkABgAIAA8AAwAIAAUADgAGAAAAAAAGAA8ADgAAAAUADwAIAAAABQAAAAMAAAAIAAMA"),
|
||||
"lods": [0.108952, PackedByteArray("AgAGAAcABAAGAAIAAgABAAQABwABAAIABAAIAAYAAQAIAAQACQABAAcACQAIAAEACQAHAAUABQAIAAkABwAGAAAABwAAAAUABgAIAAAAAwAIAAUAAAAIAAMABQAAAAMA"), 0.261829, PackedByteArray("AAABAAIAAgABAAQAAQAAAAUABAADAAIAAQADAAQAAgADAAAABQADAAEABQAAAAMA"), 0.524037, PackedByteArray("AAABAAIAAgABAAMAAQAAAAMAAgADAAAA")],
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 16,
|
||||
"vertex_data": PackedByteArray("AAAyM///AADc3f//AAAAAP//zMz//wAAAAAyMwAAAAD//zIzAAAAAAAAzMwAAAAA3N0AAP//AAAhIv////8AACEiAAAAAAAAISL//wAAAAD//zIz//8AAP//zMwAAAAA3N0AAAAAAADc3f////8AAAAAzMz//wAAISIAAP//AAA=")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_a8b6q"]
|
||||
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_ckpmb"),
|
||||
"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_2ybo5")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8umoc"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("4_s4vba")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("5_n7a6q")
|
||||
roughness_texture = ExtResource("7_bt0ip")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("6_hwbyh")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_s4vba"]
|
||||
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_8umoc"),
|
||||
"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_2ybo5")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_n7a6q"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("4_s4vba")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("5_n7a6q")
|
||||
roughness_texture = ExtResource("7_bt0ip")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("6_hwbyh")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_hwbyh"]
|
||||
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_n7a6q"),
|
||||
"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_2ybo5")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_w3xaq"]
|
||||
_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]
|
||||
@ -206,50 +98,8 @@ 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_if0c2"]
|
||||
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_bt0ip"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("4_s4vba")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("5_n7a6q")
|
||||
roughness_texture = ExtResource("7_bt0ip")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("6_hwbyh")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_lny00"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
"format": 34896613377,
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("CgAGAAIAAgAEAAoABAAGAAoACwAEAAIADAAGAAQABAAIAAwACwAIAAQADAAIAAYAAgABAAsAAQAIAAsADQABAAIAAgAGAA0ABwABAA0ADQAGAAcACQABAAcACQAIAAEABwAGAA4ACQAHAAUABQAHAA4ABQAIAAkABgAIAA8AAwAIAAUADgAGAAAAAAAGAA8ADgAAAAUADwAIAAAABQAAAAMAAAAIAAMA"),
|
||||
"lods": [0.108952, PackedByteArray("AgAGAAcABAAGAAIAAgABAAQABwABAAIABAAIAAYAAQAIAAQACQABAAcACQAIAAEACQAHAAUABQAIAAkABwAGAAAABwAAAAUABgAIAAAAAwAIAAUAAAAIAAMABQAAAAMA"), 0.261829, PackedByteArray("AAABAAIAAgABAAQAAQAAAAUABAADAAIAAQADAAQAAgADAAAABQADAAEABQAAAAMA"), 0.524037, PackedByteArray("AAABAAIAAgABAAMAAQAAAAMAAgADAAAA")],
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 16,
|
||||
"vertex_data": PackedByteArray("AAAyM///AADc3f//AAAAAP//zMz//wAAAAAyMwAAAAD//zIzAAAAAAAAzMwAAAAA3N0AAP//AAAhIv////8AACEiAAAAAAAAISL//wAAAAD//zIz//8AAP//zMwAAAAA3N0AAAAAAADc3f////8AAAAAzMz//wAAISIAAP//AAA=")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_t14hf"]
|
||||
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_bt0ip"),
|
||||
"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_lny00")
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
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="ConcavePolygonShape3D" id="ConcavePolygonShape3D_17ivy"]
|
||||
data = PackedVector3Array(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)
|
||||
@ -261,27 +111,28 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
|
||||
|
||||
[node name="Hallway1" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_ckpmb")
|
||||
skeleton = NodePath("Hallway1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Hallway1" parent="Hallway1" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/Hallway1"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_bt0ip")
|
||||
|
||||
[node name="CrateLong" parent="Hallway1" instance=ExtResource("3_8umoc")]
|
||||
[node name="Gunkable" parent="Hallway1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("5_hwbyh")
|
||||
|
||||
[node name="PhysCrateLong" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.25, -5.9)
|
||||
mesh = SubResource("ArrayMesh_a8b6q")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
|
||||
[node name="CrateLong3" parent="Hallway1" instance=ExtResource("3_8umoc")]
|
||||
[node name="PhysCrateLong2" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(0.258819, -0.965926, 0, 0.965926, 0.258819, 0, 0, 0, 1, 1.2, 0.426927, -3.9)
|
||||
mesh = SubResource("ArrayMesh_s4vba")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
|
||||
[node name="CrateLong2" parent="Hallway1" instance=ExtResource("3_8umoc")]
|
||||
[node name="PhysCrateLong3" parent="Hallway1" instance=ExtResource("4_vc8nj")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.75, -5.9)
|
||||
mesh = SubResource("ArrayMesh_hwbyh")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway1" instance=ExtResource("8_t14hf")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
@ -296,35 +147,54 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3,
|
||||
gi_mode = 2
|
||||
mesh = SubResource("ArrayMesh_anoak")
|
||||
|
||||
[node name="GunkBody" parent="Hallway1/AirlockSign" instance=ExtResource("2_a8b6q")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1/AirlockSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/AirlockSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/AirlockSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ojd88")
|
||||
|
||||
[node name="Gunkable" parent="Hallway1/AirlockSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
|
||||
[node name="T-Junction1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, -7.5)
|
||||
mesh = ExtResource("12_3ls22")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="Gunkable" parent="T-Junction1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
|
||||
[node name="Hallway2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -7.5, 0, -7.5)
|
||||
mesh = ExtResource("1_ckpmb")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("5_hwbyh")
|
||||
|
||||
[node name="GrunkNodule" parent="Hallway2" instance=ExtResource("14_bfrms")]
|
||||
transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.35, 0, -1.15)
|
||||
chitter = true
|
||||
@ -365,13 +235,20 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0.8, -11.4)
|
||||
[node name="Hallway3" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5, 0, -7.5)
|
||||
mesh = ExtResource("17_qhrg0")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Hallway3" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway3/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("5_hwbyh")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway3" instance=ExtResource("8_t14hf")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -380,45 +257,62 @@ process_material = SubResource("ParticleProcessMaterial_6giaa")
|
||||
[node name="OverheadLight" parent="Hallway3" instance=ExtResource("9_vwa0l")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5)
|
||||
|
||||
[node name="CrateLong" parent="Hallway3" instance=ExtResource("3_8umoc")]
|
||||
[node name="PhysCrateLong" parent="Hallway3" instance=ExtResource("4_vc8nj")]
|
||||
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_t14hf")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0, -7.5)
|
||||
mesh = ExtResource("18_xuoub")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction2" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="Gunkable" parent="T-Junction2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
|
||||
[node name="EndCap" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -28.5, 1.5, -7.5)
|
||||
mesh = ExtResource("19_unrww")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="EndCap" instance=ExtResource("2_a8b6q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EndCap/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EndCap/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_17ivy")
|
||||
|
||||
[node name="Gunkable" parent="EndCap/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("13_qaol8")
|
||||
|
||||
[node name="Hallway4" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -27, 0, -15)
|
||||
mesh = ExtResource("20_kkj02")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Hallway4" groups=["MetalMaterial"] instance=ExtResource("2_a8b6q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("5_hwbyh")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway4" instance=ExtResource("8_t14hf")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -433,13 +327,19 @@ gi_mode = 2
|
||||
mesh = ExtResource("21_mh2f3")
|
||||
surface_material_override/0 = ExtResource("22_d4b87")
|
||||
|
||||
[node name="GunkBody" parent="Hallway4/MessHallSign" instance=ExtResource("2_a8b6q")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4/MessHallSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/MessHallSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/MessHallSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_mgo71")
|
||||
|
||||
[node name="Gunkable" parent="Hallway4/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("3_s4vba")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_i2ry3")
|
||||
|
||||
[node name="GrunkNodule" parent="Hallway4" instance=ExtResource("14_bfrms")]
|
||||
transform = Transform3D(0.71748, 0.469891, -0.514223, -0.00738759, 0.743303, 0.668914, 0.69654, -0.476134, 0.536776, -0.299999, 0, 4.8)
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=46 format=4 uid="uid://6mggsi84ok1n"]
|
||||
[gd_scene load_steps=38 format=4 uid="uid://6mggsi84ok1n"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c4klxlj1oop7t" path="res://assets/level/hallway/hallway_4.mesh" id="1_ka7sa"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_arxka"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="3_osdhu"]
|
||||
[ext_resource type="PackedScene" uid="uid://rykf34p8n8x6" path="res://src/props/overhead_light/burnout_light.tscn" id="4_6qtqj"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="4_650i1"]
|
||||
[ext_resource type="Material" uid="uid://b8xdnogrfefvf" path="res://levels/ghost_ship/guide_sign/mess_hall_sign.material" id="5_650i1"]
|
||||
[ext_resource type="Texture2D" uid="uid://duvfb656uahuu" path="res://assets/level/guide_signs/guide_sign_mess_hall_C.png" id="6_o070x"]
|
||||
[ext_resource type="Texture2D" uid="uid://dm50ac5enanm6" path="res://assets/level/guide_signs/guide_sign_mess_hall_E.png" id="7_bmovs"]
|
||||
@ -17,11 +18,7 @@
|
||||
[ext_resource type="Material" uid="uid://dt73a25l7h8if" path="res://levels/ghost_ship/guide_sign/crew_quarters_sign.material" id="15_ygcwo"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://b3f5p4o7qr1mf" path="res://assets/level/t-junction/t-junction_2.mesh" id="16_0fxnd"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="17_wqkax"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/crate_long.tscn" id="18_ew4hm"]
|
||||
[ext_resource type="Texture2D" uid="uid://cd0w8eqpount3" path="res://assets/props/crate_long/crate_long_C.png" id="19_0xbp3"]
|
||||
[ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="20_wp8cq"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="21_opjmq"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="22_sor6x"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="19_j48oc"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://d0sdsir1hqnbu" path="res://assets/level/wall/wall_4.mesh" id="23_7ox1u"]
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_ruwlj"]
|
||||
@ -148,81 +145,6 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_if0c2"]
|
||||
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_w13dd"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("19_0xbp3")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("20_wp8cq")
|
||||
roughness_texture = ExtResource("22_sor6x")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("21_opjmq")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_f0xh4"]
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
"format": 34896613377,
|
||||
"index_count": 84,
|
||||
"index_data": PackedByteArray("CgAGAAIAAgAEAAoABAAGAAoACwAEAAIADAAGAAQABAAIAAwACwAIAAQADAAIAAYAAgABAAsAAQAIAAsADQABAAIAAgAGAA0ABwABAA0ADQAGAAcACQABAAcACQAIAAEABwAGAA4ACQAHAAUABQAHAA4ABQAIAAkABgAIAA8AAwAIAAUADgAGAAAAAAAGAA8ADgAAAAUADwAIAAAABQAAAAMAAAAIAAMA"),
|
||||
"lods": [0.108952, PackedByteArray("AgAGAAcABAAGAAIAAgABAAQABwABAAIABAAIAAYAAQAIAAQACQABAAcACQAIAAEACQAHAAUABQAIAAkABwAGAAAABwAAAAUABgAIAAAAAwAIAAUAAAAIAAMABQAAAAMA"), 0.261829, PackedByteArray("AAABAAIAAgABAAQAAQAAAAUABAADAAIAAQADAAQAAgADAAAABQADAAEABQAAAAMA"), 0.524037, PackedByteArray("AAABAAIAAgABAAMAAQAAAAMAAgADAAAA")],
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
"vertex_count": 16,
|
||||
"vertex_data": PackedByteArray("AAAyM///AADc3f//AAAAAP//zMz//wAAAAAyMwAAAAD//zIzAAAAAAAAzMwAAAAA3N0AAP//AAAhIv////8AACEiAAAAAAAAISL//wAAAAD//zIz//8AAP//zMwAAAAA3N0AAAAAAADc3f////8AAAAAzMz//wAAISIAAP//AAA=")
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_2ft6k"]
|
||||
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_w13dd"),
|
||||
"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_f0xh4")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fkhf3"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("19_0xbp3")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("20_wp8cq")
|
||||
roughness_texture = ExtResource("22_sor6x")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("21_opjmq")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_7ctwk"]
|
||||
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_fkhf3"),
|
||||
"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_f0xh4")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_17ivy"]
|
||||
data = PackedVector3Array(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)
|
||||
|
||||
@ -231,13 +153,20 @@ data = PackedVector3Array(1.5, 0, 1.5, -1.5, 0, 1.5, 1.5, 0, -1.5, 1.5, 0, -1.5,
|
||||
[node name="Hallway1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, -4.5)
|
||||
mesh = ExtResource("1_ka7sa")
|
||||
skeleton = NodePath("Hallway1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Hallway1" parent="Hallway1" groups=["MetalMaterial"] instance=ExtResource("2_arxka")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_650i1")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway1" instance=ExtResource("3_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -252,26 +181,39 @@ gi_mode = 2
|
||||
mesh = SubResource("ArrayMesh_w13dd")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_lhj8x")
|
||||
|
||||
[node name="GunkBody" parent="Hallway1/MessHallSign" instance=ExtResource("2_arxka")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway1/MessHallSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/MessHallSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway1/MessHallSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_2ft6k")
|
||||
|
||||
[node name="Gunkable" parent="Hallway1/MessHallSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
|
||||
[node name="TarpCrate" parent="Hallway1" instance=ExtResource("12_vtfca")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1, 0.8, -0.33)
|
||||
|
||||
[node name="Hallway2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 7.5, 0, -12)
|
||||
mesh = ExtResource("13_q6b8v")
|
||||
skeleton = NodePath("Hallway1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Hallway1" parent="Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_arxka")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_650i1")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway2" instance=ExtResource("3_osdhu")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -285,41 +227,57 @@ 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="Hallway2/CrewQuartersSign" instance=ExtResource("2_arxka")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2/CrewQuartersSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/CrewQuartersSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/CrewQuartersSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_7ctwk")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("11_iefrw")
|
||||
|
||||
[node name="T-Junction1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, -12)
|
||||
mesh = ExtResource("16_0fxnd")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_arxka")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="CrateLong" parent="T-Junction1" instance=ExtResource("18_ew4hm")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.6, 0.25, 1)
|
||||
mesh = SubResource("ArrayMesh_2ft6k")
|
||||
[node name="Gunkable" parent="T-Junction1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
||||
[node name="CrateLong2" parent="T-Junction1" instance=ExtResource("18_ew4hm")]
|
||||
[node name="PhysCrateLong" parent="T-Junction1" instance=ExtResource("19_j48oc")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.6, 0.25, 1)
|
||||
|
||||
[node name="PhysCrateLong2" parent="T-Junction1" instance=ExtResource("19_j48oc")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -0.599998, 0.75, 1)
|
||||
mesh = SubResource("ArrayMesh_7ctwk")
|
||||
|
||||
[node name="EndCap" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -1.5, 1.5, -12)
|
||||
mesh = ExtResource("23_7ox1u")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="EndCap" instance=ExtResource("2_arxka")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="EndCap"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EndCap/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="EndCap/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_17ivy")
|
||||
|
||||
[node name="Gunkable" parent="EndCap/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_osdhu")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("17_wqkax")
|
||||
|
@ -1,9 +1,10 @@
|
||||
[gd_scene load_steps=43 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
[gd_scene load_steps=44 format=4 uid="uid://cnqvb6q8tyxmd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="1_ediv7"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_02oi7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_rvc24"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="3_rvc24"]
|
||||
[ext_resource type="PackedScene" uid="uid://rykf34p8n8x6" path="res://src/props/overhead_light/burnout_light.tscn" id="4_8y1ya"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="4_yqi6h"]
|
||||
[ext_resource type="Material" uid="uid://dt73a25l7h8if" path="res://levels/ghost_ship/guide_sign/crew_quarters_sign.material" id="5_yqi6h"]
|
||||
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="6_8pwhd"]
|
||||
[ext_resource type="Material" uid="uid://lp1osos3aqdl" path="res://levels/ghost_ship/guide_sign/ops_sign.material" id="7_h1n2n"]
|
||||
@ -215,13 +216,19 @@ data = PackedVector3Array(-0.7, 0, 0.14, -0.7, -0.28, 0, -0.7, 0, -0.14, -0.7, 0
|
||||
[node name="Hallway" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 4.5, 0, 0)
|
||||
mesh = ExtResource("1_ediv7")
|
||||
skeleton = NodePath("Hallway1")
|
||||
|
||||
[node name="Hallway1" parent="Hallway" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_yqi6h")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway" instance=ExtResource("3_rvc24")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -235,23 +242,35 @@ 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="Hallway/CrewQuartersSign" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway/CrewQuartersSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway/CrewQuartersSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway/CrewQuartersSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_dxmep")
|
||||
|
||||
[node name="Gunkable" parent="Hallway/CrewQuartersSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
||||
[node name="Hallway2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0, -7.5)
|
||||
mesh = ExtResource("1_ediv7")
|
||||
skeleton = NodePath("Hallway1")
|
||||
|
||||
[node name="Hallway1" parent="Hallway2" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_yqi6h")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway2" instance=ExtResource("3_rvc24")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -265,35 +284,52 @@ 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="Hallway2/OpsSign" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway2/OpsSign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/OpsSign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway2/OpsSign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_0ij5m")
|
||||
|
||||
[node name="Gunkable" parent="Hallway2/OpsSign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
||||
[node name="T-Junction1" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0, 0)
|
||||
mesh = ExtResource("8_1goqq")
|
||||
skeleton = NodePath("GunkBody")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction1" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction1/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="Gunkable" parent="T-Junction1/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Hallway3" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0, 7.5)
|
||||
mesh = ExtResource("1_ediv7")
|
||||
skeleton = NodePath("Hallway1")
|
||||
|
||||
[node name="Hallway1" parent="Hallway3" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway3/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_yqi6h")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway3" instance=ExtResource("3_rvc24")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -305,25 +341,36 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.31134e-07, 3, -1.5)
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, -2.13163e-14, 0, 1, 0, 2.13163e-14, 0, 1, 12, 0, 15)
|
||||
mesh = ExtResource("11_s3mtr")
|
||||
skeleton = NodePath("GunkBody")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction2" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="Gunkable" parent="T-Junction2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Hallway4" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 12, 0, 25.5)
|
||||
mesh = ExtResource("1_ediv7")
|
||||
skeleton = NodePath("Hallway1")
|
||||
|
||||
[node name="Hallway1" parent="Hallway4" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Hallway4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/Hallway1"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Hallway4/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="Gunkable" parent="Hallway4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("4_yqi6h")
|
||||
|
||||
[node name="FloatingDust" parent="Hallway4" instance=ExtResource("3_rvc24")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -335,337 +382,337 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.31134e-07, 3, -1.5)
|
||||
[node name="T-Junction3" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 12, 0, 18)
|
||||
mesh = ExtResource("11_s3mtr")
|
||||
skeleton = NodePath("GunkBody")
|
||||
|
||||
[node name="GunkBody" parent="T-Junction3" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 192
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="T-Junction3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction3/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="T-Junction3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_if0c2")
|
||||
|
||||
[node name="Gunkable" parent="T-Junction3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="ShortHallway" type="Node3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 12, 0, 33)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Ceiling/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -1.67038e-22, 0, -1.67038e-22, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Wall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Wall/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -7.51669e-22, 0, -7.51669e-22, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Wall2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway/Wall2/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -2.08797e-21, 0, -2.08798e-21, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="ShortHallway2" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 18)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway2"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway2/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway2/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway2/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway2"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway2/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway2/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway2/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway2"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("15_l3gxc")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway2/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway2/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Wall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway2/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway2"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("15_l3gxc")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway2/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway2/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Wall2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway2/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway2/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="ShortHallway3" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 0, 18)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway3"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway3/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway3/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway3/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway3"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway3/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway3/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway3/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway3"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway3/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway3/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Wall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway3/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway3"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway3/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway3/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Wall2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway3/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="MedbaySign" type="MeshInstance3D" parent="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="ShortHallway3/MedbaySign" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway3/MedbaySign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/MedbaySign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway3/MedbaySign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_wqqoq")
|
||||
|
||||
[node name="ShortHallway4" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -9, 0, 15)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway4"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway4/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway4/Floor/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway4"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway4/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway4/Ceiling/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway4"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("15_l3gxc")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway4/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway4/Wall/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway4"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("15_l3gxc")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway4/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway4/Wall2/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="ShortHallway5" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -6, 0, 15)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway5"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway5/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway5/Floor/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway5"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway5/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway5/Ceiling/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway5"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway5/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway5/Wall/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway5"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway5/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway5/Wall2/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
[node name="Gunkable" parent="ShortHallway3/MedbaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
||||
[node name="ShortHallway6" type="Node3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 15, 0, 15)
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
mesh = ExtResource("12_i8gqp")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway6/Floor" groups=["MetalMaterial"] instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_kp5n7")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(1, 0, 0, 0, -1, -8.74228e-08, 0, 8.74228e-08, -1, 0, 3, 0)
|
||||
mesh = ExtResource("13_ieqou")
|
||||
skeleton = NodePath("../..")
|
||||
skeleton = NodePath("../../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway6/Ceiling" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_u2hqf")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0, 1.5, 1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway6/Wall" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_6nvhk")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="ShortHallway6"]
|
||||
transform = Transform3D(1, 1.74846e-07, -7.64274e-15, 0, -4.37114e-08, -1, -1.74846e-07, 1, -4.37114e-08, 0, 1.5, -1.5)
|
||||
mesh = ExtResource("14_x3ljk")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="GunkBody" parent="ShortHallway6/Wall2" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/Wall2/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ncghj")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("9_57qp5")
|
||||
|
||||
[node name="CargoBaySign" type="MeshInstance3D" parent="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="ShortHallway6/CargoBaySign" instance=ExtResource("2_02oi7")]
|
||||
mask_dim = 32
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ShortHallway6/CargoBaySign"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/CargoBaySign/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ShortHallway6/CargoBaySign/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_np3w4")
|
||||
|
||||
[node name="Gunkable" parent="ShortHallway6/CargoBaySign/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_rvc24")]
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8pwhd")
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=40 format=3 uid="uid://s1ab8rt2blyd"]
|
||||
[gd_scene load_steps=41 format=3 uid="uid://s1ab8rt2blyd"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c785n3j3aq4sf" path="res://assets/level/wall/wall_1.mesh" id="1_ind8m"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="2_s3h7q"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="2_vyxvc"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="3_6lrbi"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="4_pmhe8"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://bumwpsm42csme" path="res://assets/level/ceiling/ceiling_9x9.mesh" id="5_vyxvc"]
|
||||
[ext_resource type="PackedScene" uid="uid://ca7b5gjl3ri0p" path="res://src/props/cafe_table/cafe_table.tscn" id="6_1ls0l"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="6_jshbi"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8pkhw0b47xdd" path="res://src/props/cupboard/cupboard.tscn" id="7_jshbi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dtus42gmb1kqq" path="res://src/props/vending_machine/vending_machine.tscn" id="8_g7nyg"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2xq0uvxh2ojk" path="res://assets/props/vending_machine/vending_machine_C.png" id="9_6xy1x"]
|
||||
@ -13,8 +14,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dkilg200w8x4y" path="res://assets/props/vending_machine/vending_machine_M.png" id="11_ps4r1"]
|
||||
[ext_resource type="Texture2D" uid="uid://8v7jta2qdvut" path="res://assets/props/vending_machine/vending_machine_N.png" id="12_iie7g"]
|
||||
[ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="13_nvfj8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cklppdtyaadlo" path="res://src/props/trash_can/trash_can.tscn" id="14_3wo07"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="15_87puh"]
|
||||
[ext_resource type="PackedScene" uid="uid://p86qtslgpe1i" path="res://src/props/trash_can/phys_trash_can.tscn" id="15_pmhe8"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="16_s0n7p"]
|
||||
[ext_resource type="Texture2D" uid="uid://wqqwtmtmp147" path="res://assets/level/overhead_light_maskC.png" id="17_6lrbi"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgqx1h4dtkwma" path="res://src/world/mechanics/trigger/gunk_trigger.tscn" id="17_311lj"]
|
||||
@ -114,225 +115,353 @@ size = Vector2(1, 0.5)
|
||||
[node name="Wall" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-1, 8.74228e-08, -3.82137e-15, 0, -4.37114e-08, -1, -8.74228e-08, -1, 4.37114e-08, 3, 1.5, 9.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall" groups=["MetalMaterial"] instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall2" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-4.37114e-08, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, -4.37114e-08, 1.91069e-15, 4.5, 1.5, 8)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall2" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall2/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall2/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -8.35189e-23, 0, -8.35188e-23, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall2/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall4" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-4.37114e-08, -1, 4.37114e-08, 0, -4.37114e-08, -1, 1, -4.37114e-08, 1.91069e-15, 4.5, 1.5, 5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall4" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall4/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall4/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -8.35189e-23, 0, -8.35188e-23, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall4/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall8" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(1, -1.06581e-14, 4.02341e-21, 0, -4.37114e-08, -1, 1.06581e-14, 1, -4.37114e-08, 3, 1.5, 0.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall8" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall8"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall8/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall8/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, -1.00974e-28, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall8/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall9" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(1, -1.06581e-14, 4.02341e-21, 0, -4.37114e-08, -1, 1.06581e-14, 1, -4.37114e-08, 0, 1.5, 0.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall9" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall9"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall9/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall9/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, -1.00974e-28, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall9/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall10" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(1, -1.06581e-14, 4.02341e-21, 0, -4.37114e-08, -1, 1.06581e-14, 1, -4.37114e-08, -3, 1.5, 0.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall10" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall10"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall10/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall10/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, -1.00974e-28, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall10/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall11" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(1, -1.06581e-14, 4.02341e-21, 0, -4.37114e-08, -1, 1.06581e-14, 1, -4.37114e-08, -6, 1.5, 0.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall11" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall11"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall11/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall11/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, -1.00974e-28, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall11/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall13" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(1, -1.06581e-14, 4.02341e-21, 0, -4.37114e-08, -1, 1.06581e-14, 1, -4.37114e-08, -12, 1.5, 0.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall13" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall13"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall13/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall13/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, -1.00974e-28, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall13/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall17" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-4.37114e-08, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -4.37114e-08, 1.91068e-15, -13.5, 1.5, 2)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall17" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall17"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall17/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall17/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -8.35185e-23, 0, -8.35188e-23, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall17/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall18" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-4.37114e-08, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -4.37114e-08, 1.91068e-15, -13.5, 1.5, 5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall18" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall18"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall18/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall18/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -8.35185e-23, 0, -8.35188e-23, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall18/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall19" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-4.37114e-08, 1, -4.37114e-08, 0, -4.37114e-08, -1, -1, -4.37114e-08, 1.91068e-15, -13.5, 1.5, 8)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall19" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall19"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall19/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall19/StaticBody3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, -8.35185e-23, 0, -8.35188e-23, 1, 0, 0, 0)
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall19/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall20" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, -12, 1.5, 9.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall20" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall20"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall20/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall20/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall20/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall21" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, -9, 1.5, 9.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall21" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall21"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall21/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall21/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall21/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall22" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, -6, 1.5, 9.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall22" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall22"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall22/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall22/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall22/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Wall23" type="MeshInstance3D" parent="Walls"]
|
||||
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, -3, 1.5, 9.5)
|
||||
mesh = ExtResource("1_ind8m")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Walls/Wall23" instance=ExtResource("2_s3h7q")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Walls/Wall23"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall23/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Walls/Wall23/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p11ap")
|
||||
|
||||
[node name="Gunkable" parent="Walls/Wall23/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("3_6lrbi")
|
||||
|
||||
[node name="Floors" type="Node3D" parent="."]
|
||||
|
||||
[node name="Floor" type="MeshInstance3D" parent="Floors"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 5)
|
||||
mesh = ExtResource("4_pmhe8")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Floors/Floor" groups=["MetalMaterial"] instance=ExtResource("2_s3h7q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Floors/Floor"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floors/Floor/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floors/Floor/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_yvipw")
|
||||
|
||||
[node name="Gunkable" parent="Floors/Floor/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_jshbi")
|
||||
|
||||
[node name="Floor3" type="MeshInstance3D" parent="Floors"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 5)
|
||||
mesh = ExtResource("4_pmhe8")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Floors/Floor3" groups=["MetalMaterial"] instance=ExtResource("2_s3h7q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Floors/Floor3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floors/Floor3/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Floors/Floor3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_yvipw")
|
||||
|
||||
[node name="Gunkable" parent="Floors/Floor3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_jshbi")
|
||||
|
||||
[node name="Ceilings" type="Node3D" parent="."]
|
||||
|
||||
[node name="Ceiling" type="MeshInstance3D" parent="Ceilings"]
|
||||
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, 0, 3, 5)
|
||||
mesh = ExtResource("5_vyxvc")
|
||||
|
||||
[node name="GunkBody" parent="Ceilings/Ceiling" instance=ExtResource("2_s3h7q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Ceilings/Ceiling"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ceilings/Ceiling/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ceilings/Ceiling/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_d1yty")
|
||||
|
||||
[node name="Gunkable" parent="Ceilings/Ceiling/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_jshbi")
|
||||
|
||||
[node name="Ceiling3" type="MeshInstance3D" parent="Ceilings"]
|
||||
transform = Transform3D(-1, -7.64274e-15, 8.74228e-08, 0, -1, -8.74228e-08, 8.74228e-08, -8.74228e-08, 1, -9, 3, 5)
|
||||
mesh = ExtResource("5_vyxvc")
|
||||
|
||||
[node name="GunkBody" parent="Ceilings/Ceiling3" instance=ExtResource("2_s3h7q")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Ceilings/Ceiling3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ceilings/Ceiling3/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ceilings/Ceiling3/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_d1yty")
|
||||
|
||||
[node name="Gunkable" parent="Ceilings/Ceiling3/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("2_vyxvc")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_jshbi")
|
||||
|
||||
[node name="Props" type="Node3D" parent="."]
|
||||
|
||||
[node name="CafeTable" parent="Props" instance=ExtResource("6_1ls0l")]
|
||||
@ -372,7 +501,7 @@ transform = Transform3D(5.54197e-08, -0.906308, -0.422618, 1.18848e-07, 0.422618
|
||||
skeleton = NodePath("")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_mdsoq")
|
||||
|
||||
[node name="Trashcan" parent="Props" instance=ExtResource("14_3wo07")]
|
||||
[node name="PhysTrashCan" parent="Props" instance=ExtResource("15_pmhe8")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 0.5, 9)
|
||||
|
||||
[node name="FloatingDust" parent="." instance=ExtResource("15_87puh")]
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
extends Level
|
||||
## Game mechanic testing level
|
||||
|
||||
@onready var gunk_hall: GunkBody = %GunkHallBody
|
||||
@onready var gunk_hall_component: Gunkable = %Gunkable
|
||||
|
||||
@onready var bulkhead: Node3D = $Bulkhead
|
||||
@onready var open_switch: Node3D = %OpenSwitch
|
||||
@ -16,7 +16,7 @@ extends Level
|
||||
|
||||
func reset() -> void:
|
||||
print("Resetting level!")
|
||||
gunk_hall.mask_control.clear(Color.BLACK)
|
||||
gunk_hall_component.mask_control.clear(Color.BLACK)
|
||||
Callable(bulkhead, "close").call()
|
||||
Callable(open_switch, "enable").call()
|
||||
Callable(close_switch, "disable").call()
|
||||
|
@ -1,13 +1,14 @@
|
||||
[gd_scene load_steps=31 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||
[gd_scene load_steps=32 format=4 uid="uid://b8rv6dg4tgaeb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bvua1l2hb3an6" path="res://levels/mechanic_test/mechanic_test.gd" id="1_iyuyb"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_qjnj2"]
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="3_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="4_cgmn0"]
|
||||
[ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="5_aix42"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="6_6frcc"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="7_7cbja"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="8_awnx0"]
|
||||
[ext_resource type="PackedScene" uid="uid://cubwniraol1qn" path="res://src/props/bulkhead/bulkhead.tscn" id="8_ujrcv"]
|
||||
[ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="9_cgmn0"]
|
||||
[ext_resource type="PackedScene" uid="uid://b5jubpjj3d277" path="res://levels/mechanic_test/signal_test.tscn" id="9_ix0jw"]
|
||||
[ext_resource type="PackedScene" uid="uid://cfqirm2o3uo4k" path="res://levels/mechanic_test/prop_test.tscn" id="10_xrfi2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dbabcsp38wmid" path="res://levels/mechanic_test/item_test.tscn" id="11_8natv"]
|
||||
@ -84,6 +85,9 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_0j1ke")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qjnj2"]
|
||||
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="CompressedTexture2D" id="CompressedTexture2D_rp2qp"]
|
||||
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
|
||||
|
||||
@ -103,7 +107,7 @@ seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("7_7cbja")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_iyuyb"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_aix42"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("6_6frcc")
|
||||
@ -128,9 +132,6 @@ shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_qjnj2"]
|
||||
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)
|
||||
|
||||
[node name="MechanicTest" type="Node3D"]
|
||||
script = ExtResource("1_iyuyb")
|
||||
id = "mechanic_test"
|
||||
@ -235,16 +236,24 @@ text = "Trigger"
|
||||
[node name="GunkHall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 0, -31)
|
||||
mesh = SubResource("ArrayMesh_x2vho")
|
||||
skeleton = NodePath("GunkHallBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkHallBody" parent="GunkHall" instance=ExtResource("4_cgmn0")]
|
||||
unique_name_in_owner = true
|
||||
initial_mask = ExtResource("5_aix42")
|
||||
source_gunk_material = SubResource("ShaderMaterial_iyuyb")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="GunkHall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/GunkHallBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkHall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_qjnj2")
|
||||
|
||||
[node name="Gunkable" type="Node" parent="GunkHall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("8_awnx0")]
|
||||
unique_name_in_owner = true
|
||||
script = ExtResource("9_cgmn0")
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_aix42")
|
||||
source_gunk_material = SubResource("ShaderMaterial_aix42")
|
||||
metadata/_custom_type_script = "uid://co0g2klfmor48"
|
||||
|
||||
[node name="Bulkhead" parent="." instance=ExtResource("8_ujrcv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.5, 0, -2)
|
||||
|
||||
|
@ -1,8 +1,9 @@
|
||||
[gd_scene load_steps=13 format=4 uid="uid://cfqirm2o3uo4k"]
|
||||
[gd_scene load_steps=14 format=4 uid="uid://cfqirm2o3uo4k"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="1_cr8wn"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="1_7477u"]
|
||||
[ext_resource type="Texture2D" uid="uid://8cm835h4gxwe" path="res://assets/debug_mask.png" id="2_7477u"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="2_lrgpr"]
|
||||
[ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="2_nfype"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="3_7477u"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_awnx0"]
|
||||
@ -39,6 +40,9 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_cgmn0")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_x2vho"]
|
||||
data = PackedVector3Array(-1, 1, 0.1, -1, -0.8, 0.1, -1, 1, -0.1, -1, 1, -0.1, -1, -0.8, 0.1, -1, -0.8, -0.1, -1, -1, 0.1, -1, -0.8, -0.1, -1, -0.8, 0.1, -1, -1, -2.3, -1, -0.8, -0.1, -1, -1, 0.1, -1, -0.8, -2.3, -1, -0.8, -0.1, -1, -1, -2.3, -1, -0.8, -2.1, -1, -0.8, -0.1, -1, -0.8, -2.3, -1, -0.8, -2.1, -1, -0.8, -2.3, -1, 1, -2.1, -1, 1, -2.1, -1, -0.8, -2.3, -1, 1, -2.3, -1, 1, -0.1, -1, -0.8, -0.1, 1, 1, -0.1, 1, 1, -0.1, -1, -0.8, -0.1, 1, -0.8, -0.1, 1, 1, -0.1, 1, -0.8, -0.1, 1, 1, 0.1, 1, 1, 0.1, 1, -0.8, -0.1, 1, -0.8, 0.1, 1, -0.8, -0.1, 1, -1, 0.1, 1, -0.8, 0.1, 1, -0.8, -2.1, 1, -1, 0.1, 1, -0.8, -0.1, 1, -0.8, -2.3, 1, -1, 0.1, 1, -0.8, -2.1, 1, -1, -2.3, 1, -1, 0.1, 1, -0.8, -2.3, 1, -0.8, -2.3, 1, -0.8, -2.1, 1, 1, -2.3, 1, 1, -2.3, 1, -0.8, -2.1, 1, 1, -2.1, 1, 1, 0.1, 1, -0.8, 0.1, -1, 1, 0.1, -1, 1, 0.1, 1, -0.8, 0.1, -1, -0.8, 0.1, 1, -0.8, 0.1, 1, -1, 0.1, -1, -0.8, 0.1, -1, -0.8, 0.1, 1, -1, 0.1, -1, -1, 0.1, -1, -1, -2.3, -1, -1, 0.1, 1, -1, -2.3, 1, -1, -2.3, -1, -1, 0.1, 1, -1, 0.1, -1, 1, -0.1, 1, 1, -0.1, -1, 1, 0.1, -1, 1, 0.1, 1, 1, -0.1, 1, 1, 0.1, 1, -0.8, -0.1, -1, -0.8, -0.1, 1, -0.8, -2.1, 1, -0.8, -2.1, -1, -0.8, -0.1, -1, -0.8, -2.1, -1, -0.8, -2.3, -1, -1, -2.3, 1, -0.8, -2.3, 1, -0.8, -2.3, -1, -1, -2.3, 1, -1, -2.3, -1, -0.8, -2.3, 1, -0.8, -2.3, -1, 1, -2.3, -1, 1, -2.3, 1, -0.8, -2.3, 1, 1, -2.3, 1, 1, -2.1, -1, 1, -2.1, 1, 1, -2.3, 1, 1, -2.3, -1, 1, -2.1, -1, 1, -2.3, 1, -0.8, -2.1, -1, -0.8, -2.1, 1, 1, -2.1, 1, 1, -2.1, -1, -0.8, -2.1, -1, 1, -2.1)
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_x2vho"]
|
||||
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
|
||||
|
||||
@ -58,7 +62,7 @@ seamless = true
|
||||
seamless_blend_skirt = 0.5
|
||||
noise = ExtResource("3_7477u")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lrgpr"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_j1dki"]
|
||||
resource_local_to_scene = true
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_lrgpr")
|
||||
@ -83,20 +87,25 @@ shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_x2vho"]
|
||||
data = PackedVector3Array(-1, 1, 0.1, -1, -0.8, 0.1, -1, 1, -0.1, -1, 1, -0.1, -1, -0.8, 0.1, -1, -0.8, -0.1, -1, -1, 0.1, -1, -0.8, -0.1, -1, -0.8, 0.1, -1, -1, -2.3, -1, -0.8, -0.1, -1, -1, 0.1, -1, -0.8, -2.3, -1, -0.8, -0.1, -1, -1, -2.3, -1, -0.8, -2.1, -1, -0.8, -0.1, -1, -0.8, -2.3, -1, -0.8, -2.1, -1, -0.8, -2.3, -1, 1, -2.1, -1, 1, -2.1, -1, -0.8, -2.3, -1, 1, -2.3, -1, 1, -0.1, -1, -0.8, -0.1, 1, 1, -0.1, 1, 1, -0.1, -1, -0.8, -0.1, 1, -0.8, -0.1, 1, 1, -0.1, 1, -0.8, -0.1, 1, 1, 0.1, 1, 1, 0.1, 1, -0.8, -0.1, 1, -0.8, 0.1, 1, -0.8, -0.1, 1, -1, 0.1, 1, -0.8, 0.1, 1, -0.8, -2.1, 1, -1, 0.1, 1, -0.8, -0.1, 1, -0.8, -2.3, 1, -1, 0.1, 1, -0.8, -2.1, 1, -1, -2.3, 1, -1, 0.1, 1, -0.8, -2.3, 1, -0.8, -2.3, 1, -0.8, -2.1, 1, 1, -2.3, 1, 1, -2.3, 1, -0.8, -2.1, 1, 1, -2.1, 1, 1, 0.1, 1, -0.8, 0.1, -1, 1, 0.1, -1, 1, 0.1, 1, -0.8, 0.1, -1, -0.8, 0.1, 1, -0.8, 0.1, 1, -1, 0.1, -1, -0.8, 0.1, -1, -0.8, 0.1, 1, -1, 0.1, -1, -1, 0.1, -1, -1, -2.3, -1, -1, 0.1, 1, -1, -2.3, 1, -1, -2.3, -1, -1, 0.1, 1, -1, 0.1, -1, 1, -0.1, 1, 1, -0.1, -1, 1, 0.1, -1, 1, 0.1, 1, 1, -0.1, 1, 1, 0.1, 1, -0.8, -0.1, -1, -0.8, -0.1, 1, -0.8, -2.1, 1, -0.8, -2.1, -1, -0.8, -0.1, -1, -0.8, -2.1, -1, -0.8, -2.3, -1, -1, -2.3, 1, -0.8, -2.3, 1, -0.8, -2.3, -1, -1, -2.3, 1, -1, -2.3, -1, -0.8, -2.3, 1, -0.8, -2.3, -1, 1, -2.3, -1, 1, -2.3, 1, -0.8, -2.3, 1, 1, -2.3, 1, 1, -2.1, -1, 1, -2.1, 1, 1, -2.3, 1, 1, -2.3, -1, 1, -2.1, -1, 1, -2.3, 1, -0.8, -2.1, -1, -0.8, -2.1, 1, 1, -2.1, 1, 1, -2.1, -1, -0.8, -2.1, -1, 1, -2.1)
|
||||
|
||||
[node name="PropTest" type="Node3D"]
|
||||
|
||||
[node name="Parallel" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0, 1, 0, 1, 1.5)
|
||||
mesh = SubResource("ArrayMesh_aix42")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="Parallel" instance=ExtResource("1_cr8wn")]
|
||||
mask_dim = 128
|
||||
initial_mask = ExtResource("2_7477u")
|
||||
source_gunk_material = SubResource("ShaderMaterial_lrgpr")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="Parallel"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Parallel/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Parallel/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_x2vho")
|
||||
|
||||
[node name="Gunkable" type="Node" parent="Parallel/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") groups=["Persistent"] instance=ExtResource("1_7477u")]
|
||||
script = ExtResource("2_nfype")
|
||||
mask_dim = 128
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("2_7477u")
|
||||
source_gunk_material = SubResource("ShaderMaterial_j1dki")
|
||||
metadata/_custom_type_script = "uid://co0g2klfmor48"
|
||||
|
@ -1,10 +1,10 @@
|
||||
[gd_scene load_steps=28 format=3 uid="uid://b5jubpjj3d277"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="1_3u410"]
|
||||
[ext_resource type="Shader" uid="uid://ckxc0ngd37rtk" path="res://src/shaders/gunk.gdshader" id="2_tfbib"]
|
||||
[ext_resource type="FastNoiseLite" uid="uid://cnlvdtx68giv6" path="res://assets/materials/gunk_noise.tres" id="3_e8utx"]
|
||||
[ext_resource type="Texture2D" uid="uid://m2qxenym1otw" path="res://assets/level/wall/wall_2_C.png" id="4_r07l4"]
|
||||
[ext_resource type="Texture2D" uid="uid://begn6qloo0m1q" path="res://assets/level/wall/wall_2_M.png" id="5_67o2j"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="5_r07l4"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpdrvdu3qt62t" path="res://assets/level/wall/wall_2_N.png" id="6_4yjoq"]
|
||||
[ext_resource type="Texture2D" uid="uid://ba5vvrx730go8" path="res://assets/level/wall/wall_2_R.png" id="7_c27im"]
|
||||
[ext_resource type="PackedScene" uid="uid://dgqx1h4dtkwma" path="res://src/world/mechanics/trigger/gunk_trigger.tscn" id="8_gx82l"]
|
||||
@ -55,6 +55,9 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_ix0jw")
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_x2vho"]
|
||||
data = PackedVector3Array(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)
|
||||
|
||||
[sub_resource type="CompressedTexture2D" id="CompressedTexture2D_f342o"]
|
||||
load_path = "res://.godot/imported/debug_mask.png-fd2bc783338ed9439fe81a4eef9d86da.s3tc.ctex"
|
||||
|
||||
@ -86,6 +89,7 @@ shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(4, 4)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
@ -98,9 +102,6 @@ shader_parameter/vertex_inflation = 0.0
|
||||
shader_parameter/inflation_pixellation = 10.0
|
||||
shader_parameter/overlay_emission_scale = 1.0
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_x2vho"]
|
||||
data = PackedVector3Array(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)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3u410"]
|
||||
resource_local_to_scene = true
|
||||
cull_mode = 2
|
||||
@ -155,6 +156,7 @@ shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(4, 4)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
@ -210,6 +212,7 @@ shader_parameter/time_pixellation = 30.0
|
||||
shader_parameter/roughness = 0.15
|
||||
shader_parameter/specular_contribution = 0.8
|
||||
shader_parameter/emission_strength = 0.02
|
||||
shader_parameter/normal_scale = 1.0
|
||||
shader_parameter/uv_scale = Vector2(4, 4)
|
||||
shader_parameter/time_scale = 0.2
|
||||
shader_parameter/edge_bleed = 0.25
|
||||
@ -227,15 +230,21 @@ shader_parameter/overlay_emission_scale = 1.0
|
||||
[node name="TriggerNetWall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 1.5, 0)
|
||||
mesh = SubResource("ArrayMesh_xrfi2")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="TriggerNetWall" instance=ExtResource("1_3u410")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = SubResource("ShaderMaterial_e8utx")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="TriggerNetWall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TriggerNetWall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="TriggerNetWall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_x2vho")
|
||||
|
||||
[node name="Gunkable" parent="TriggerNetWall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_r07l4")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = SubResource("ShaderMaterial_e8utx")
|
||||
|
||||
[node name="Puzzle" type="Node3D" parent="TriggerNetWall"]
|
||||
|
||||
[node name="GunkTrigger" parent="TriggerNetWall/Puzzle" instance=ExtResource("8_gx82l")]
|
||||
@ -262,15 +271,21 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 0, -0.25)
|
||||
[node name="PulseNetWall" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 3.5, 1.5, 0)
|
||||
mesh = SubResource("ArrayMesh_e8utx")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="PulseNetWall" instance=ExtResource("1_3u410")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = SubResource("ShaderMaterial_r07l4")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="PulseNetWall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PulseNetWall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PulseNetWall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_x2vho")
|
||||
|
||||
[node name="Gunkable" parent="PulseNetWall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_r07l4")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = SubResource("ShaderMaterial_r07l4")
|
||||
|
||||
[node name="Puzzle" type="Node3D" parent="PulseNetWall"]
|
||||
|
||||
[node name="GunkHeart" parent="PulseNetWall/Puzzle" instance=ExtResource("11_tfbib")]
|
||||
@ -301,13 +316,19 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.37114e-08, -1)
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 7, 1.5, 0)
|
||||
mesh = SubResource("ArrayMesh_67o2j")
|
||||
|
||||
[node name="GunkBody" parent="ListenerWall" instance=ExtResource("1_3u410")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = SubResource("ShaderMaterial_67o2j")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="ListenerWall"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ListenerWall/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ListenerWall/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_x2vho")
|
||||
|
||||
[node name="Gunkable" parent="ListenerWall/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("5_r07l4")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = SubResource("ShaderMaterial_67o2j")
|
||||
|
||||
[node name="Puzzle" type="Node3D" parent="ListenerWall"]
|
||||
|
||||
[node name="Listener" parent="ListenerWall/Puzzle" instance=ExtResource("12_e8utx")]
|
||||
|
@ -1,13 +1,15 @@
|
||||
[gd_scene load_steps=61 format=4 uid="uid://tvirbm0kgvp8"]
|
||||
[gd_scene load_steps=63 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"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cqd0a7ousx01n" path="res://assets/level/hallway/hallway_1.mesh" id="3_gyhlh"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="4_jj0u7"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/crate_long.tscn" id="5_18csx"]
|
||||
[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"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="8_wxmii"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="9_nsdlh"]
|
||||
[ext_resource type="PackedScene" uid="uid://30o8ltnnxpxo" path="res://src/effects/floating_dust.tscn" id="10_br5h1"]
|
||||
@ -58,7 +60,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_18csx"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_br5h1"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -84,7 +86,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_e2fuu"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_qluxd"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -93,7 +95,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_18csx"),
|
||||
"material": SubResource("StandardMaterial3D_br5h1"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -103,7 +105,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hv7qb"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_h6xp0"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -114,7 +116,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_wxmii"]
|
||||
[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),
|
||||
@ -123,7 +125,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_hv7qb"),
|
||||
"material": SubResource("StandardMaterial3D_h6xp0"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -133,7 +135,7 @@ _surfaces = [{
|
||||
blend_shape_mode = 0
|
||||
shadow_mesh = SubResource("ArrayMesh_isly2")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nsdlh"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_olej6"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -144,7 +146,7 @@ normal_texture = ExtResource("8_wxmii")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_br5h1"]
|
||||
[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),
|
||||
@ -153,7 +155,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_nsdlh"),
|
||||
"material": SubResource("StandardMaterial3D_olej6"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -238,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_qluxd"]
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_x0tbd"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = ExtResource("6_e2fuu")
|
||||
metallic = 1.0
|
||||
@ -264,7 +266,7 @@ _surfaces = [{
|
||||
}]
|
||||
blend_shape_mode = 0
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_h6xp0"]
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_iwy8m"]
|
||||
resource_local_to_scene = true
|
||||
_surfaces = [{
|
||||
"aabb": AABB(-0.375, -0.25, -0.75, 0.75, 0.5, 1.5),
|
||||
@ -273,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_qluxd"),
|
||||
"material": SubResource("StandardMaterial3D_x0tbd"),
|
||||
"name": "Cube",
|
||||
"primitive": 3,
|
||||
"uv_scale": Vector4(0, 0, 0, 0),
|
||||
@ -356,28 +358,37 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -10.5)
|
||||
|
||||
[node name="Hallway1" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
mesh = ExtResource("3_gyhlh")
|
||||
skeleton = NodePath("Hallway1")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="Hallway1" parent="NavigationRegion3D/Corridor1/Hallway1" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway1"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway1/Hallway1"]
|
||||
[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")
|
||||
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_e2fuu")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
mesh = SubResource("ArrayMesh_qluxd")
|
||||
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_wxmii")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
mesh = SubResource("ArrayMesh_irt7r")
|
||||
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_br5h1")
|
||||
skeleton = NodePath("../Hallway1")
|
||||
mesh = SubResource("ArrayMesh_tmnt4")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="FloatingDust" parent="NavigationRegion3D/Corridor1/Hallway1" instance=ExtResource("10_br5h1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
||||
@ -395,38 +406,63 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, -1.5)
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5)
|
||||
mesh = SubResource("ArrayMesh_5p5u5")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign" instance=ExtResource("4_jj0u7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign"]
|
||||
collision_layer = 5
|
||||
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")
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
source_gunk_material = ExtResource("14_olej6")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway1/AirlockSign/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_ejg8u")
|
||||
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)
|
||||
mesh = ExtResource("15_tmnt4")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/T-Junction1" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/T-Junction1"]
|
||||
collision_layer = 5
|
||||
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")
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
source_gunk_material = ExtResource("16_x0tbd")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/T-Junction1/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_o1heh")
|
||||
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)
|
||||
mesh = ExtResource("3_gyhlh")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/Hallway2" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway2"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway2/GunkBody"]
|
||||
[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")
|
||||
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)
|
||||
chitter = true
|
||||
@ -468,14 +504,23 @@ skeleton = NodePath("")
|
||||
[node name="Hallway3" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19.5, 0, -7.5)
|
||||
mesh = ExtResource("20_pfbho")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/Hallway3" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway3"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway3/GunkBody"]
|
||||
[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")
|
||||
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)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -486,21 +531,29 @@ 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_h6xp0")
|
||||
mesh = SubResource("ArrayMesh_iwy8m")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="T-Junction2" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -27, 0, -7.5)
|
||||
mesh = ExtResource("21_e5vs1")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/T-Junction2" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/T-Junction2"]
|
||||
collision_layer = 5
|
||||
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")
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
source_gunk_material = ExtResource("16_x0tbd")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/T-Junction2/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_o1heh")
|
||||
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)
|
||||
@ -512,27 +565,44 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.90735e-06, 0, 21)
|
||||
[node name="EndCap" type="MeshInstance3D" parent="NavigationRegion3D/Corridor1"]
|
||||
transform = Transform3D(2.98023e-08, 1, 0, 4.37114e-08, -1.3027e-15, -1, -1, 2.98023e-08, -4.37114e-08, -28.5, 1.5, -7.5)
|
||||
mesh = ExtResource("23_7rrnb")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/EndCap" instance=ExtResource("4_jj0u7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/EndCap"]
|
||||
collision_layer = 5
|
||||
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")
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
source_gunk_material = ExtResource("16_x0tbd")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/EndCap/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_tx4qh")
|
||||
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)
|
||||
mesh = ExtResource("24_x0es6")
|
||||
skeleton = NodePath("GunkBody")
|
||||
skeleton = NodePath("")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/Hallway4" groups=["MetalMaterial"] instance=ExtResource("4_jj0u7")]
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway4"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway4/GunkBody"]
|
||||
[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")
|
||||
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)
|
||||
visibility_aabb = AABB(-1.5, -1.5, -6, 3, 3, 12)
|
||||
@ -548,13 +618,21 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 3,
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 4.5)
|
||||
mesh = SubResource("ArrayMesh_ahtx8")
|
||||
|
||||
[node name="GunkBody" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign" instance=ExtResource("4_jj0u7")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign"]
|
||||
collision_layer = 5
|
||||
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")
|
||||
mask_dim = 32
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
initial_mask = ExtResource("5_jj0u7")
|
||||
source_gunk_material = ExtResource("14_olej6")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="NavigationRegion3D/Corridor1/Hallway4/MessHallSign/GunkBody"]
|
||||
shape = SubResource("ConcavePolygonShape3D_spe8j")
|
||||
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)
|
||||
|
170
levels/physics_test/physics_test.tscn
Normal file
170
levels/physics_test/physics_test.tscn
Normal file
@ -0,0 +1,170 @@
|
||||
[gd_scene load_steps=17 format=3 uid="uid://c7us4smgk3487"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://68r4ht5ut1ct" path="res://src/game/level.gd" id="1_252gx"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_sumi4"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dpr5cgq743f4s" path="res://assets/level/floor/floor_9x9.mesh" id="2_jjage"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="4_252gx"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="5_35l2h"]
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_hda7d"]
|
||||
|
||||
[sub_resource type="Sky" id="Sky_pka60"]
|
||||
sky_material = SubResource("ProceduralSkyMaterial_hda7d")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_nl4kk"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_pka60")
|
||||
|
||||
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_6j7vt"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_252gx"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_35l2h"]
|
||||
|
||||
[sub_resource type="BoxMesh" id="BoxMesh_35l2h"]
|
||||
size = Vector3(2, 2, 2)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_sc5il"]
|
||||
size = Vector3(2, 2, 2)
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_35l2h"]
|
||||
bounce = 0.5
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_sc5il"]
|
||||
radius = 0.15
|
||||
height = 0.3
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_hyy3g"]
|
||||
radius = 0.15
|
||||
|
||||
[node name="PhysicsTest" type="Node3D"]
|
||||
script = ExtResource("1_252gx")
|
||||
id = "physics_test"
|
||||
pretty_name = "Physics Testing Sandbox"
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource("1_sumi4")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_nl4kk")
|
||||
|
||||
[node name="WorldFloor" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="WorldFloor"]
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D6" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D7" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D8" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D9" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D10" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 27, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D11" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D12" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 36, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D13" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D14" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D15" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, -9)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="MeshInstance3D16" type="MeshInstance3D" parent="WorldFloor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 54, 0, 0)
|
||||
mesh = ExtResource("2_jjage")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WorldFloor"]
|
||||
visible = false
|
||||
shape = SubResource("WorldBoundaryShape3D_6j7vt")
|
||||
|
||||
[node name="MedBox" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 1.2, -6)
|
||||
collision_layer = 7
|
||||
collision_mask = 9
|
||||
mass = 50.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="MedBox"]
|
||||
mesh = SubResource("BoxMesh_252gx")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MedBox"]
|
||||
shape = SubResource("BoxShape3D_35l2h")
|
||||
|
||||
[node name="Holdable" type="Node" parent="MedBox"]
|
||||
script = ExtResource("4_252gx")
|
||||
hold_distance = 2.0
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="BigBox" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 1.8, -6)
|
||||
collision_layer = 7
|
||||
collision_mask = 9
|
||||
mass = 500.0
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="BigBox"]
|
||||
mesh = SubResource("BoxMesh_35l2h")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BigBox"]
|
||||
shape = SubResource("BoxShape3D_sc5il")
|
||||
|
||||
[node name="Ball" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.2, -4.8)
|
||||
collision_layer = 6
|
||||
collision_mask = 9
|
||||
physics_material_override = SubResource("PhysicsMaterial_35l2h")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="Ball"]
|
||||
mesh = SubResource("SphereMesh_sc5il")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Ball"]
|
||||
shape = SubResource("SphereShape3D_hyy3g")
|
||||
|
||||
[node name="Holdable" type="Node" parent="Ball"]
|
||||
script = ExtResource("4_252gx")
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
||||
|
||||
[node name="PhysCrateLong" parent="." instance=ExtResource("5_35l2h")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3, 0.9, -6)
|
@ -11,8 +11,8 @@ extends Level
|
||||
|
||||
|
||||
func _clean_tree(node: Node) -> void:
|
||||
if node is GunkBody:
|
||||
(node as GunkBody).clear_all()
|
||||
if node is Gunkable:
|
||||
(node as Gunkable).clear_all()
|
||||
else:
|
||||
for child: Node in node.get_children():
|
||||
_clean_tree(child)
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=40 format=3 uid="uid://dc4tts6342cuj"]
|
||||
[gd_scene load_steps=43 format=3 uid="uid://dc4tts6342cuj"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dmbdkydqnbyqv" path="res://levels/prop_test/prop_test.gd" id="1_ibd1t"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="1_ml0ka"]
|
||||
@ -9,23 +9,26 @@
|
||||
[ext_resource type="PackedScene" uid="uid://b6eg8t04rkh0c" path="res://src/props/wall_switch/wall_switch.tscn" id="5_y13lv"]
|
||||
[ext_resource type="PackedScene" uid="uid://cvx5u0ttmri4q" path="res://src/props/sofa/sofa.tscn" id="6_kccq3"]
|
||||
[ext_resource type="PackedScene" uid="uid://ca7b5gjl3ri0p" path="res://src/props/cafe_table/cafe_table.tscn" id="6_tm4v6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/crate_long.tscn" id="7_4jlf1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cppd3scvxf3eg" path="res://src/props/crate_long/static_crate_long.tscn" id="7_4jlf1"]
|
||||
[ext_resource type="PackedScene" uid="uid://bpsiwx1517pk1" path="res://src/props/tarp_crate/tarp_crate.tscn" id="7_xlkhi"]
|
||||
[ext_resource type="PackedScene" uid="uid://drm5dspi48pf5" path="res://src/props/crate_long/phys_crate_long.tscn" id="8_8a67w"]
|
||||
[ext_resource type="PackedScene" uid="uid://c8pkhw0b47xdd" path="res://src/props/cupboard/cupboard.tscn" id="8_kgrlx"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl6vekf0joac4" path="res://src/props/eva_suit/eva_suit.tscn" id="9_7md1e"]
|
||||
[ext_resource type="PackedScene" uid="uid://b56sbxcwhveex" path="res://src/props/eva_suit/empty_enclosure.tscn" id="10_s7h0g"]
|
||||
[ext_resource type="PackedScene" uid="uid://h2gswdcxyotk" path="res://src/props/med_cart/med_cart.tscn" id="11_s7h0g"]
|
||||
[ext_resource type="PackedScene" uid="uid://h2gswdcxyotk" path="res://src/props/med_cart/static_med_cart.tscn" id="11_s7h0g"]
|
||||
[ext_resource type="PackedScene" uid="uid://bve6iya13lhah" path="res://src/props/monitor/monitor.tscn" id="12_wyhm4"]
|
||||
[ext_resource type="PackedScene" uid="uid://oipf3w7hm5gf" path="res://src/props/operating_table/operating_table.tscn" id="13_vp610"]
|
||||
[ext_resource type="PackedScene" uid="uid://d2feet02a603e" path="res://src/props/overhead_light/overhead_light.tscn" id="14_sbwfa"]
|
||||
[ext_resource type="PackedScene" uid="uid://cv6sxj04rrkt2" path="res://src/props/med_cart/phys_med_cart.tscn" id="14_u3x5h"]
|
||||
[ext_resource type="PackedScene" uid="uid://rykf34p8n8x6" path="res://src/props/overhead_light/burnout_light.tscn" id="15_r8upy"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctm84yms40858" path="res://src/props/railing/railing.tscn" id="16_kccq3"]
|
||||
[ext_resource type="PackedScene" uid="uid://ctr56p23cvupu" path="res://src/props/retinal_scanner/retinal_scanner.tscn" id="17_r8upy"]
|
||||
[ext_resource type="PackedScene" uid="uid://cjqayfrj2oxyr" path="res://src/props/tarp_crate/tarp_crate_logo.tscn" id="20_pfhf5"]
|
||||
[ext_resource type="PackedScene" uid="uid://cklppdtyaadlo" path="res://src/props/trash_can/trash_can.tscn" id="21_wgtci"]
|
||||
[ext_resource type="PackedScene" uid="uid://cklppdtyaadlo" path="res://src/props/trash_can/static_trash_can.tscn" id="21_wgtci"]
|
||||
[ext_resource type="PackedScene" uid="uid://dtus42gmb1kqq" path="res://src/props/vending_machine/vending_machine.tscn" id="22_6oadn"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2xq0uvxh2ojk" path="res://assets/props/vending_machine/vending_machine_C.png" id="23_ibd1t"]
|
||||
[ext_resource type="Texture2D" uid="uid://d0xe37qm3k7d8" path="res://assets/props/vending_machine/vending_machine_E.png" id="24_mvw32"]
|
||||
[ext_resource type="PackedScene" uid="uid://p86qtslgpe1i" path="res://src/props/trash_can/phys_trash_can.tscn" id="25_8eukv"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkilg200w8x4y" path="res://assets/props/vending_machine/vending_machine_M.png" id="25_yijpk"]
|
||||
[ext_resource type="Texture2D" uid="uid://8v7jta2qdvut" path="res://assets/props/vending_machine/vending_machine_N.png" id="26_qnhar"]
|
||||
[ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="27_8a67w"]
|
||||
@ -73,6 +76,7 @@ game_environment = ExtResource("2_qnhar")
|
||||
debug_environment = ExtResource("3_mvw32")
|
||||
id = "prop_test"
|
||||
pretty_name = "Prop Testing Sandbox"
|
||||
version = 1
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
|
||||
transform = Transform3D(0.866025, -0.156955, -0.474726, 0.5, 0.271854, 0.82225, 0, -0.949453, 0.31391, 0, 0, 0)
|
||||
@ -178,10 +182,13 @@ text = "Open"
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.7, 0.4, -9)
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="CrateLong" parent="Props" instance=ExtResource("7_4jlf1")]
|
||||
[node name="StaticCrateLong" parent="Props" instance=ExtResource("7_4jlf1")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.9, 1.5, -9)
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="PhysCrateLong" parent="Props" instance=ExtResource("8_8a67w")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.1, 1.5, -7.5)
|
||||
|
||||
[node name="Cupboard" parent="Props" instance=ExtResource("8_kgrlx")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.9, 2.4, -9)
|
||||
skeleton = NodePath("../..")
|
||||
@ -192,10 +199,13 @@ transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 7.5223
|
||||
[node name="EVASuit2" parent="Props" instance=ExtResource("10_s7h0g")]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 10.8753, 1.49988, -11.2474)
|
||||
|
||||
[node name="MedCart" parent="Props" instance=ExtResource("11_s7h0g")]
|
||||
[node name="StaticMedCart" parent="Props" instance=ExtResource("11_s7h0g")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.8, 0.5, -10.8)
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="PhysMedCart" parent="Props" instance=ExtResource("14_u3x5h")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.7, 0.5, -9.6)
|
||||
|
||||
[node name="Monitor" parent="Props" instance=ExtResource("12_wyhm4")]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 15.3, 1.5, -10.8)
|
||||
|
||||
@ -228,10 +238,13 @@ skeleton = NodePath("../..")
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 39, 0.8, -12)
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="TrashCan" parent="Props" instance=ExtResource("21_wgtci")]
|
||||
[node name="StaticTrashCan" parent="Props" instance=ExtResource("21_wgtci")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42, 0.5, -12)
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="PhysTrashCan" parent="Props" instance=ExtResource("25_8eukv")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 42.9, 0.5, -10.8)
|
||||
|
||||
[node name="VendingMachine" parent="Props" instance=ExtResource("22_6oadn")]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 1.5654, -12)
|
||||
|
File diff suppressed because one or more lines are too long
@ -210,6 +210,11 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
||||
3d_physics/layer_4="Player"
|
||||
3d_physics/layer_5="GameSounds"
|
||||
3d_physics/layer_6="Player Physics"
|
||||
3d_physics/layer_7="Prop Physics"
|
||||
|
||||
[physics]
|
||||
|
||||
3d/default_angular_damp=4.0
|
||||
|
||||
[rendering]
|
||||
|
||||
|
@ -14,11 +14,10 @@ func _spray() -> void:
|
||||
spray_sfx.set_angle_from_normal(laser.get_collision_normal())
|
||||
|
||||
var collider := laser.get_collider()
|
||||
if collider is GunkBody:
|
||||
var gunk_component := Gunkable.get_component(collider)
|
||||
if gunk_component:
|
||||
var point := laser.get_collision_point()
|
||||
var point_scale := point.distance_to(global_position) * spray_scale
|
||||
(collider as GunkBody).paint_continuous(
|
||||
point, laser.get_collision_normal(), point_scale
|
||||
)
|
||||
gunk_component.paint_continuous(point, laser.get_collision_normal(), point_scale)
|
||||
if collider is Sprayable:
|
||||
(collider as Sprayable).hit(damage)
|
||||
|
@ -19,15 +19,16 @@ func _fire() -> void:
|
||||
if raycast.is_colliding() and not World.instance.manager.is_tank_full():
|
||||
brush_animation.play("brush")
|
||||
var collider := raycast.get_collider()
|
||||
if collider is GunkBody:
|
||||
(collider as GunkBody).paint_dot(
|
||||
var gunk_component := Gunkable.get_component(collider)
|
||||
if gunk_component:
|
||||
gunk_component.paint_dot(
|
||||
raycast.get_collision_point(),
|
||||
raycast.get_collision_normal(),
|
||||
BRUSH_SCALE,
|
||||
PAINT_COLOR
|
||||
)
|
||||
if collider is GunkNode:
|
||||
(collider as GunkNode).hit(damage)
|
||||
if collider is Sprayable:
|
||||
(collider as Sprayable).hit(damage)
|
||||
else:
|
||||
brush_animation.stop()
|
||||
|
||||
|
@ -117,8 +117,7 @@ unique_name_in_owner = true
|
||||
visible = false
|
||||
texture_filter = 1
|
||||
layout_mode = 0
|
||||
offset_left = -40.0
|
||||
offset_right = 24.0
|
||||
offset_right = 64.0
|
||||
offset_bottom = 128.0
|
||||
scale = Vector2(5, 5)
|
||||
texture = ExtResource("4_atd0h")
|
||||
|
@ -36,7 +36,7 @@ func _fire() -> void:
|
||||
|
||||
|
||||
func _spray() -> void:
|
||||
var prev_target: GunkBody = null
|
||||
var prev_target: Gunkable = null
|
||||
var prev_point: Vector3
|
||||
var prev_normal: Vector3
|
||||
|
||||
@ -46,19 +46,21 @@ func _spray() -> void:
|
||||
spray_sfx.set_angle_from_normal(laser.get_collision_normal())
|
||||
|
||||
var collider := laser.get_collider()
|
||||
if collider is GunkBody:
|
||||
var target := collider as GunkBody
|
||||
var gunk_component := Gunkable.get_component(collider)
|
||||
if gunk_component:
|
||||
var point := laser.get_collision_point()
|
||||
var normal := laser.get_collision_normal()
|
||||
|
||||
# Always paint at least a dot, to cap the ends of the line
|
||||
target.paint_dot(point, normal, spray_scale)
|
||||
if target == prev_target:
|
||||
gunk_component.paint_dot(point, normal, spray_scale)
|
||||
if gunk_component == prev_target:
|
||||
# Continue the multiline if possible
|
||||
target.add_to_multiline(prev_point, prev_normal, point, normal, spray_scale * 2)
|
||||
gunk_component.add_to_multiline(
|
||||
prev_point, prev_normal, point, normal, spray_scale * 2
|
||||
)
|
||||
prev_point = point
|
||||
prev_normal = normal
|
||||
prev_target = target
|
||||
prev_target = gunk_component
|
||||
prev_point = point
|
||||
prev_normal = normal
|
||||
elif collider is Sprayable:
|
||||
|
@ -321,11 +321,6 @@ offset_left = 344.0
|
||||
offset_top = 211.0
|
||||
offset_right = 344.0
|
||||
offset_bottom = 211.0
|
||||
BUFFER_RUMBLE_FACTOR = 3.0
|
||||
RUMBLE_DECAY = 10
|
||||
NEEDLE_ACCEL = 1.0
|
||||
NEEDLE_VELOCITY_MAX = 1.0
|
||||
debug_collect = 0.0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
@ -34,9 +34,10 @@ func play_footstep() -> void:
|
||||
|
||||
func get_material_under_foot() -> SurfaceMaterial.Type:
|
||||
var collider := foot_cast.get_collider() as Node
|
||||
if collider is GunkBody:
|
||||
var gunk_component := Gunkable.get_component(collider)
|
||||
if gunk_component:
|
||||
# Special case: check if collision surface is gunked
|
||||
if (collider as GunkBody).is_point_gunked(
|
||||
if gunk_component.is_point_gunked(
|
||||
foot_cast.get_collision_point(), foot_cast.get_collision_normal()
|
||||
):
|
||||
return SurfaceMaterial.Type.GRUNK
|
||||
|
80
src/player/hold_component.gd
Normal file
80
src/player/hold_component.gd
Normal file
@ -0,0 +1,80 @@
|
||||
extends Node3D
|
||||
## Component for managing physics object holding
|
||||
|
||||
## Held object position lerp acceleration.
|
||||
@export var hold_accel := 20.0
|
||||
|
||||
## Held object position velocity scale.
|
||||
@export var hold_speed := 12.0
|
||||
|
||||
## The maximum distance the object may be from the hold point before breaking the hold.
|
||||
@export var max_distance := 3.0
|
||||
|
||||
## Temporary linear damping for held objects
|
||||
@export var hold_damping := 8.0
|
||||
|
||||
## Temporary collision layer.
|
||||
@export_flags_3d_physics var hold_collision_layer := 0b01000000
|
||||
|
||||
## Temporary collision mask.
|
||||
@export_flags_3d_physics var hold_collision_physics := 0b01000001
|
||||
|
||||
## The object currently being held.
|
||||
var _held_object: RigidBody3D
|
||||
|
||||
var _original_damping: float
|
||||
var _original_collision_layer: int
|
||||
var _original_collision_mask: int
|
||||
|
||||
@onready var interact_ray: RayCast3D = %InteractRay
|
||||
@onready var hold_point: Marker3D = %HoldPoint
|
||||
|
||||
|
||||
func attach(prop: RigidBody3D, hold_distance: float) -> void:
|
||||
hold_point.position = Vector3(0, 0, -hold_distance)
|
||||
_held_object = prop
|
||||
|
||||
_original_damping = prop.linear_damp
|
||||
prop.linear_damp = hold_damping
|
||||
|
||||
_original_collision_layer = prop.collision_layer
|
||||
prop.collision_layer = hold_collision_layer
|
||||
|
||||
_original_collision_mask = prop.collision_mask
|
||||
prop.collision_mask = hold_collision_physics
|
||||
|
||||
|
||||
func drop() -> void:
|
||||
_held_object.linear_damp = _original_damping
|
||||
_held_object.collision_layer = _original_collision_layer
|
||||
_held_object.collision_mask = _original_collision_mask
|
||||
_held_object = null
|
||||
|
||||
|
||||
func holding_object() -> bool:
|
||||
return !!_held_object
|
||||
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Object hold action logic
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
if _held_object:
|
||||
drop()
|
||||
elif interact_ray.is_colliding():
|
||||
var body := interact_ray.get_collider() as RigidBody3D
|
||||
var hold_component := Holdable.get_component(body)
|
||||
if hold_component:
|
||||
attach(body, hold_component.hold_distance)
|
||||
|
||||
# Held object logic
|
||||
if not _held_object:
|
||||
return
|
||||
|
||||
var diff := hold_point.global_position - (_held_object.global_position)
|
||||
if diff.length() > max_distance:
|
||||
drop()
|
||||
return
|
||||
|
||||
var weight := 1 - exp(-hold_accel * delta)
|
||||
_held_object.linear_velocity = _held_object.linear_velocity.lerp(diff * hold_speed, weight)
|
||||
_held_object.global_basis = _held_object.global_basis.slerp(global_basis, weight)
|
1
src/player/hold_component.gd.uid
Normal file
1
src/player/hold_component.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://pkk1qg3bqjhj
|
@ -189,14 +189,14 @@ func _signal_death() -> void:
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Will be null if no valid interactor is selected.
|
||||
var interactive: Interactive = interact_ray.get_collider() as Interactive
|
||||
var interactive := interact_ray.get_collider() as Interactive
|
||||
hud.select_interactive(interactive)
|
||||
if interactive:
|
||||
interactive.select()
|
||||
|
||||
if activity_enabled:
|
||||
# World interaction
|
||||
if interactive and Input.is_action_just_pressed("interact"):
|
||||
if Input.is_action_just_pressed("interact") and interactive:
|
||||
interactive.activate()
|
||||
|
||||
# Tool selection
|
||||
|
@ -1,4 +1,4 @@
|
||||
[gd_scene load_steps=64 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
[gd_scene load_steps=67 format=3 uid="uid://bwe2jdmvinhqd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"]
|
||||
[ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"]
|
||||
@ -14,6 +14,7 @@
|
||||
[ext_resource type="Script" uid="uid://ecrhsueph7at" path="res://src/player/footsteps/footstep_controller.gd" id="9_hja65"]
|
||||
[ext_resource type="Script" uid="uid://brqa2wbtaspw4" path="res://src/player/footsteps/foot_controller.gd" id="9_l271a"]
|
||||
[ext_resource type="AudioStream" uid="uid://di0e1l1l6l3qc" path="res://assets/sfx/footsteps/metal/metal1.wav" id="10_jcdrv"]
|
||||
[ext_resource type="Script" uid="uid://pkk1qg3bqjhj" path="res://src/player/hold_component.gd" id="11_h0enb"]
|
||||
[ext_resource type="AudioStream" uid="uid://bv00dudic2mvp" path="res://assets/sfx/footsteps/metal/metal3.wav" id="11_hja65"]
|
||||
[ext_resource type="AudioStream" uid="uid://befqnsqlbpca7" path="res://assets/sfx/footsteps/metal/metal5.wav" id="12_5shm8"]
|
||||
[ext_resource type="AudioStream" uid="uid://c6wnc7kqtvujm" path="res://assets/sfx/footsteps/metal/metal7.wav" id="13_5efpn"]
|
||||
@ -34,6 +35,7 @@
|
||||
[ext_resource type="AudioStream" uid="uid://djucfo3l7x7px" path="res://assets/sfx/footsteps/plastic/plastic3.wav" id="29_wcxbk"]
|
||||
[ext_resource type="AudioStream" uid="uid://ck86vhmbg3xnj" path="res://assets/sfx/footsteps/plastic/plastic5.wav" id="30_p6grl"]
|
||||
[ext_resource type="Script" uid="uid://c5o1d2shq2qig" path="res://src/world/game_sound/game_sound_emitter.gd" id="31_wcxbk"]
|
||||
[ext_resource type="Script" uid="uid://b5loa2u6s5l5c" path="res://src/player/rigid_body_physics.gd" id="36_phdu6"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_x42xx"]
|
||||
length = 0.001
|
||||
@ -170,6 +172,10 @@ nodes/timescale/node = SubResource("AnimationNodeTimeScale_8ydov")
|
||||
nodes/timescale/position = Vector2(1240, 120)
|
||||
node_connections = [&"blend", 0, &"still_anim", &"blend", 1, &"bob_anim", &"output", 0, &"timescale", &"sfx_add", 0, &"blend", &"sfx_add", 1, &"sfx_anim", &"timescale", 0, &"sfx_add"]
|
||||
|
||||
[sub_resource type="SphereMesh" id="SphereMesh_h0enb"]
|
||||
radius = 0.05
|
||||
height = 0.1
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s7f0r"]
|
||||
radius = 0.4
|
||||
height = 1.9
|
||||
@ -676,6 +682,20 @@ parameters/sfx_add/add_amount = 1.0
|
||||
parameters/timescale/scale = false
|
||||
script = ExtResource("7_x42xx")
|
||||
|
||||
[node name="HoldComponent" type="Node3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D"]
|
||||
script = ExtResource("11_h0enb")
|
||||
hold_accel = 40.0
|
||||
hold_speed = 20.0
|
||||
|
||||
[node name="HoldPoint" type="Marker3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D/HoldComponent"]
|
||||
unique_name_in_owner = true
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1)
|
||||
|
||||
[node name="DebugHoldPoint" type="MeshInstance3D" parent="CameraPosition/CameraPivot/TransformedPosition/CamRumbler/Camera3D/HoldComponent/HoldPoint"]
|
||||
visible = false
|
||||
mesh = SubResource("SphereMesh_h0enb")
|
||||
skeleton = NodePath("../..")
|
||||
|
||||
[node name="StandingCollider" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.05, 0)
|
||||
shape = SubResource("CapsuleShape3D_s7f0r")
|
||||
@ -780,3 +800,6 @@ libraries = {
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0)
|
||||
visible = false
|
||||
mesh = SubResource("PlaneMesh_p6grl")
|
||||
|
||||
[node name="RigidBodyPhysics" type="Node" parent="."]
|
||||
script = ExtResource("36_phdu6")
|
||||
|
31
src/player/rigid_body_physics.gd
Normal file
31
src/player/rigid_body_physics.gd
Normal file
@ -0,0 +1,31 @@
|
||||
extends Node
|
||||
## Component to simulate rigid body interactions with a CharacterBody3D.
|
||||
|
||||
## Base collision force (will scale with impact velocity)
|
||||
@export_range(0.0, 500.0, 0.1) var force := 50.0
|
||||
|
||||
## Lower bound for collision speed scaling.
|
||||
@export var min_speed := 1.0
|
||||
|
||||
## Upper bound for collision speed scaling.
|
||||
@export var max_speed := 10.0
|
||||
|
||||
## Toggle rigid body interactions.
|
||||
@export var enabled := true
|
||||
|
||||
@onready var controller := owner as CharacterBody3D
|
||||
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
if not enabled:
|
||||
return
|
||||
|
||||
for i: int in controller.get_slide_collision_count():
|
||||
var collision := controller.get_slide_collision(i)
|
||||
for j: int in collision.get_collision_count():
|
||||
var collider := collision.get_collider(j) as RigidBody3D
|
||||
if collider:
|
||||
var direction := -collision.get_normal()
|
||||
var speed := clampf(controller.velocity.length(), min_speed, max_speed)
|
||||
var offset := collision.get_position(j) - collider.global_position
|
||||
collider.apply_impulse(direction * speed * force, offset)
|
1
src/player/rigid_body_physics.gd.uid
Normal file
1
src/player/rigid_body_physics.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://b5loa2u6s5l5c
|
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://ca7b5gjl3ri0p"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://ca7b5gjl3ri0p"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://kji1r64xr62b" path="res://assets/props/cafe_table/cafe_table_C.png" id="1_8c2wd"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://02pxl1iknwie" path="res://assets/props/cafe_table/cafe_table.obj" id="1_kbxmn"]
|
||||
[ext_resource type="Texture2D" uid="uid://chh8wcdsu601s" path="res://assets/props/cafe_table/cafe_table_M.png" id="2_atatm"]
|
||||
[ext_resource type="Texture2D" uid="uid://6nrac2ciprd4" path="res://assets/props/cafe_table/cafe_table_N.png" id="3_4grlf"]
|
||||
[ext_resource type="Texture2D" uid="uid://dryw5kjktefst" path="res://assets/props/cafe_table/cafe_table_R.png" id="4_naoko"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_ywp2f"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="7_atatm"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="8_4grlf"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q50g7"]
|
||||
albedo_texture = ExtResource("1_8c2wd")
|
||||
@ -23,7 +24,14 @@ data = PackedVector3Array(0.9, 0, -0.05, 0.9, 0, -2.95, 1.5, 0, -0.05, 1.5, 0, -
|
||||
mesh = ExtResource("1_kbxmn")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_q50g7")
|
||||
|
||||
[node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_ywp2f")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_c6qxl")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_atatm")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("8_4grlf")
|
||||
|
58
src/props/crate_long/phys_crate_long.tscn
Normal file
58
src/props/crate_long/phys_crate_long.tscn
Normal file
@ -0,0 +1,58 @@
|
||||
[gd_scene load_steps=13 format=3 uid="uid://drm5dspi48pf5"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://sksndhqyo2bn" path="res://src/props/physics/persistent_prop.gd" id="1_q4djj"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://cd7vwjss7qytk" path="res://assets/props/crate_long/crate_long.obj" id="1_sao54"]
|
||||
[ext_resource type="Texture2D" uid="uid://cd0w8eqpount3" path="res://assets/props/crate_long/crate_long_C.png" id="2_rlyiq"]
|
||||
[ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="3_p8srg"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="4_q4djj"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="5_eb8p8"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_064yj"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="7_rlyiq"]
|
||||
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="8_p8srg"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_p8srg"]
|
||||
size = Vector3(0.75, 0.5, 1.5)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_8j27j"]
|
||||
albedo_texture = ExtResource("2_rlyiq")
|
||||
metallic = 1.0
|
||||
metallic_texture = ExtResource("3_p8srg")
|
||||
roughness_texture = ExtResource("5_eb8p8")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("4_q4djj")
|
||||
ao_enabled = true
|
||||
texture_filter = 2
|
||||
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_p8srg"]
|
||||
data = PackedVector3Array(0.375, -0.15, 0.75, 0.275, -0.25, 0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, -0.25, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.375, 0.15, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, 0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, 0.75, 0.375, 0.15, -0.75, 0.375, -0.15, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, 0.75, -0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.275, 0.25, 0.75, -0.375, 0.15, 0.75, -0.375, -0.15, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, -0.75, -0.375, -0.15, -0.75, -0.275, -0.25, -0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, -0.25, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.375, 0.15, -0.75, 0.375, 0.15, -0.75, -0.275, -0.25, -0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.275, -0.25, 0.75)
|
||||
|
||||
[node name="PhysCrateLong" type="RigidBody3D" groups=["Persistent", "PlasticMaterial"]]
|
||||
collision_layer = 67
|
||||
collision_mask = 73
|
||||
mass = 200.0
|
||||
script = ExtResource("1_q4djj")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_p8srg")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_sao54")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_8j27j")
|
||||
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_p8srg")
|
||||
|
||||
[node name="Gunkable" parent="MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_064yj")]
|
||||
mask_dim = 128
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_rlyiq")
|
||||
|
||||
[node name="Holdable" type="Node" parent="."]
|
||||
script = ExtResource("8_p8srg")
|
||||
hold_distance = 2.0
|
||||
metadata/_custom_type_script = "uid://040xta01xqxd"
|
@ -5,7 +5,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://da5p04vbiy3xe" path="res://assets/props/crate_long/crate_long_M.png" id="3_c6a2t"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsovubygl3go2" path="res://assets/props/crate_long/crate_long_N.png" id="4_d06p6"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1m1my5q2vlwi" path="res://assets/props/crate_long/crate_long_R.png" id="5_cmp6v"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_d06p6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_agrnx"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_c6a2t"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5pe4w"]
|
||||
@ -21,13 +21,19 @@ texture_filter = 2
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_d06p6"]
|
||||
data = PackedVector3Array(0.375, -0.15, 0.75, 0.275, -0.25, 0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, -0.25, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, -0.25, 0.75, -0.375, 0.15, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, 0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, 0.75, 0.375, 0.15, -0.75, 0.375, -0.15, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, 0.75, -0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.275, 0.25, 0.75, -0.375, 0.15, 0.75, -0.375, -0.15, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, -0.75, -0.375, -0.15, -0.75, -0.275, -0.25, -0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, -0.25, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.275, 0.25, -0.75, 0.275, 0.25, -0.75, -0.275, -0.25, -0.75, 0.375, 0.15, -0.75, 0.375, 0.15, -0.75, -0.275, -0.25, -0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, 0.75, -0.375, -0.15, 0.75, -0.275, -0.25, -0.75, -0.375, -0.15, -0.75, -0.275, 0.25, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, -0.75, -0.375, 0.15, -0.75, -0.275, 0.25, 0.75, -0.375, 0.15, 0.75, 0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, -0.75, 0.375, -0.15, -0.75, 0.275, -0.25, 0.75, 0.375, -0.15, 0.75, 0.275, 0.25, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, 0.75, 0.375, 0.15, 0.75, 0.275, 0.25, -0.75, 0.375, 0.15, -0.75, 0.275, -0.25, -0.75, -0.275, -0.25, -0.75, 0.275, -0.25, 0.75, 0.275, -0.25, 0.75, -0.275, -0.25, -0.75, -0.275, -0.25, 0.75)
|
||||
|
||||
[node name="CrateLong" type="MeshInstance3D"]
|
||||
[node name="StaticCrateLong" type="MeshInstance3D"]
|
||||
mesh = ExtResource("1_d06p6")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_5pe4w")
|
||||
|
||||
[node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_d06p6")]
|
||||
mask_dim = 128
|
||||
source_gunk_material = ExtResource("6_c6a2t")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_d06p6")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_agrnx")]
|
||||
mask_dim = 128
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_c6a2t")
|
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://c8pkhw0b47xdd"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://c8pkhw0b47xdd"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://dg4odum5vfc2r" path="res://assets/props/cupboard/cupboard_C.png" id="1_00yk4"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://dgfds7nbhxbbl" path="res://assets/props/cupboard/cupboard.obj" id="1_ssqwt"]
|
||||
[ext_resource type="Texture2D" uid="uid://dkx0128lukxme" path="res://assets/props/cupboard/cupboard_M.png" id="2_w0nd8"]
|
||||
[ext_resource type="Texture2D" uid="uid://c0qid1gqplbly" path="res://assets/props/cupboard/cupboard_N.png" id="3_ssqwt"]
|
||||
[ext_resource type="Texture2D" uid="uid://cdmgbmje8ub3y" path="res://assets/props/cupboard/cupboard_R.png" id="4_q3cl1"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_q3cl1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="7_wyuua"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="8_rgfsf"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_wyuua"]
|
||||
albedo_texture = ExtResource("1_00yk4")
|
||||
@ -23,7 +24,14 @@ data = PackedVector3Array(-0.5, 0.5, 2, -0.5, -0.5, 2, -0.5, 0.5, -2, -0.5, 0.5,
|
||||
mesh = ExtResource("1_ssqwt")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_wyuua")
|
||||
|
||||
[node name="GunkBody" parent="." groups=["MetalMaterial"] instance=ExtResource("5_q3cl1")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_tv0mb")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_wyuua")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("8_rgfsf")
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
60
src/props/med_cart/phys_med_cart.tscn
Normal file
60
src/props/med_cart/phys_med_cart.tscn
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://oipf3w7hm5gf"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://oipf3w7hm5gf"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://c0nxj2li1pefb" path="res://assets/props/operating_table/operating_table.obj" id="1_pt2ft"]
|
||||
[ext_resource type="Texture2D" uid="uid://e7kat4x3brst" path="res://assets/props/operating_table/operating_table_C.png" id="2_73alj"]
|
||||
[ext_resource type="Texture2D" uid="uid://ctv1f41eefar0" path="res://assets/props/operating_table/operating_table_M.png" id="3_lhd0e"]
|
||||
[ext_resource type="Texture2D" uid="uid://uk3m431m6r0" path="res://assets/props/operating_table/operating_table_N.png" id="4_mevr1"]
|
||||
[ext_resource type="Texture2D" uid="uid://c4u3qvdtyoq4a" path="res://assets/props/operating_table/operating_table_R.png" id="5_lcrh2"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_lhd0e"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_mevr1"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="7_lcrh2"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lhd0e"]
|
||||
albedo_texture = ExtResource("2_73alj")
|
||||
@ -23,8 +24,15 @@ data = PackedVector3Array(-0.9749, 0.4, 0.5127, -0.9749, 0.3, 0.5127, -0.9715, 0
|
||||
mesh = ExtResource("1_pt2ft")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_lhd0e")
|
||||
|
||||
[node name="GunkBody" parent="." instance=ExtResource("6_lhd0e")]
|
||||
mask_dim = 192
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_5ju1e")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_mevr1")]
|
||||
mask_dim = 192
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_lcrh2")
|
||||
|
@ -5,7 +5,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://c3pfufk3r4611" path="res://assets/props/overhead_light/overhead_light_burnout_M.png" id="2_esawx"]
|
||||
[ext_resource type="Texture2D" uid="uid://buxuntbbfwvfg" path="res://assets/props/overhead_light/overhead_light_burnout_N.png" id="3_vg5ej"]
|
||||
[ext_resource type="Texture2D" uid="uid://c40m0iq5tot1a" path="res://assets/props/overhead_light/overhead_light_burnout_R.png" id="4_0f8x7"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_qcusd"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_1oo6x"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_8nypc"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_niury"]
|
||||
@ -26,9 +26,15 @@ data = PackedVector3Array(0.4, -0.1, 0.75, 0.3, -0.2, 0.75, 0.4, 0, 0.75, 0.4, 0
|
||||
mesh = ExtResource("1_esawx")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_niury")
|
||||
|
||||
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("5_qcusd")]
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("6_8nypc")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_jad1v")
|
||||
|
||||
[node name="Gunkable" parent="MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_1oo6x")]
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_8nypc")
|
||||
|
@ -4,18 +4,18 @@ extends Node3D
|
||||
@export var initial_mask: Texture
|
||||
|
||||
@onready var spot_light_3d: SpotLight3D = %SpotLight3D
|
||||
@onready var gunk_body: GunkBody = %GunkBody
|
||||
@onready var gunkable: Gunkable = %Gunkable
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if initial_mask:
|
||||
gunk_body.initial_mask = initial_mask
|
||||
gunkable.initial_mask = initial_mask
|
||||
|
||||
_deferred_init.call_deferred()
|
||||
|
||||
|
||||
func _deferred_init() -> void:
|
||||
gunk_body.trigger_recompute()
|
||||
gunkable.trigger_recompute()
|
||||
|
||||
|
||||
func _on_clear_total_updated(clear_total: float) -> void:
|
||||
|
@ -7,8 +7,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bh2jmk7jfjmyr" path="res://assets/props/overhead_light/overhead_light_M.png" id="3_ngq1d"]
|
||||
[ext_resource type="Texture2D" uid="uid://no4s7dsg8tih" path="res://assets/props/overhead_light/overhead_light_N.png" id="4_3gl0p"]
|
||||
[ext_resource type="Texture2D" uid="uid://cr5e4hk33wmwf" path="res://assets/props/overhead_light/overhead_light_R.png" id="5_210ch"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_3gl0p"]
|
||||
[ext_resource type="Material" uid="uid://dutkfm4ek0ysh" path="res://assets/materials/gunk_bright.material" id="8_3gl0p"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="10_ljcul"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_ljcul"]
|
||||
resource_local_to_scene = true
|
||||
@ -99,12 +99,14 @@ visible = false
|
||||
light_color = Color(1, 0.9825, 0.95, 1)
|
||||
light_energy = 2.0
|
||||
light_specular = 1.0
|
||||
shadow_enabled = true
|
||||
spot_range = 16.0
|
||||
spot_attenuation = 0.5
|
||||
spot_angle = 98.0
|
||||
spot_angle = 70.0
|
||||
spot_angle_attenuation = 1.55871
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
cast_shadow = 0
|
||||
gi_mode = 2
|
||||
mesh = ExtResource("2_210ch")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_ljcul")
|
||||
@ -115,12 +117,18 @@ libraries = {
|
||||
}
|
||||
autoplay = "flicker"
|
||||
|
||||
[node name="GunkBody" parent="MeshInstance3D" instance=ExtResource("6_3gl0p")]
|
||||
unique_name_in_owner = true
|
||||
mask_dim = 64
|
||||
source_gunk_material = ExtResource("8_3gl0p")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="MeshInstance3D"]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_jdrpd")
|
||||
|
||||
[connection signal="clear_total_updated" from="MeshInstance3D/GunkBody" to="." method="_on_clear_total_updated"]
|
||||
[node name="Gunkable" parent="MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("10_ljcul")]
|
||||
unique_name_in_owner = true
|
||||
mask_dim = 64
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("8_3gl0p")
|
||||
|
||||
[connection signal="clear_total_updated" from="MeshInstance3D/StaticBody3D/Gunkable" to="." method="_on_clear_total_updated"]
|
||||
|
11
src/props/physics/holdable.gd
Normal file
11
src/props/physics/holdable.gd
Normal file
@ -0,0 +1,11 @@
|
||||
class_name Holdable extends Node
|
||||
## Component for holdable elements
|
||||
|
||||
@export var hold_distance := 1.0
|
||||
|
||||
|
||||
static func get_component(o: Object) -> Holdable:
|
||||
var n := o as Node
|
||||
if n and n.has_node("Holdable"):
|
||||
return n.get_node_or_null("Holdable") as Holdable
|
||||
return null
|
1
src/props/physics/holdable.gd.uid
Normal file
1
src/props/physics/holdable.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://040xta01xqxd
|
18
src/props/physics/persistent_prop.gd
Normal file
18
src/props/physics/persistent_prop.gd
Normal file
@ -0,0 +1,18 @@
|
||||
extends RigidBody3D
|
||||
|
||||
|
||||
func serialize() -> Dictionary:
|
||||
return {
|
||||
"transform": transform,
|
||||
"linear_velocity": linear_velocity,
|
||||
"angular_velocity": angular_velocity,
|
||||
}
|
||||
|
||||
|
||||
func deserialize(state: Dictionary) -> void:
|
||||
@warning_ignore("unsafe_cast")
|
||||
transform = state["transform"] as Transform3D
|
||||
@warning_ignore("unsafe_cast")
|
||||
linear_velocity = state["linear_velocity"] as Vector3
|
||||
@warning_ignore("unsafe_cast")
|
||||
angular_velocity = state["angular_velocity"] as Vector3
|
1
src/props/physics/persistent_prop.gd.uid
Normal file
1
src/props/physics/persistent_prop.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://sksndhqyo2bn
|
@ -5,8 +5,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://dgyk61lmv3q66" path="res://assets/props/railing/railing_M.png" id="3_vgbo1"]
|
||||
[ext_resource type="Texture2D" uid="uid://cd142v5tbh10j" path="res://assets/props/railing/railing_N.png" id="4_d75t1"]
|
||||
[ext_resource type="Texture2D" uid="uid://tpweuhaqj3uy" path="res://assets/props/railing/railing_R.png" id="5_557y4"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_vgbo1"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="7_vgbo1"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="8_d75t1"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nyaqk"]
|
||||
albedo_texture = ExtResource("2_2gmox")
|
||||
@ -24,9 +24,15 @@ data = PackedVector3Array(1.475, 0.5, 0, 1.5, 0.5, 0.025, -1.475, 0.5, 0, -1.475
|
||||
mesh = ExtResource("1_43h1k")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_nyaqk")
|
||||
|
||||
[node name="GunkBody" parent="." instance=ExtResource("6_vgbo1")]
|
||||
mask_dim = 128
|
||||
source_gunk_material = ExtResource("7_vgbo1")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_557y4")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("8_d75t1")]
|
||||
mask_dim = 128
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_vgbo1")
|
||||
|
@ -1,11 +1,12 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://cvx5u0ttmri4q"]
|
||||
[gd_scene load_steps=10 format=3 uid="uid://cvx5u0ttmri4q"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://b8p36gpkqwmkb" path="res://assets/props/sofa/sofa.obj" id="1_xi4at"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7wa2igxm2vta" path="res://assets/props/sofa/sofa_C.png" id="2_dd1m6"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdutuchsgsudg" path="res://assets/props/sofa/sofa_M.png" id="3_tqm3d"]
|
||||
[ext_resource type="Texture2D" uid="uid://c0fmlt2f7h0l7" path="res://assets/props/sofa/sofa_N.png" id="4_kf17g"]
|
||||
[ext_resource type="Texture2D" uid="uid://bgedr6qe65yve" path="res://assets/props/sofa/sofa_R.png" id="5_0yugb"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_dd1m6"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_tqm3d"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="7_kf17g"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dd1m6"]
|
||||
albedo_texture = ExtResource("2_dd1m6")
|
||||
@ -23,8 +24,15 @@ data = PackedVector3Array(-1.25, 0.05, 0.6, -1.09, -0.35, 0.6, -1.25, -0.5, 0.6,
|
||||
mesh = ExtResource("1_xi4at")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_dd1m6")
|
||||
|
||||
[node name="GunkBody" parent="." instance=ExtResource("6_dd1m6")]
|
||||
mask_dim = 196
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_tqm3d")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_tqm3d")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("7_kf17g")
|
||||
|
@ -5,7 +5,7 @@
|
||||
[ext_resource type="Texture2D" uid="uid://boqywmqew0f1i" path="res://assets/props/tarp_crate/tarp_crate_M.png" id="2_4lu2x"]
|
||||
[ext_resource type="Texture2D" uid="uid://2eg8lmfp1r45" path="res://assets/props/tarp_crate/tarp_crate_N.png" id="3_vis60"]
|
||||
[ext_resource type="Texture2D" uid="uid://i031i4c162sf" path="res://assets/props/tarp_crate/tarp_crate_R.png" id="4_p1cm3"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="5_p1cm3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="6_p1cm3"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="6_vis60"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qbm60"]
|
||||
@ -27,9 +27,15 @@ data = PackedVector3Array(-0.5, 0.7, 0.5, -0.5, -0.7, 0.5, -0.5, 0.7, -0.5, -0.5
|
||||
mesh = ExtResource("1_p1cm3")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_qbm60")
|
||||
|
||||
[node name="GunkBody" parent="." groups=["PlasticMaterial"] instance=ExtResource("5_p1cm3")]
|
||||
mask_dim = 196
|
||||
source_gunk_material = ExtResource("6_vis60")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_v6rol")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("6_p1cm3")]
|
||||
mask_dim = 196
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("6_vis60")
|
||||
|
70
src/props/trash_can/phys_trash_can.tscn
Normal file
70
src/props/trash_can/phys_trash_can.tscn
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -7,8 +7,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://8v7jta2qdvut" path="res://assets/props/vending_machine/vending_machine_N.png" id="4_m0mqe"]
|
||||
[ext_resource type="Texture2D" uid="uid://gbvtbiurxrop" path="res://assets/props/vending_machine/vending_machine_R.png" id="5_pmvmu"]
|
||||
[ext_resource type="Script" uid="uid://jybe7wejrtuj" path="res://src/props/vending_machine/vending_machine.gd" id="6_5b31a"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="6_kgb1h"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="8_b7lht"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="10_8xld6"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v4lrk"]
|
||||
resource_local_to_scene = true
|
||||
@ -31,9 +31,14 @@ mesh = ExtResource("1_5b31a")
|
||||
surface_material_override/0 = SubResource("StandardMaterial3D_v4lrk")
|
||||
script = ExtResource("6_5b31a")
|
||||
|
||||
[node name="GunkBody" parent="." groups=["MetalMaterial"] instance=ExtResource("6_kgb1h")]
|
||||
source_gunk_material = ExtResource("8_b7lht")
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["MetalMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody"]
|
||||
visible = false
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||
shape = SubResource("ConcavePolygonShape3D_1s701")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("10_8xld6")]
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../..")
|
||||
source_gunk_material = ExtResource("8_b7lht")
|
||||
|
@ -12,7 +12,8 @@ const CLEAN_THRESHOLD := 1400
|
||||
|
||||
@onready var animation_player: AnimationPlayer = %AnimationPlayer
|
||||
@onready var light_animation: AnimationPlayer = %LightAnimation
|
||||
@onready var gunk_body: GunkBody = %GunkBody
|
||||
@onready var gunkable: Gunkable = %Gunkable
|
||||
|
||||
@onready var interactive: Interactive = %Interactive
|
||||
@onready var action_sfx: AudioStreamPlayer3D = %ActionSFX
|
||||
@onready var action_delay: Timer = %ActionDelay
|
||||
@ -27,7 +28,7 @@ func _ready() -> void:
|
||||
|
||||
func _deferred_init() -> void:
|
||||
if clean:
|
||||
gunk_body.clear_all()
|
||||
gunkable.clear_all()
|
||||
_on_clean()
|
||||
if enabled:
|
||||
_on_enable()
|
||||
@ -82,7 +83,7 @@ func _animation_finished(anim_name: StringName) -> void:
|
||||
interactive.enabled = enabled
|
||||
|
||||
|
||||
func _on_gunk_body_clear_total_updated(clear_total: float) -> void:
|
||||
func _on_clear_total_updated(clear_total: float) -> void:
|
||||
if not clean and clear_total >= CLEAN_THRESHOLD:
|
||||
_on_clean()
|
||||
|
||||
|
@ -6,8 +6,8 @@
|
||||
[ext_resource type="Texture2D" uid="uid://bur4dtt4irwgd" path="res://assets/props/wall_switch/wall_switch_M.png" id="3_3fhmv"]
|
||||
[ext_resource type="Texture2D" uid="uid://ddve6jcfcuthx" path="res://assets/props/wall_switch/wall_switch_N.png" id="4_pg3hp"]
|
||||
[ext_resource type="Texture2D" uid="uid://rq5e0a3sco88" path="res://assets/props/wall_switch/wall_switch_R.png" id="5_555wb"]
|
||||
[ext_resource type="PackedScene" uid="uid://c2omlx4ptrc01" path="res://src/world/gunk_body/gunk_body.tscn" id="7_3ib1l"]
|
||||
[ext_resource type="Material" uid="uid://c1vy4bkwb1g5m" path="res://assets/materials/gunk_lowrez.material" id="8_2qpft"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="9_eim2y"]
|
||||
[ext_resource type="Script" uid="uid://deg5xd87cy8rg" path="res://src/props/interactive.gd" id="10_qw6jt"]
|
||||
[ext_resource type="AudioStream" uid="uid://bgayfws34lg7q" path="res://assets/sfx/click_electronic_04.wav" id="11_7shuc"]
|
||||
[ext_resource type="AudioStream" uid="uid://cnje66wrijwxw" path="res://assets/sfx/wall_switch.wav" id="12_2qpft"]
|
||||
@ -200,15 +200,20 @@ surface_material_override/0 = SubResource("StandardMaterial3D_jtkkw")
|
||||
[node name="AnimationPlayer" parent="." index="1"]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="GunkBody" parent="." index="2" node_paths=PackedStringArray("mesh_instance") instance=ExtResource("7_3ib1l")]
|
||||
[node name="StaticBody3D" type="StaticBody3D" parent="." index="2" groups=["PlasticMaterial"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0"]
|
||||
shape = SubResource("ConcavePolygonShape3D_2qpft")
|
||||
|
||||
[node name="Gunkable" parent="StaticBody3D" index="1" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("9_eim2y")]
|
||||
unique_name_in_owner = true
|
||||
mask_dim = 64
|
||||
mesh_instance = NodePath("../Armature/Skeleton3D/WallSwitch_2")
|
||||
body = NodePath("..")
|
||||
mesh_instance = NodePath("../../Armature/Skeleton3D/WallSwitch_2")
|
||||
source_gunk_material = ExtResource("8_2qpft")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="GunkBody" index="2"]
|
||||
shape = SubResource("ConcavePolygonShape3D_2qpft")
|
||||
|
||||
[node name="Lights" type="Node3D" parent="." index="3"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.137, 0.18, 0.08)
|
||||
|
||||
@ -267,7 +272,7 @@ metadata/_custom_type_script = "uid://c5o1d2shq2qig"
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="WallSwitchGameSoundEmitter" index="0"]
|
||||
shape = SubResource("SphereShape3D_mxsyy")
|
||||
|
||||
[connection signal="clear_total_updated" from="GunkBody" to="." method="_on_gunk_body_clear_total_updated"]
|
||||
[connection signal="clear_total_updated" from="StaticBody3D/Gunkable" to="." method="_on_clear_total_updated"]
|
||||
[connection signal="activated" from="Interactive" to="." method="_activate"]
|
||||
[connection signal="timeout" from="ActionDelay" to="." method="_on_action_delay_timeout"]
|
||||
[connection signal="timeout" from="ActionDelay" to="WallSwitchGameSoundEmitter" method="emit_sound_here"]
|
||||
|
12
src/util/gi_hint.gd
Normal file
12
src/util/gi_hint.gd
Normal file
@ -0,0 +1,12 @@
|
||||
extends MeshInstance3D
|
||||
|
||||
@export var frames_to_live := 16
|
||||
|
||||
var frames_remaining := frames_to_live
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if frames_remaining <= 0:
|
||||
queue_free()
|
||||
|
||||
frames_remaining -= 1
|
1
src/util/gi_hint.gd.uid
Normal file
1
src/util/gi_hint.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://m8bjl8yr01m6
|
@ -1 +0,0 @@
|
||||
uid://hbl5u20wlwr5
|
@ -1,5 +1,5 @@
|
||||
class_name GunkBody extends StaticBody3D
|
||||
## StaticBody3D with an associated "gunkable" mesh.
|
||||
class_name Gunkable extends Node
|
||||
## Component behavior for gunkable props & geometry.
|
||||
|
||||
## Emitted from the main thread after the clear total is asynchronously updated.
|
||||
signal clear_total_updated(clear_total: float)
|
||||
@ -13,6 +13,7 @@ const CLEAR_TOTAL_EPSILON := 1
|
||||
const MASK_THRESHOLD := 0.5
|
||||
|
||||
@export var mask_dim := 256
|
||||
@export var body: PhysicsBody3D
|
||||
@export var mesh_instance: MeshInstance3D
|
||||
@export var initial_mask: Texture
|
||||
|
||||
@ -41,16 +42,17 @@ var _exit_thread := false
|
||||
@onready var mask_control: DrawController = %MaskControl
|
||||
@onready var mask_texture: TextureRect = %MaskTexture
|
||||
|
||||
@onready var debug_draw: DebugDraw = $DebugDraw
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
# If no physics body was provided, use the parent.
|
||||
if not body:
|
||||
body = get_parent() as PhysicsBody3D
|
||||
assert(body, "Gunkable %s has no associated physics body!" % str(self))
|
||||
|
||||
# If no mesh_instance was provided, use the parent.
|
||||
if not mesh_instance:
|
||||
var parent := get_parent() as MeshInstance3D
|
||||
if parent:
|
||||
mesh_instance = parent
|
||||
assert(mesh_instance, "GunkBody %s has no associated mesh!" % str(self))
|
||||
mesh_instance = get_parent() as MeshInstance3D
|
||||
assert(mesh_instance, "Gunkable %s has no associated mesh!" % str(self))
|
||||
|
||||
mask_viewport.size = Vector2(mask_dim, mask_dim)
|
||||
|
||||
@ -185,9 +187,7 @@ func _get_uv(point: Vector3, normal: Vector3) -> Vector2:
|
||||
##
|
||||
## Returns Vector2.INF if the given point+normal does not lie on this mesh within tolerance.
|
||||
func _get_px(point: Vector3, normal: Vector3) -> Vector2:
|
||||
debug_draw.draw_vector(normal, point)
|
||||
|
||||
return _get_uv(point * global_transform, normal * global_basis) * mask_control.size
|
||||
return _get_uv(point * body.global_transform, normal * body.global_basis) * mask_control.size
|
||||
|
||||
|
||||
func is_point_gunked(point: Vector3, normal: Vector3) -> bool:
|
||||
@ -300,3 +300,10 @@ func serialize() -> Dictionary:
|
||||
func deserialize(state: Dictionary) -> void:
|
||||
@warning_ignore("unsafe_cast")
|
||||
initial_mask = ImageTexture.create_from_image(state["mask"] as Image)
|
||||
|
||||
|
||||
static func get_component(o: Object) -> Gunkable:
|
||||
var n := o as Node
|
||||
if n and n.has_node("Gunkable"):
|
||||
return n.get_node_or_null("Gunkable") as Gunkable
|
||||
return null
|
1
src/world/gunkable/gunkable.gd.uid
Normal file
1
src/world/gunkable/gunkable.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://co0g2klfmor48
|
@ -1,15 +1,11 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c2omlx4ptrc01"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cdi5sl60mw1po"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://hbl5u20wlwr5" path="res://src/world/gunk_body/gunk_body.gd" id="1_qqbpr"]
|
||||
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="2_hrldx"]
|
||||
[ext_resource type="Script" uid="uid://bom5qysgfvap1" path="res://src/world/gunk_body/draw_controller.gd" id="2_kkcjw"]
|
||||
[ext_resource type="Script" uid="uid://ba7480ara8eo" path="res://levels/sandbox/debug_draw.gd" id="3_m8wx4"]
|
||||
[ext_resource type="Script" uid="uid://co0g2klfmor48" path="res://src/world/gunkable/gunkable.gd" id="1_47xoo"]
|
||||
[ext_resource type="Script" uid="uid://bom5qysgfvap1" path="res://src/world/gunkable/draw_controller.gd" id="2_srn13"]
|
||||
|
||||
[node name="GunkBody" type="StaticBody3D" groups=["Persistent"]]
|
||||
collision_layer = 5
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_qqbpr")
|
||||
source_gunk_material = ExtResource("2_hrldx")
|
||||
[node name="Gunkable" type="Node" groups=["Persistent"]]
|
||||
script = ExtResource("1_47xoo")
|
||||
metadata/_custom_type_script = "uid://co0g2klfmor48"
|
||||
|
||||
[node name="MaskViewport" type="SubViewport" parent="."]
|
||||
unique_name_in_owner = true
|
||||
@ -44,18 +40,7 @@ anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("2_kkcjw")
|
||||
|
||||
[node name="DebugDraw" type="Control" parent="."]
|
||||
visible = false
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
script = ExtResource("3_m8wx4")
|
||||
script = ExtResource("2_srn13")
|
||||
|
||||
[connection signal="visibility_changed" from="MaskViewport/MaskClear" to="MaskViewport/MaskControl" method="_set_dirty"]
|
||||
[connection signal="visibility_changed" from="MaskViewport/MaskTexture" to="MaskViewport/MaskControl" method="_set_dirty"]
|
@ -164,4 +164,11 @@
|
||||
- [x] railing (0.1x1.0x3.0)
|
||||
- [ ] monitor desk (0.7x1.7x4.0)
|
||||
- [ ] regular desk (0.7x1.2x4.0)
|
||||
- [ ] wraparound desk
|
||||
- [ ] wraparound desk
|
||||
- [ ] etc
|
||||
- [ ] Make sofa cushions separate physics objects
|
||||
- [ ] Object hold UX
|
||||
- [ ] holdable object HUD icon
|
||||
- [ ] highlight holdable objects?
|
||||
- [ ] 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.
|
Loading…
x
Reference in New Issue
Block a user