[gd_scene load_steps=36 format=3 uid="uid://crbrniwi6kd3p"] [ext_resource type="PackedScene" uid="uid://dpmbimh6m4ari" path="res://scenes/player_mesh.tscn" id="1_3vyb7"] [ext_resource type="Script" uid="uid://50vv0ta67tgl" path="res://src/player.gd" id="1_qhqgy"] [ext_resource type="Script" uid="uid://cngjp2wws4ld2" path="res://src/player_input.gd" id="3_dqkch"] [ext_resource type="Script" uid="uid://c3wlcxy4vnm2i" path="res://src/interactor.gd" id="4_dqkch"] [sub_resource type="SphereShape3D" id="SphereShape3D_qhqgy"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_g2els"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_smehm"] animation = &"Aim" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_tuyoq"] animation = &"PistolIdle" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_fjrip"] animation = &"Walk" [sub_resource type="AnimationNodeBlend2" id="AnimationNodeBlend2_smehm"] filter_enabled = true filters = ["", "AuxScene/Scene/Armature/Skeleton3D:mixamorigHead", "AuxScene/Scene/Armature/Skeleton3D:mixamorigHead001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftArm", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftArm001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftForeArm", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftForeArm001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHand", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHand001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandIndex4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandMiddle4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky4", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandPinky4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing4", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandRing4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftHandThumb4", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftShoulder", "AuxScene/Scene/Armature/Skeleton3D:mixamorigLeftShoulder001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigNeck", "AuxScene/Scene/Armature/Skeleton3D:mixamorigNeck001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightArm", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightArm001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightForeArm", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightForeArm001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHand", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHand001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandIndex3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandMiddle4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky2001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky4", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandPinky4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing4", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandRing4001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandThumb1", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandThumb1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandThumb2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandThumb3", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightHandThumb3001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightShoulder", "AuxScene/Scene/Armature/Skeleton3D:mixamorigRightShoulder001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine1001", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine2", "AuxScene/Scene/Armature/Skeleton3D:mixamorigSpine2001"] [sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ur7pv"] graph_offset = Vector2(-347.972, 53.4891) nodes/Animation/node = SubResource("AnimationNodeAnimation_fjrip") nodes/Animation/position = Vector2(-140, 120) "nodes/Animation 2/node" = SubResource("AnimationNodeAnimation_tuyoq") "nodes/Animation 2/position" = Vector2(-140, 300) nodes/Blend2/node = SubResource("AnimationNodeBlend2_smehm") nodes/Blend2/position = Vector2(80, 120) node_connections = [&"Blend2", 0, &"Animation", &"Blend2", 1, &"Animation 2", &"output", 0, &"Blend2"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ur7pv"] animation = &"Fire" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y4r1p"] animation = &"PistolIdle" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ur7pv"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_y4r1p"] advance_mode = 2 advance_expression = "velocity" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_d2wvv"] advance_mode = 2 advance_expression = "not velocity" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_oprun"] advance_mode = 2 advance_expression = "is_weapon_ready" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_a8ls1"] advance_mode = 2 advance_expression = "is_firing" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qfm1y"] switch_mode = 2 advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fulsm"] advance_mode = 2 advance_expression = "not is_weapon_ready" [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_d2wvv"] states/Aim/node = SubResource("AnimationNodeAnimation_smehm") states/Aim/position = Vector2(327, 194) states/BlendTree/node = SubResource("AnimationNodeBlendTree_ur7pv") states/BlendTree/position = Vector2(488, 100) states/Fire/node = SubResource("AnimationNodeAnimation_ur7pv") states/Fire/position = Vector2(462, 194) states/PistolIdle/node = SubResource("AnimationNodeAnimation_y4r1p") states/PistolIdle/position = Vector2(327, 100) transitions = ["Start", "PistolIdle", SubResource("AnimationNodeStateMachineTransition_ur7pv"), "PistolIdle", "BlendTree", SubResource("AnimationNodeStateMachineTransition_y4r1p"), "BlendTree", "PistolIdle", SubResource("AnimationNodeStateMachineTransition_d2wvv"), "PistolIdle", "Aim", SubResource("AnimationNodeStateMachineTransition_oprun"), "Aim", "Fire", SubResource("AnimationNodeStateMachineTransition_a8ls1"), "Fire", "Aim", SubResource("AnimationNodeStateMachineTransition_qfm1y"), "Aim", "PistolIdle", SubResource("AnimationNodeStateMachineTransition_fulsm")] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qhqgy"] animation = &"Idle" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_dqkch"] animation = &"Run" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qlg0r"] animation = &"Walk" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_tuyoq"] advance_mode = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_fjrip"] advance_mode = 2 advance_expression = "velocity" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_smehm"] advance_mode = 2 advance_expression = "input.is_running" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qhqgy"] advance_mode = 2 advance_expression = "not input.is_running or not velocity" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_dqkch"] advance_mode = 2 advance_expression = "not velocity" [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_ur7pv"] states/Idle/node = SubResource("AnimationNodeAnimation_qhqgy") states/Idle/position = Vector2(334, 100) states/Run/node = SubResource("AnimationNodeAnimation_dqkch") states/Run/position = Vector2(576, 100) states/Walk/node = SubResource("AnimationNodeAnimation_qlg0r") states/Walk/position = Vector2(447, 100) transitions = ["Start", "Idle", SubResource("AnimationNodeStateMachineTransition_tuyoq"), "Idle", "Walk", SubResource("AnimationNodeStateMachineTransition_fjrip"), "Walk", "Run", SubResource("AnimationNodeStateMachineTransition_smehm"), "Run", "Walk", SubResource("AnimationNodeStateMachineTransition_qhqgy"), "Walk", "Idle", SubResource("AnimationNodeStateMachineTransition_dqkch")] [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_qlg0r"] advance_mode = 2 advance_expression = "not is_carrying_item" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_3v2ag"] advance_mode = 2 advance_expression = "is_carrying_item" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_jej6c"] advance_mode = 2 advance_expression = "not is_carrying_item" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_f1ej7"] advance_mode = 2 advance_expression = "is_carrying_item" [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_y4r1p"] states/Handgun/node = SubResource("AnimationNodeStateMachine_d2wvv") states/Handgun/position = Vector2(356, 153) states/Unarmed/node = SubResource("AnimationNodeStateMachine_ur7pv") states/Unarmed/position = Vector2(356, 50) transitions = ["Start", "Unarmed", SubResource("AnimationNodeStateMachineTransition_qlg0r"), "Start", "Handgun", SubResource("AnimationNodeStateMachineTransition_3v2ag"), "Handgun", "Unarmed", SubResource("AnimationNodeStateMachineTransition_jej6c"), "Unarmed", "Handgun", SubResource("AnimationNodeStateMachineTransition_f1ej7")] [node name="Player" type="CharacterBody3D" groups=["persist"]] script = ExtResource("1_qhqgy") [node name="Input" type="Node" parent="."] script = ExtResource("3_dqkch") [node name="Interactor" type="Node3D" parent="." node_paths=PackedStringArray("area")] script = ExtResource("4_dqkch") area = NodePath("Area3D") [node name="Area3D" type="Area3D" parent="Interactor"] collision_mask = 2 [node name="CollisionShape3D" type="CollisionShape3D" parent="Interactor/Area3D"] transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.5, 1.25) shape = SubResource("SphereShape3D_qhqgy") [node name="CollisionShape3D" type="CollisionShape3D" parent="."] transform = Transform3D(1.2, 0, 0, 0, 1.2, 0, 0, 0, 1.2, 0, 1, 0) shape = SubResource("CapsuleShape3D_g2els") [node name="Mesh" parent="." instance=ExtResource("1_3vyb7")] [node name="AnimationTree" type="AnimationTree" parent="."] root_node = NodePath("../Mesh") tree_root = SubResource("AnimationNodeStateMachine_y4r1p") advance_expression_base_node = NodePath("..") anim_player = NodePath("../Mesh/AnimationPlayer") parameters/Handgun/BlendTree/Blend2/blend_amount = 1.0 [editable path="Mesh"]