[gd_scene load_steps=22 format=3 uid="uid://dmd7w2r8s0x6y"] [ext_resource type="PackedScene" uid="uid://bfh3eqgywr0ul" path="res://assets/models/character.blend" id="1_3qh37"] [ext_resource type="Script" path="res://player/Player.cs" id="1_a0mas"] [ext_resource type="Script" path="res://player/MovementController.cs" id="2_1pst4"] [ext_resource type="Script" path="res://player/PushbackArea.cs" id="2_almik"] [ext_resource type="Script" path="res://player/PickupController.cs" id="2_ns2pe"] [ext_resource type="Script" path="res://player/CameraController.cs" id="2_r3gna"] [ext_resource type="Script" path="res://player/AnimationController.cs" id="3_5rlwc"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_h1mfd"] radius = 0.24 height = 1.5 [sub_resource type="BoxShape3D" id="BoxShape3D_gtuvx"] size = Vector3(0.6, 1.6, 0.6) [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_l8s0f"] radius = 0.24 height = 1.5 [sub_resource type="SceneReplicationConfig" id="SceneReplicationConfig_305lt"] properties/0/path = NodePath(".:position") properties/0/spawn = true properties/0/replication_mode = 1 properties/1/path = NodePath(".:rotation") properties/1/spawn = true properties/1/replication_mode = 1 properties/2/path = NodePath(".:velocity") properties/2/spawn = true properties/2/replication_mode = 1 properties/3/path = NodePath("MovementController:InputVector") properties/3/spawn = true properties/3/replication_mode = 1 properties/4/path = NodePath("CameraController:CurrentPitch") properties/4/spawn = true properties/4/replication_mode = 1 properties/5/path = NodePath("CameraController:CurrentYaw") properties/5/spawn = true properties/5/replication_mode = 1 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_v7y1g"] animation = &"hold" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ra5r1"] animation = &"idle" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_10xtt"] filter_enabled = true filters = ["Skeleton/Skeleton3D:LowerArm_L", "Skeleton/Skeleton3D:LowerArm_R", "Skeleton/Skeleton3D:UpperArm_L", "Skeleton/Skeleton3D:UpperArm_R", "Skeleton/Skeleton3D:Wrist_L", "Skeleton/Skeleton3D:Wrist_R"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_cun17"] animation = &"idle" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_c1sen"] animation = &"walk_backward" [sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_j7sk1"] sync = true xfade_time = 0.1 input_0/name = "forward" input_0/auto_advance = false input_0/reset = true input_1/name = "backward" input_1/auto_advance = false input_1/reset = true [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_4taqe"] animation = &"walk_forward" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_krc6q"] [sub_resource type="AnimationNodeTransition" id="AnimationNodeTransition_nyobm"] xfade_time = 0.25 input_0/name = "idle" input_0/auto_advance = false input_0/reset = false input_1/name = "move" input_1/auto_advance = false input_1/reset = true [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_cstk8"] nodes/hold/node = SubResource("AnimationNodeAnimation_v7y1g") nodes/hold/position = Vector2(800, 340) nodes/idle/node = SubResource("AnimationNodeAnimation_ra5r1") nodes/idle/position = Vector2(600, 60) nodes/is_holding/node = SubResource("AnimationNodeBlend2_10xtt") nodes/is_holding/position = Vector2(1000, 200) nodes/not_moving/node = SubResource("AnimationNodeAnimation_cun17") nodes/not_moving/position = Vector2(400, 60) nodes/output/position = Vector2(1180, 260) nodes/walk_backward/node = SubResource("AnimationNodeAnimation_c1sen") nodes/walk_backward/position = Vector2(200, 300) nodes/walk_direction/node = SubResource("AnimationNodeTransition_j7sk1") nodes/walk_direction/position = Vector2(400, 200) nodes/walk_forward/node = SubResource("AnimationNodeAnimation_4taqe") nodes/walk_forward/position = Vector2(200, 160) nodes/walk_speed/node = SubResource("AnimationNodeBlend2_krc6q") nodes/walk_speed/position = Vector2(600, 200) nodes/walk_state/node = SubResource("AnimationNodeTransition_nyobm") nodes/walk_state/position = Vector2(800, 120) node_connections = [&"is_holding", 0, &"walk_state", &"is_holding", 1, &"hold", &"output", 0, &"is_holding", &"walk_direction", 0, &"walk_forward", &"walk_direction", 1, &"walk_backward", &"walk_speed", 0, &"not_moving", &"walk_speed", 1, &"walk_direction", &"walk_state", 0, &"idle", &"walk_state", 1, &"walk_speed"] [node name="Player" type="CharacterBody3D"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.75, 0) collision_layer = 4 collision_mask = 3 script = ExtResource("1_a0mas") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] shape = SubResource("CapsuleShape3D_h1mfd") [node name="WorkshopTracker" type="Area3D" parent="."] collision_layer = 0 collision_mask = 1024 monitorable = false [node name="CollisionShape3D" type="CollisionShape3D" parent="WorkshopTracker"] shape = SubResource("BoxShape3D_gtuvx") [node name="PushbackArea" type="Area3D" parent="."] collision_layer = 4 collision_mask = 4 script = ExtResource("2_almik") [node name="CollisionShape3D" type="CollisionShape3D" parent="PushbackArea"] shape = SubResource("CapsuleShape3D_l8s0f") [node name="Model" parent="." instance=ExtResource("1_3qh37")] transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, -0.75, 0) [node name="MultiplayerSynchronizer" type="MultiplayerSynchronizer" parent="."] replication_config = SubResource("SceneReplicationConfig_305lt") [node name="MovementController" type="Node" parent="."] script = ExtResource("2_1pst4") [node name="CameraController" type="Node" parent="." node_paths=PackedStringArray("Camera")] script = ExtResource("2_r3gna") Camera = NodePath("../AnimationController/Root/LowerBody/UpperBody/Neck/Head/Camera") [node name="AnimationController" type="Node3D" parent="." node_paths=PackedStringArray("Skeleton")] script = ExtResource("3_5rlwc") Skeleton = NodePath("../Model/Skeleton/Skeleton3D") [node name="AnimationTree" type="AnimationTree" parent="AnimationController"] active = false root_node = NodePath("../../Model") tree_root = SubResource("AnimationNodeBlendTree_cstk8") anim_player = NodePath("../../Model/AnimationPlayer") parameters/is_holding/blend_amount = 0.0 parameters/walk_direction/current_state = "forward" parameters/walk_direction/transition_request = "" parameters/walk_direction/current_index = 0 parameters/walk_speed/blend_amount = 0.0 parameters/walk_state/current_state = "idle" parameters/walk_state/transition_request = "" parameters/walk_state/current_index = 0 [node name="Root" type="BoneAttachment3D" parent="AnimationController"] transform = Transform3D(1, -8.74228e-08, 0, 0, 0, 1, -8.74228e-08, -1, 0, 2.18384e-09, 0.271327, 0.0249802) bone_name = "Root" bone_idx = 2 use_external_skeleton = true external_skeleton = NodePath("../../Model/Skeleton/Skeleton3D") [node name="LowerBody" type="BoneAttachment3D" parent="AnimationController/Root"] transform = Transform3D(-1, 0, 8.74228e-08, 8.71645e-08, 0.0768132, 0.997046, -6.71523e-09, 0.997046, -0.0768132, 0, 0, -0.199593) bone_name = "LowerBody" bone_idx = 3 use_external_skeleton = true external_skeleton = NodePath("../../../Model/Skeleton/Skeleton3D") [node name="UpperBody" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody"] transform = Transform3D(1, -1.08108e-08, 8.67517e-08, 0, 0.992324, 0.123662, -8.74228e-08, -0.123662, 0.992324, 1.77636e-15, 0.154362, 0) bone_name = "UpperBody" bone_idx = 4 use_external_skeleton = true external_skeleton = NodePath("../../../../Model/Skeleton/Skeleton3D") [node name="Neck" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody"] transform = Transform3D(1, -4.4409e-16, -7.10543e-15, 0, 0.998891, -0.0470728, 0, 0.0470728, 0.998892, -1.11022e-15, 0.251888, 1.49012e-08) bone_name = "Neck" bone_idx = 5 use_external_skeleton = true external_skeleton = NodePath("../../../../../Model/Skeleton/Skeleton3D") [node name="Head" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody/Neck"] transform = Transform3D(-1, 7.10543e-15, 8.74228e-08, 8.74228e-08, -7.10543e-15, 1, 0, 1, 7.10543e-15, -2.22045e-16, 0.101598, -3.72529e-09) bone_name = "Head" bone_idx = 6 use_external_skeleton = true external_skeleton = NodePath("../../../../../../Model/Skeleton/Skeleton3D") [node name="Camera" type="Camera3D" parent="AnimationController/Root/LowerBody/UpperBody/Neck/Head"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0.08, 0.04) cull_mask = 1 current = true [node name="UpperArm_L" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody"] transform = Transform3D(-0.572005, 0.82025, 9.68575e-08, -0.819341, -0.571371, -0.0470728, -0.0386114, -0.026926, 0.998891, 0.0873834, 0.213866, -0.00179176) bone_name = "UpperArm_L" bone_idx = 7 use_external_skeleton = true external_skeleton = NodePath("../../../../../Model/Skeleton/Skeleton3D") [node name="LowerArm_L" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody/UpperArm_L"] transform = Transform3D(0.999306, 0.0372507, 2.71155e-07, -0.0372507, 0.999306, -3.32672e-09, -2.66575e-07, -3.54041e-09, 1, 0, 0.193644, 0) bone_name = "LowerArm_L" bone_idx = 8 use_external_skeleton = true external_skeleton = NodePath("../../../../../../Model/Skeleton/Skeleton3D") [node name="Wrist_L" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody/UpperArm_L/LowerArm_L"] transform = Transform3D(0.999334, 0.0364873, 3.47525e-07, -0.0364873, 0.999334, -1.66881e-08, -3.47903e-07, 3.9968e-09, 1, 1.19209e-07, 0.187995, -1.86265e-09) bone_name = "Wrist_L" bone_idx = 9 use_external_skeleton = true external_skeleton = NodePath("../../../../../../../Model/Skeleton/Skeleton3D") [node name="UpperArm_R" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody"] transform = Transform3D(-0.572005, -0.82025, -9.68575e-08, 0.819341, -0.571371, -0.0470728, 0.0386114, -0.026926, 0.998891, -0.0873834, 0.213866, -0.00179176) bone_name = "UpperArm_R" bone_idx = 14 use_external_skeleton = true external_skeleton = NodePath("../../../../../Model/Skeleton/Skeleton3D") [node name="LowerArm_R" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody/UpperArm_R"] transform = Transform3D(0.999306, -0.0372507, -2.71155e-07, 0.0372507, 0.999306, -3.3267e-09, 2.69728e-07, -3.66446e-09, 1, 0, 0.193644, 1.86265e-09) bone_name = "LowerArm_R" bone_idx = 15 use_external_skeleton = true external_skeleton = NodePath("../../../../../../Model/Skeleton/Skeleton3D") [node name="Wrist_R" type="BoneAttachment3D" parent="AnimationController/Root/LowerBody/UpperBody/UpperArm_R/LowerArm_R"] transform = Transform3D(0.999334, -0.0364873, -3.47525e-07, 0.0364873, 0.999334, -1.66882e-08, 3.47903e-07, 3.99677e-09, 1, -1.19209e-07, 0.187995, -1.86265e-09) bone_name = "Wrist_R" bone_idx = 16 use_external_skeleton = true external_skeleton = NodePath("../../../../../../../Model/Skeleton/Skeleton3D") [node name="PickupController" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.4, -0.45) script = ExtResource("2_ns2pe") [connection signal="area_entered" from="WorkshopTracker" to="." method="OnWorkshopTrackerAreaEntered"] [connection signal="area_exited" from="WorkshopTracker" to="." method="OnWorkshopTrackerAreaExited"]