2025-09-04 23:50:38 +00:00
|
|
|
[gd_scene load_steps=16 format=3 uid="uid://mkccbig41bqb"]
|
2023-03-06 14:06:36 +00:00
|
|
|
|
2025-03-23 13:20:50 +00:00
|
|
|
[ext_resource type="Script" uid="uid://bk618uyhghswx" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"]
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="PhysicsMaterial" id="10"]
|
|
|
|
|
friction = 0.0
|
|
|
|
|
|
2025-06-10 19:09:47 +00:00
|
|
|
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_hpoj0"]
|
|
|
|
|
length = 1.29801
|
|
|
|
|
|
2025-09-04 23:50:38 +00:00
|
|
|
[sub_resource type="Gradient" id="Gradient_hpoj0"]
|
|
|
|
|
interpolation_mode = 2
|
|
|
|
|
interpolation_color_space = 1
|
|
|
|
|
offsets = PackedFloat32Array(0.17551, 0.408163, 0.57551, 0.832653)
|
|
|
|
|
colors = PackedColorArray(0.26784, 0.10556, 0.211286, 0, 0.15224, 0.0352, 0.22, 0.529412, 0.0288, 0.0616, 0.16, 0.901961, 0.00243532, 0.0191495, 0.101523, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_x6v75"]
|
|
|
|
|
gradient = SubResource("Gradient_hpoj0")
|
|
|
|
|
width = 1024
|
|
|
|
|
height = 1024
|
|
|
|
|
fill = 1
|
|
|
|
|
fill_from = Vector2(0.5, 0.5)
|
|
|
|
|
|
2025-08-17 22:13:20 +00:00
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_hpoj0"]
|
|
|
|
|
radius = 0.3
|
|
|
|
|
height = 1.2
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="11"]
|
|
|
|
|
length = 0.001
|
|
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 1
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 1.22534, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/1/path = NodePath("PlayerCollision:shape:height")
|
2023-03-06 14:06:36 +00:00
|
|
|
tracks/1/interp = 1
|
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [1.2]
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/2/path = NodePath("PlayerCollision:position")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [Vector3(0, 0.6, 0)]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [3.0]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D:rotation")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/4/interp = 1
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [Vector3(0, 0, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/5/type = "value"
|
|
|
|
|
tracks/5/imported = false
|
|
|
|
|
tracks/5/enabled = true
|
|
|
|
|
tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:visible")
|
|
|
|
|
tracks/5/interp = 1
|
|
|
|
|
tracks/5/loop_wrap = true
|
|
|
|
|
tracks/5/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 1,
|
|
|
|
|
"values": [false]
|
|
|
|
|
}
|
|
|
|
|
tracks/6/type = "value"
|
|
|
|
|
tracks/6/imported = false
|
|
|
|
|
tracks/6/enabled = true
|
|
|
|
|
tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:modulate")
|
|
|
|
|
tracks/6/interp = 1
|
|
|
|
|
tracks/6/loop_wrap = true
|
|
|
|
|
tracks/6/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Color(1, 1, 1, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/7/type = "value"
|
|
|
|
|
tracks/7/imported = false
|
|
|
|
|
tracks/7/enabled = true
|
|
|
|
|
tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:scale")
|
|
|
|
|
tracks/7/interp = 1
|
|
|
|
|
tracks/7/loop_wrap = true
|
|
|
|
|
tracks/7/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(1.5, 1.5)]
|
|
|
|
|
}
|
|
|
|
|
tracks/8/type = "value"
|
|
|
|
|
tracks/8/imported = false
|
|
|
|
|
tracks/8/enabled = true
|
|
|
|
|
tracks/8/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:pivot_offset")
|
|
|
|
|
tracks/8/interp = 1
|
|
|
|
|
tracks/8/loop_wrap = true
|
|
|
|
|
tracks/8/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(960, 960)]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="12"]
|
|
|
|
|
resource_name = "crouch"
|
2025-09-04 23:50:38 +00:00
|
|
|
length = 2.0
|
2023-03-06 14:06:36 +00:00
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 0.8, 1.5, 1.83333),
|
2023-03-06 14:06:36 +00:00
|
|
|
"transitions": PackedFloat32Array(1.36604, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 1.22534, 0), Vector3(0, 0.5, 0), Vector3(0, 0.27, 0), Vector3(0, 0.327816, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
2023-03-06 14:06:36 +00:00
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
2023-03-06 14:06:36 +00:00
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [Vector3(0, 0.6, 0), Vector3(0, 0.3, 0)]
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [1.2, 0.6]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 0.69),
|
2025-08-17 22:13:20 +00:00
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [3.0, 1.5]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D:rotation")
|
|
|
|
|
tracks/4/interp = 2
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 0.666667, 1.3, 1.73333, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0, 0), Vector3(-0.261799, 0, -0.0872665), Vector3(-0.174533, 0, 0.0523599), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_d8nww"]
|
|
|
|
|
resource_name = "fast_crouch"
|
|
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.333333, 1),
|
|
|
|
|
"transitions": PackedFloat32Array(1.36604, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 1.22534, 0), Vector3(0, 0.5, 0), Vector3(0, 0.327816, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
|
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.6, 0), Vector3(0, 0.3, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
|
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
|
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [1.2, 0.6]
|
|
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
|
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
|
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
2025-08-17 22:13:20 +00:00
|
|
|
"times": PackedFloat32Array(0, 0.69),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [3.0, 1.5]
|
|
|
|
|
}
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
|
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D:rotation")
|
|
|
|
|
tracks/4/interp = 2
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.2, 0.833333, 1),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0, 0), Vector3(0.174533, 0, 0), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
|
|
|
|
}
|
2023-03-06 14:06:36 +00:00
|
|
|
|
2025-09-04 23:50:38 +00:00
|
|
|
[sub_resource type="Animation" id="Animation_x6v75"]
|
|
|
|
|
resource_name = "fast_stand_up"
|
|
|
|
|
length = 1.2
|
2023-03-06 14:06:36 +00:00
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 1),
|
|
|
|
|
"transitions": PackedFloat32Array(1.51572, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.327816, 0), Vector3(0, 1.22534, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
|
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.3, 0), Vector3(0, 0.6, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
|
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
|
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.03333),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [0.6, 1.2]
|
|
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
|
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
|
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0.233333, 0.5),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [1.5, 3.0]
|
|
|
|
|
}
|
|
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
|
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D:rotation")
|
|
|
|
|
tracks/4/interp = 2
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.333333, 0.866667, 1.2),
|
2023-03-06 14:06:36 +00:00
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [Vector3(0, 0, 0), Vector3(-0.174533, 0, 0), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_b3jgb"]
|
|
|
|
|
resource_name = "reduced_crouch"
|
|
|
|
|
length = 2.0
|
|
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0.233333, 0.933333, 1.73333),
|
|
|
|
|
"transitions": PackedFloat32Array(1.36604, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 1.22534, 0), Vector3(0, 0.5, 0), Vector3(0, 0.327816, 0)]
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
2023-03-06 14:06:36 +00:00
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
2023-03-06 14:06:36 +00:00
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [Vector3(0, 0.6, 0), Vector3(0, 0.3, 0)]
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [1.2, 0.6]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 0.69),
|
2025-08-17 22:13:20 +00:00
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
2025-09-04 23:50:38 +00:00
|
|
|
"values": [3.0, 1.5]
|
2025-08-17 22:13:20 +00:00
|
|
|
}
|
|
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:visible")
|
2025-08-17 22:13:20 +00:00
|
|
|
tracks/4/interp = 1
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
2025-09-04 23:50:38 +00:00
|
|
|
"times": PackedFloat32Array(0, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 1,
|
|
|
|
|
"values": [true, false]
|
|
|
|
|
}
|
|
|
|
|
tracks/5/type = "value"
|
|
|
|
|
tracks/5/imported = false
|
|
|
|
|
tracks/5/enabled = true
|
|
|
|
|
tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:modulate")
|
|
|
|
|
tracks/5/interp = 2
|
|
|
|
|
tracks/5/loop_wrap = true
|
|
|
|
|
tracks/5/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.5, 1.53333, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/6/type = "value"
|
|
|
|
|
tracks/6/imported = false
|
|
|
|
|
tracks/6/enabled = true
|
|
|
|
|
tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:scale")
|
|
|
|
|
tracks/6/interp = 2
|
|
|
|
|
tracks/6/loop_wrap = true
|
|
|
|
|
tracks/6/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.966667, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(1.5, 1.5), Vector2(1, 1), Vector2(1.5, 1.5)]
|
|
|
|
|
}
|
|
|
|
|
tracks/7/type = "value"
|
|
|
|
|
tracks/7/imported = false
|
|
|
|
|
tracks/7/enabled = true
|
|
|
|
|
tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:pivot_offset")
|
|
|
|
|
tracks/7/interp = 1
|
|
|
|
|
tracks/7/loop_wrap = true
|
|
|
|
|
tracks/7/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(960, 960)]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_hpoj0"]
|
|
|
|
|
resource_name = "reduced_stand_up"
|
|
|
|
|
length = 2.0
|
|
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0.433333, 1.6),
|
|
|
|
|
"transitions": PackedFloat32Array(0.554785, 0.63728),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.327816, 0), Vector3(0, 1.22534, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
|
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.23333),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.3, 0), Vector3(0, 0.6, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
|
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
|
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.23333),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [0.6, 1.2]
|
|
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
|
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
|
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1),
|
2025-08-17 22:13:20 +00:00
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [1.5, 3.0]
|
|
|
|
|
}
|
2025-09-04 23:50:38 +00:00
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
|
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:visible")
|
|
|
|
|
tracks/4/interp = 1
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 1,
|
|
|
|
|
"values": [true, false]
|
|
|
|
|
}
|
|
|
|
|
tracks/5/type = "value"
|
|
|
|
|
tracks/5/imported = false
|
|
|
|
|
tracks/5/enabled = true
|
|
|
|
|
tracks/5/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:modulate")
|
|
|
|
|
tracks/5/interp = 2
|
|
|
|
|
tracks/5/loop_wrap = true
|
|
|
|
|
tracks/5/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.5, 1.53333, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Color(1, 1, 1, 0), Color(1, 1, 1, 1), Color(1, 1, 1, 1), Color(1, 1, 1, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/6/type = "value"
|
|
|
|
|
tracks/6/imported = false
|
|
|
|
|
tracks/6/enabled = true
|
|
|
|
|
tracks/6/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:scale")
|
|
|
|
|
tracks/6/interp = 2
|
|
|
|
|
tracks/6/loop_wrap = true
|
|
|
|
|
tracks/6/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.966667, 2),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(1.5, 1.5), Vector2(1, 1), Vector2(1.5, 1.5)]
|
|
|
|
|
}
|
|
|
|
|
tracks/7/type = "value"
|
|
|
|
|
tracks/7/imported = false
|
|
|
|
|
tracks/7/enabled = true
|
|
|
|
|
tracks/7/path = NodePath("Yaw/Pitch/Mount/Camera3D/TextureRect:pivot_offset")
|
|
|
|
|
tracks/7/interp = 1
|
|
|
|
|
tracks/7/loop_wrap = true
|
|
|
|
|
tracks/7/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0),
|
|
|
|
|
"transitions": PackedFloat32Array(1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector2(960, 960)]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="14"]
|
|
|
|
|
resource_name = "stand_up"
|
|
|
|
|
length = 2.5
|
|
|
|
|
tracks/0/type = "value"
|
|
|
|
|
tracks/0/imported = false
|
|
|
|
|
tracks/0/enabled = true
|
|
|
|
|
tracks/0/path = NodePath("Yaw:position")
|
|
|
|
|
tracks/0/interp = 2
|
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
|
tracks/0/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.9, 1.8, 2.26667),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.327816, 0), Vector3(0, 0.331, 0), Vector3(0, 1, 0), Vector3(0, 1.22534, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/1/type = "value"
|
|
|
|
|
tracks/1/imported = false
|
|
|
|
|
tracks/1/enabled = true
|
|
|
|
|
tracks/1/path = NodePath("PlayerCollision:position")
|
|
|
|
|
tracks/1/interp = 1
|
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
|
tracks/1/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.01),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0.3, 0), Vector3(0, 0.6, 0)]
|
|
|
|
|
}
|
|
|
|
|
tracks/2/type = "value"
|
|
|
|
|
tracks/2/imported = false
|
|
|
|
|
tracks/2/enabled = true
|
|
|
|
|
tracks/2/path = NodePath("PlayerCollision:shape:height")
|
|
|
|
|
tracks/2/interp = 1
|
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
|
tracks/2/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 1.03333),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [0.6, 1.2]
|
|
|
|
|
}
|
|
|
|
|
tracks/3/type = "value"
|
|
|
|
|
tracks/3/imported = false
|
|
|
|
|
tracks/3/enabled = true
|
|
|
|
|
tracks/3/path = NodePath(".:max_speed")
|
|
|
|
|
tracks/3/interp = 1
|
|
|
|
|
tracks/3/loop_wrap = true
|
|
|
|
|
tracks/3/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0.366667, 1.55, 2.5),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [1.5, 1.0, 3.0]
|
|
|
|
|
}
|
|
|
|
|
tracks/4/type = "value"
|
|
|
|
|
tracks/4/imported = false
|
|
|
|
|
tracks/4/enabled = true
|
|
|
|
|
tracks/4/path = NodePath("Yaw/Pitch/Mount/Camera3D:rotation")
|
|
|
|
|
tracks/4/interp = 2
|
|
|
|
|
tracks/4/loop_wrap = true
|
|
|
|
|
tracks/4/keys = {
|
|
|
|
|
"times": PackedFloat32Array(0, 0.733333, 1.5, 2.14, 2.5),
|
|
|
|
|
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
|
|
|
|
"update": 0,
|
|
|
|
|
"values": [Vector3(0, 0, 0), Vector3(-0.0872665, 0.0523599, -0.0872665), Vector3(0.261799, -0.0872665, -0.0872665), Vector3(0, 0, 0), Vector3(0, 0, 0)]
|
|
|
|
|
}
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_xbx3w"]
|
|
|
|
|
_data = {
|
2025-03-23 13:20:50 +00:00
|
|
|
&"RESET": SubResource("11"),
|
|
|
|
|
&"crouch": SubResource("12"),
|
2025-09-04 23:50:38 +00:00
|
|
|
&"fast_crouch": SubResource("Animation_d8nww"),
|
|
|
|
|
&"fast_stand_up": SubResource("Animation_x6v75"),
|
|
|
|
|
&"reduced_crouch": SubResource("Animation_b3jgb"),
|
|
|
|
|
&"reduced_stand_up": SubResource("Animation_hpoj0"),
|
2025-03-23 13:20:50 +00:00
|
|
|
&"stand_up": SubResource("14")
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
|
|
|
|
|
2025-08-17 22:13:20 +00:00
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_hpoj0"]
|
|
|
|
|
radius = 0.3
|
|
|
|
|
|
2023-03-06 14:06:36 +00:00
|
|
|
[node name="PlayerController" type="RigidBody3D"]
|
2025-09-04 23:50:38 +00:00
|
|
|
collision_layer = 3
|
|
|
|
|
collision_mask = 3
|
2023-03-06 14:06:36 +00:00
|
|
|
axis_lock_angular_x = true
|
|
|
|
|
axis_lock_angular_y = true
|
|
|
|
|
axis_lock_angular_z = true
|
|
|
|
|
physics_material_override = SubResource("10")
|
|
|
|
|
can_sleep = false
|
|
|
|
|
script = ExtResource("1_0b4mi")
|
|
|
|
|
|
|
|
|
|
[node name="Yaw" type="Node3D" parent="."]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.22534, 0)
|
|
|
|
|
|
|
|
|
|
[node name="Pitch" type="Node3D" parent="Yaw"]
|
2023-07-10 14:20:37 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 0.642787, -0.766044, 0, 0.766044, 0.642787, 0, 0.256493, 0)
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[node name="Mount" type="Node3D" parent="Yaw/Pitch"]
|
|
|
|
|
|
|
|
|
|
[node name="Camera3D" type="Camera3D" parent="Yaw/Pitch/Mount"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.202, 0.157)
|
2023-07-15 09:10:29 +00:00
|
|
|
cull_mask = 3
|
2023-03-06 14:06:36 +00:00
|
|
|
current = true
|
|
|
|
|
|
2023-04-22 13:11:10 +00:00
|
|
|
[node name="RayCast3D" type="RayCast3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
|
|
|
target_position = Vector3(0, 0, -1.3)
|
|
|
|
|
collision_mask = 17
|
|
|
|
|
collide_with_areas = true
|
2025-06-10 19:09:47 +00:00
|
|
|
|
|
|
|
|
[node name="UiProber" type="Area3D" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 2.98023e-08, 0, -2.98023e-08, 1, 0, 0, 0)
|
|
|
|
|
collision_layer = 0
|
|
|
|
|
collision_mask = 16
|
|
|
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Yaw/Pitch/Mount/Camera3D/UiProber"]
|
|
|
|
|
transform = Transform3D(-1, 0, -8.74229e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0)
|
|
|
|
|
shape = SubResource("SeparationRayShape3D_hpoj0")
|
2023-04-22 13:11:10 +00:00
|
|
|
|
2025-09-04 23:50:38 +00:00
|
|
|
[node name="TextureRect" type="TextureRect" parent="Yaw/Pitch/Mount/Camera3D"]
|
|
|
|
|
visible = false
|
|
|
|
|
modulate = Color(1, 1, 1, 0)
|
|
|
|
|
anchors_preset = 15
|
|
|
|
|
anchor_right = 1.0
|
|
|
|
|
anchor_bottom = 1.0
|
|
|
|
|
grow_horizontal = 2
|
|
|
|
|
grow_vertical = 2
|
|
|
|
|
scale = Vector2(1.5, 1.5)
|
|
|
|
|
pivot_offset = Vector2(960, 960)
|
|
|
|
|
texture = SubResource("GradientTexture2D_x6v75")
|
|
|
|
|
expand_mode = 4
|
|
|
|
|
|
2023-03-06 14:06:36 +00:00
|
|
|
[node name="PlayerCollision" type="CollisionShape3D" parent="."]
|
2025-08-17 22:13:20 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, -1, 8.74228e-08, 0, -8.74228e-08, -1, 0, 0.6, 0)
|
|
|
|
|
shape = SubResource("CapsuleShape3D_hpoj0")
|
2023-03-06 14:06:36 +00:00
|
|
|
|
|
|
|
|
[node name="PlayerAnimationPlayer" type="AnimationPlayer" parent="."]
|
|
|
|
|
libraries = {
|
2025-06-08 16:36:33 +00:00
|
|
|
&"": SubResource("AnimationLibrary_xbx3w")
|
2023-03-06 14:06:36 +00:00
|
|
|
}
|
2025-09-04 23:50:38 +00:00
|
|
|
autoplay = "RESET"
|
2025-08-17 22:13:20 +00:00
|
|
|
|
|
|
|
|
[node name="CrouchDetector" type="Area3D" parent="."]
|
|
|
|
|
collision_layer = 3
|
|
|
|
|
collision_mask = 3
|
|
|
|
|
|
|
|
|
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="CrouchDetector"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.35, 0)
|
|
|
|
|
shape = SubResource("SphereShape3D_hpoj0")
|