grunk/src/props/sofa/phys_sofa.tscn

238 lines
17 KiB
Plaintext
Raw Normal View History

[gd_scene load_steps=19 format=3 uid="uid://c55n6h3ydi32e"]
[ext_resource type="ArrayMesh" uid="uid://vb5cxt1113xr" path="res://assets/props/sofa/sofa_frame.obj" id="2_txvha"]
[ext_resource type="Texture2D" uid="uid://c7wa2igxm2vta" path="res://assets/props/sofa/sofa_C.png" id="3_twcgi"]
[ext_resource type="Texture2D" uid="uid://bdutuchsgsudg" path="res://assets/props/sofa/sofa_M.png" id="4_pr1sr"]
[ext_resource type="Texture2D" uid="uid://c0fmlt2f7h0l7" path="res://assets/props/sofa/sofa_N.png" id="5_p1o88"]
[ext_resource type="Texture2D" uid="uid://bgedr6qe65yve" path="res://assets/props/sofa/sofa_R.png" id="6_xa6g3"]
[ext_resource type="PackedScene" uid="uid://cdi5sl60mw1po" path="res://src/world/gunkable/gunkable.tscn" id="7_twcgi"]
[ext_resource type="Material" uid="uid://cqjr3cbxtfg2j" path="res://assets/materials/gunk.material" id="8_pr1sr"]
[ext_resource type="ArrayMesh" uid="uid://bc4otwcwsiu2m" path="res://assets/props/sofa/sofa_bottom_cushion.obj" id="9_p1o88"]
[ext_resource type="Script" uid="uid://040xta01xqxd" path="res://src/props/physics/holdable.gd" id="10_xa6g3"]
[ext_resource type="ArrayMesh" uid="uid://drr1wn0wmt5bi" path="res://assets/props/sofa/sofa_top_cushion.obj" id="11_yib26"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yib26"]
albedo_texture = ExtResource("3_twcgi")
metallic = 1.0
metallic_texture = ExtResource("4_pr1sr")
roughness_texture = ExtResource("6_xa6g3")
normal_enabled = true
normal_texture = ExtResource("5_p1o88")
texture_filter = 2
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_txvha"]
data = PackedVector3Array(-1.25, 0.05, 0.6, -1.09, -0.35, 0.6, -1.25, -0.5, 0.6, -1.09, 0.05, 0.6, -1.09, -0.35, 0.6, -1.25, 0.05, 0.6, -1.04, -0.5, 0.6, -1.25, -0.5, 0.6, -1.09, -0.35, 0.6, -1.09, -0.35, 0.6, 1.04, -0.5, 0.6, -1.04, -0.5, 0.6, 1.09, -0.35, 0.6, 1.04, -0.5, 0.6, -1.09, -0.35, 0.6, 1.04, -0.5, 0.6, 1.09, -0.35, 0.6, 1.25, -0.5, 0.6, 1.25, 0.05, 0.6, 1.25, -0.5, 0.6, 1.09, -0.35, 0.6, 1.09, 0.05, 0.6, 1.25, 0.05, 0.6, 1.09, -0.35, 0.6, -1.25, -0.5, -0.6, -1.04, -0.5, -0.6, -1.25, 0.05, -0.6, -1.25, 0.05, -0.6, -1.04, -0.5, -0.6, -1.04, 0.05, -0.6, -1.04, -0.5, -0.6, 1.04, -0.5, -0.6, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, 1.04, -0.5, -0.6, -1.04, 0.3, -0.6, -1.04, 0.3, -0.6, 1.04, -0.5, -0.6, 1.04, 0.3, -0.6, 1.04, 0.3, -0.6, 1.04, -0.5, -0.6, 1.04, 0.05, -0.6, 1.04, -0.5, -0.6, 1.25, -0.5, -0.6, 1.04, 0.05, -0.6, 1.04, 0.05, -0.6, 1.25, -0.5, -0.6, 1.25, 0.05, -0.6, 1.04, 0.3, -0.51, -1.04, 0.3, -0.51, 1.04, 0.3, -0.6, 1.04, 0.3, -0.6, -1.04, 0.3, -0.51, -1.04, 0.3, -0.6, -1.04, 0.05, -0.4225, -1.04, 0.05, -0.6, -1.04, 0.3, -0.51, -1.04, 0.3, -0.51, -1.04, 0.05, -0.6, -1.04, 0.3, -0.6, 1.04, 0.05, -0.4225, 1.04, 0.05, 0.55, 1.04, -0.3, -0.3, 1.04, -0.3, -0.3, 1.04, 0.05, 0.55, 1.04, -0.3, 0.55, 1.04, -0.3, 0.55, -1.04, -0.3, 0.55, 1.04, -0.3, -0.3, 1.04, -0.3, -0.3, -1.04, -0.3, 0.55, -1.04, -0.3, -0.3, -1.04, 0.05, 0.55, -1.04, 0.05, -0.4225, -1.04, -0.3, 0.55, -1.04, -0.3, 0.55, -1.04, 0.05, -0.4225, -1.04, -0.3, -0.3, 1.3, -0.5, -0.55, 1.3, -0.5, 0.55, 1.3, 0.05, -0.55, 1.3, 0.05, -0.55, 1.3, -0.5, 0.55, 1.3, 0.05, 0.55, -1.25, -0.5, -0.6, -1.3, -0.5, -0.55, -1.04, -0.5, -0.6, -1.25, -0.5, 0.6, -1.3, -0.5, -0.55, -1.3, -0.5, 0.55, -1.04, -0.5, 0.6, -1.3, -0.5, -0.55, -1.25, -0.5, 0.6, -1.04, -0.5, -0.6, -1.3, -0.5, -0.55, -1.04, -0.5, 0.6, 1.04, -0.5, 0.6, -1.04, -0.5, -0.6, -1.04, -0.5, 0.6, 1.04, -0.5, -0.6, -1.04, -0.5, -0.6, 1.04, -0.5, 0.6, 1.25, -0.5, 0.6, 1.04, -0.5, -0.6, 1.04, -0.5, 0.6, 1.3, -0.5, 0.55, 1.04, -0.5, -0.6, 1.25, -0.5, 0.6, 1.3, -0.5, -0.55, 1.04, -0.5, -0.6, 1.3, -0.5, 0.55, 1.25, -0.5, -0.6, 1.04, -0.5, -0.6, 1.3, -0.5, -0.55, -1.09, 0.1, -0.55, -1.09, 0.1, 0.55, -1.25, 0.1, -0.55, -1.25, 0.1, -0.55, -1.09, 0.1, 0.55, -1.25, 0.1, 0.55, 1.04, -0.3, -0.3, -1.04, -0.3, -0.3, 1.04, 0.05, -0.4225, 1.04, 0.05, -0.4225, -1.04, -0.3, -0.3, 1.04, 0.3, -0.51, 1.04, 0.3, -0.51, -1.04, -0.3, -0.3, -1.04, 0.3, -0.51, -1.04, 0.3, -0.51, -1.04, -0.3, -0.3, -1.04, 0.05, -0.4225, 1.25, 0.1, 0.55, 1.09, 0.1, 0.55, 1.25, 0.1, -0.55, 1.25, 0.1, -0.55, 1.09, 0.1, 0.55, 1.09, 0.1, -0.55, -1.3, -0.5, 0.55, -1.3, -0.5, -0.55, -1.3, 0.05, 0.55, -1.3, 0.05, 0.55, -1.3, -0.5, -0.55, -1.3, 0.05, -0.55, 1.09, 0.05, 0.6, 1.04, 0.05, 0.55, 1.09, 0.1, 0.55, -1.09, 0.1, 0.55, -1.04, 0.05, 0.55, -1.09, 0.05, 0.6, 1.25, 0.1, 0.55, 1.3, 0.05, 0.55, 1.25, 0.05, 0.6, -1.25, 0.1, -0.55, -1.3, 0.05, -0.55, -1.25, 0.05, -0.6, 1.25, 0.05, -0.6, 1.3, 0.05, -0.55, 1.25, 0.1, -0.55, -1.25, 0.05, 0.6, -1.3, 0.05, 0.55, -1.25, 0.1, 0.55, -1.04, -0.3, 0.55, 1.04, -0.3, 0.55, -1.09, -0.35, 0.6, -1.09, -0.35, 0.6, 1.04, -0.3, 0.55, 1.09, -0.35, 0.6, 1.04, 0.05, 0.55, 1.04, 0.05, -0.4225, 1.09, 0.1, 0.55, 1.09, 0.1, 0.55, 1.04, 0.05, -0.4225, 1.09, 0.1, -0.55, 1.09, 0.1, -0.55, 1.04, 0.05, -0.4225, 1.04, 0.05, -0.6, -1.04, 0.05, 0.55, -1.09, 0.1, 0.55, -1.04, 0.05, -0.4225, -1.04, 0.05, -0.4225, -1.09, 0.1, 0.55, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, -1.09, 0.1, 0.55, -1.09, 0.1, -0.55, 1.25, 0.1, 0.55, 1.25, 0.1, -0.55, 1.3, 0.05, 0.55, 1.3, 0.05, 0.55, 1.25, 0.1, -0.55, 1.3, 0.05, -0.55, -1.25, 0.1, -0.55, -1.25, 0.1, 0.55, -1.3, 0.05, -0.55, -1.3, 0.05, -0.55, -1.25, 0.1, 0.55, -1.3, 0.05, 0.55, 1.04, 0.05, -0.6, 1.25, 0.05, -0.6, 1.09, 0.1, -0.55, 1.09, 0.1, -0.55, 1.25, 0.05, -0.6, 1.25, 0.1, -0.55, 1.25, 0.05, 0.6, 1.09, 0.05, 0.6, 1.25, 0.1, 0.55, 1.25, 0.1, 0.55, 1.09, 0.05, 0.6, 1.09, 0.1, 0.55, -1.09, 0.1, -0.55, -1.25, 0.1, -0.55, -1.04, 0.05, -0.6, -1.04, 0.05, -0.6, -1.25, 0.1, -0.55, -1.25, 0.05, -0.6, -1.25, 0.1, 0.55, -1.09, 0.1, 0.55, -1.25, 0.05, 0.6, -1.25, 0.05, 0.6, -1.09, 0.1, 0.55, -1.09, 0.05, 0.6, 1.09
[sub_resource type="BoxShape3D" id="BoxShape3D_twcgi"]
size = Vector3(0.26, 0.6, 1.2)
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pr1sr"]
points = PackedVector3Array(-1.04, -0.5, -0.6, -1.04, -0.30002, -0.3, 1.04, -0.5, -0.6, -1.04, -0.5, 0.6, -1.04, -0.30002, 0.549961, 1.04, -0.30002, -0.3, 1.04, -0.5, 0.6, -1.04, -0.35, 0.6, 1.04, -0.30002, 0.549961, 1.04, -0.35, 0.6)
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_p1o88"]
points = PackedVector3Array(1.04, 0.3, -0.510024, 1.04, 0.3, -0.6, -1.04, 0.3, -0.510024, 1.04, -0.300078, -0.3, 1.04, -0.5, -0.6, -1.04, 0.3, -0.6, -1.04, -0.300078, -0.3, -1.04, -0.5, -0.6)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xa6g3"]
albedo_texture = ExtResource("3_twcgi")
metallic = 1.0
metallic_texture = ExtResource("4_pr1sr")
roughness_texture = ExtResource("6_xa6g3")
normal_enabled = true
normal_texture = ExtResource("5_p1o88")
texture_filter = 2
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_yib26"]
points = PackedVector3Array(0.345722, 0.0288206, -0.401557, 0.300713, 0.0738257, -0.402183, 0.288666, 0.0738257, 0.407649, 0.333607, 0.0288206, 0.408364, 0.345722, -0.0311811, -0.401557, 0.301322, 0.0288206, -0.447263, 0.108292, 0.0796687, -0.405134, 0.0957707, 0.0796687, 0.412747, 0.287989, 0.0288206, 0.452639, 0.333607, -0.0311811, 0.408364, 0.288666, -0.076171, 0.407649, 0.300713, -0.076171, -0.402183, 0.301322, -0.0311811, -0.447263, 0.108969, 0.0329245, -0.450125, -0.0958384, 0.0796687, -0.408086, -0.10836, 0.0796687, 0.409885, 0.0950938, 0.0329245, 0.457827, 0.287989, -0.0311811, 0.452639, 0.0957707, -0.076171, 0.412747, 0.108292, -0.076171, -0.405134, -0.288057, -0.0311811, -0.455939, 0.108969, -0.0294267, -0.450125, -0.288057, 0.0288206, -0.455939, -0.0951615, 0.0329245, -0.453077, -0.288733, 0.0738257, -0.410948, -0.300781, 0.0738257, 0.398883, -0.301458, 0.0288206, 0.443874, -0.109036, 0.0329245, 0.454875, 0.0950938, -0.0294267, 0.457827, -0.10836, -0.076171, 0.409885, -0.288733, -0.076171, -0.410948, -0.333675, -0.0311811, -0.411664, -0.333675, 0.0288206, -0.411664, -0.345722, 0.0288206, 0.398257, -0.301458, -0.0311811, 0.443874, -0.109036, -0.0294267, 0.454875, -0.300781, -0.076171, 0.398883, -0.345722, -0.0311811, 0.398257)
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_s5bq7"]
points = PackedVector3Array(0.0982352, 0.277807, -0.0967521, 0.0982352, 0.220456, -0.125988, -0.0983018, 0.277807, -0.0967521, 0.0982352, 0.250158, -0.0360101, 0.294706, 0.270895, -0.0985379, 0.294706, 0.213544, -0.126141, -0.0983018, 0.220456, -0.125988, -0.0983018, 0.250158, -0.0360101, -0.294772, 0.270895, -0.0985379, 0.0982352, -0.216585, 0.134455, 0.294706, 0.243299, -0.0412143, 0.339733, 0.228449, -0.0836904, 0.294706, -0.246287, 0.0348089, -0.294772, 0.213544, -0.126141, -0.294772, 0.243299, -0.0412143, -0.0983018, -0.216585, 0.134455, -0.339733, 0.228449, -0.0836904, 0.0982352, -0.273882, 0.10522, 0.294706, -0.273882, 0.0921325, 0.294706, -0.216585, 0.119736, 0.339733, -0.231436, 0.077285, -0.294772, -0.246287, 0.0348089, -0.339733, -0.231436, 0.077285, -0.294772, -0.216585, 0.119736, -0.0983018, -0.273882, 0.10522, -0.294772, -0.273882, 0.0921325)
[node name="PhysSofa" type="Node3D"]
[node name="SofaFrame" type="RigidBody3D" parent="."]
collision_layer = 98
collision_mask = 73
mass = 500.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="SofaFrame"]
mesh = ExtResource("2_txvha")
surface_material_override/0 = SubResource("StandardMaterial3D_yib26")
[node name="StaticBody3D" type="StaticBody3D" parent="SofaFrame/MeshInstance3D"]
collision_layer = 4
collision_mask = 0
[node name="CollisionShape3D" type="CollisionShape3D" parent="SofaFrame/MeshInstance3D/StaticBody3D"]
shape = SubResource("ConcavePolygonShape3D_txvha")
[node name="Gunkable" parent="SofaFrame/MeshInstance3D/StaticBody3D" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../..")
source_gunk_material = ExtResource("8_pr1sr")
[node name="ArmLCollision" type="CollisionShape3D" parent="SofaFrame"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.17, -0.2, 0)
shape = SubResource("BoxShape3D_twcgi")
[node name="ArmRCollision" type="CollisionShape3D" parent="SofaFrame"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17, -0.2, 0)
shape = SubResource("BoxShape3D_twcgi")
[node name="BaseCollision" type="CollisionShape3D" parent="SofaFrame"]
shape = SubResource("ConvexPolygonShape3D_pr1sr")
[node name="BackCollision" type="CollisionShape3D" parent="SofaFrame"]
shape = SubResource("ConvexPolygonShape3D_p1o88")
[node name="BottomCushion" type="RigidBody3D" parent="."]
transform = Transform3D(0.999999, 0, -0.00153589, 0, 1, 0, 0.00153589, 0, 0.999999, 0, -0.224, 0.153)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion"]
mesh = ExtResource("9_p1o88")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion"]
shape = SubResource("ConvexPolygonShape3D_yib26")
[node name="Gunkable" parent="BottomCushion" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="BottomCushion"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"
[node name="BottomCushion3" type="RigidBody3D" parent="."]
transform = Transform3D(0.999822, 0.00228604, -0.0187437, -0.00228638, 0.999997, 3.51163e-06, 0.0187437, 3.93442e-05, 0.999824, 0.688976, -0.224, 0.17095)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion3"]
mesh = ExtResource("9_p1o88")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion3"]
shape = SubResource("ConvexPolygonShape3D_yib26")
[node name="Gunkable" parent="BottomCushion3" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="BottomCushion3"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"
[node name="BottomCushion2" type="RigidBody3D" parent="."]
transform = Transform3D(0.999913, 0, 0.0131594, 0, 1, 0, -0.0131594, 0, 0.999913, -0.690142, -0.223657, 0.154269)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="BottomCushion2"]
mesh = ExtResource("9_p1o88")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="BottomCushion2"]
shape = SubResource("ConvexPolygonShape3D_yib26")
[node name="Gunkable" parent="BottomCushion2" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="BottomCushion2"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"
[node name="TopCushion" type="RigidBody3D" parent="."]
transform = Transform3D(0.999895, 0.0133165, 0.00570669, -0.0133163, 0.999911, -7.59997e-05, -0.0057072, -7.27493e-12, 0.999984, -0.689198, 0.077623, -0.380305)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion"]
mesh = ExtResource("11_yib26")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion"]
shape = SubResource("ConvexPolygonShape3D_s5bq7")
[node name="Gunkable" parent="TopCushion" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="TopCushion"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"
[node name="TopCushion2" type="RigidBody3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000443935, 0.0780895, -0.380305)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion2"]
mesh = ExtResource("11_yib26")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion2"]
shape = SubResource("ConvexPolygonShape3D_s5bq7")
[node name="Gunkable" parent="TopCushion2" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="TopCushion2"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"
[node name="TopCushion3" type="RigidBody3D" parent="."]
transform = Transform3D(0.999759, -0.00898652, -0.0200525, 0.00898832, 0.99996, 0, 0.0200517, -0.000180238, 0.999799, 0.691321, 0.0831664, -0.380305)
collision_layer = 70
2025-07-10 18:15:01 -06:00
collision_mask = 65
mass = 30.0
sleeping = true
[node name="MeshInstance3D" type="MeshInstance3D" parent="TopCushion3"]
mesh = ExtResource("11_yib26")
surface_material_override/0 = SubResource("StandardMaterial3D_xa6g3")
[node name="CollisionShape3D" type="CollisionShape3D" parent="TopCushion3"]
shape = SubResource("ConvexPolygonShape3D_s5bq7")
[node name="Gunkable" parent="TopCushion3" node_paths=PackedStringArray("body", "mesh_instance") instance=ExtResource("7_twcgi")]
mask_dim = 196
body = NodePath("..")
mesh_instance = NodePath("../MeshInstance3D")
source_gunk_material = ExtResource("8_pr1sr")
[node name="Holdable" type="Node" parent="TopCushion3"]
script = ExtResource("10_xa6g3")
hold_distance = 1.2
metadata/_custom_type_script = "uid://040xta01xqxd"