2023-12-02 15:04:20 -08:00
|
|
|
[gd_scene load_steps=11 format=3 uid="uid://cc1m2a1obsyn4"]
|
2023-12-01 22:26:46 -08:00
|
|
|
|
|
|
|
[ext_resource type="Script" path="res://addons/fpc/character.gd" id="1_0t4e8"]
|
|
|
|
[ext_resource type="PackedScene" uid="uid://3mij3cjhkwsm" path="res://addons/fpc/reticles/reticle_1.tscn" id="2_uuexm"]
|
|
|
|
[ext_resource type="Script" path="res://addons/fpc/debug.gd" id="3_x1wcc"]
|
|
|
|
|
|
|
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_kp17n"]
|
|
|
|
albedo_color = Color(0.909804, 0.596078, 0, 1)
|
|
|
|
clearcoat_enabled = true
|
|
|
|
clearcoat_roughness = 0.2
|
|
|
|
|
|
|
|
[sub_resource type="CapsuleMesh" id="CapsuleMesh_jw1de"]
|
|
|
|
material = SubResource("StandardMaterial3D_kp17n")
|
|
|
|
|
|
|
|
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_uy03j"]
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_gh776"]
|
|
|
|
resource_name = "RESET"
|
|
|
|
length = 0.001
|
|
|
|
loop_mode = 1
|
2024-01-09 12:51:48 -08:00
|
|
|
tracks/0/type = "bezier"
|
2023-12-01 22:26:46 -08:00
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
2024-01-09 12:51:48 -08:00
|
|
|
tracks/0/path = NodePath("Camera:position:x")
|
2023-12-01 22:26:46 -08:00
|
|
|
tracks/0/interp = 1
|
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
2024-01-09 12:51:48 -08:00
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath("Camera:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath("Camera:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0)
|
2023-12-01 22:26:46 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="Animation" id="Animation_lrqmv"]
|
|
|
|
resource_name = "headbob"
|
2024-01-09 12:51:48 -08:00
|
|
|
length = 2.0
|
2023-12-01 22:26:46 -08:00
|
|
|
loop_mode = 1
|
2024-01-09 12:51:48 -08:00
|
|
|
tracks/0/type = "bezier"
|
2023-12-01 22:26:46 -08:00
|
|
|
tracks/0/imported = false
|
|
|
|
tracks/0/enabled = true
|
2024-01-09 12:51:48 -08:00
|
|
|
tracks/0/path = NodePath("Camera:position:x")
|
|
|
|
tracks/0/interp = 1
|
2023-12-01 22:26:46 -08:00
|
|
|
tracks/0/loop_wrap = true
|
|
|
|
tracks/0/keys = {
|
2024-01-09 12:51:48 -08:00
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0.04, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, -0.04, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0.04, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2)
|
|
|
|
}
|
|
|
|
tracks/1/type = "bezier"
|
|
|
|
tracks/1/imported = false
|
|
|
|
tracks/1/enabled = true
|
|
|
|
tracks/1/path = NodePath("Camera:position:y")
|
|
|
|
tracks/1/interp = 1
|
|
|
|
tracks/1/loop_wrap = true
|
|
|
|
tracks/1/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(-0.05, -0.25, 0, 0.2, 0.005, 0, -0.25, 0, 0.25, 0, -0.05, -0.2, 0.005, 0.2, 0.005, 0, -0.25, 0, 0.25, 0, -0.05, -0.2, 0.005, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2)
|
|
|
|
}
|
|
|
|
tracks/2/type = "bezier"
|
|
|
|
tracks/2/imported = false
|
|
|
|
tracks/2/enabled = true
|
|
|
|
tracks/2/path = NodePath("Camera:position:z")
|
|
|
|
tracks/2/interp = 1
|
|
|
|
tracks/2/loop_wrap = true
|
|
|
|
tracks/2/keys = {
|
|
|
|
"handle_modes": PackedInt32Array(0, 0, 0, 0, 0),
|
|
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
|
|
|
|
"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2)
|
2023-12-01 22:26:46 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_o0unb"]
|
|
|
|
_data = {
|
|
|
|
"RESET": SubResource("Animation_gh776"),
|
|
|
|
"headbob": SubResource("Animation_lrqmv")
|
|
|
|
}
|
|
|
|
|
|
|
|
[sub_resource type="Theme" id="Theme_wdf0f"]
|
|
|
|
MarginContainer/constants/margin_bottom = 10
|
|
|
|
MarginContainer/constants/margin_left = 10
|
|
|
|
MarginContainer/constants/margin_right = 10
|
|
|
|
MarginContainer/constants/margin_top = 10
|
|
|
|
|
2023-12-19 18:34:49 -08:00
|
|
|
[node name="Character" type="CharacterBody3D" node_paths=PackedStringArray("HEAD", "CAMERA", "CAMERA_ANIMATION", "COLLISION_MESH")]
|
2023-12-01 22:26:46 -08:00
|
|
|
script = ExtResource("1_0t4e8")
|
|
|
|
HEAD = NodePath("Head")
|
|
|
|
CAMERA = NodePath("Head/Camera")
|
|
|
|
CAMERA_ANIMATION = NodePath("Head/camera_animation")
|
2023-12-19 18:34:49 -08:00
|
|
|
COLLISION_MESH = NodePath("Collision")
|
2023-12-01 22:26:46 -08:00
|
|
|
CROUCH = "crouch"
|
|
|
|
SPRINT = "sprint"
|
|
|
|
|
|
|
|
[node name="Mesh" type="MeshInstance3D" parent="."]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
|
|
|
mesh = SubResource("CapsuleMesh_jw1de")
|
|
|
|
|
|
|
|
[node name="Collision" type="CollisionShape3D" parent="."]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
|
|
|
shape = SubResource("CapsuleShape3D_uy03j")
|
|
|
|
|
|
|
|
[node name="Head" type="Node3D" parent="."]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.5, 0)
|
|
|
|
|
|
|
|
[node name="Camera" type="Camera3D" parent="Head"]
|
2024-01-09 12:51:48 -08:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
|
2023-12-01 22:26:46 -08:00
|
|
|
|
|
|
|
[node name="camera_animation" type="AnimationPlayer" parent="Head"]
|
|
|
|
libraries = {
|
|
|
|
"": SubResource("AnimationLibrary_o0unb")
|
|
|
|
}
|
|
|
|
blend_times = [&"RESET", &"RESET", 0.5, &"RESET", &"headbob", 0.5, &"headbob", &"RESET", 0.5]
|
|
|
|
|
|
|
|
[node name="UserInterface" type="Control" parent="."]
|
|
|
|
layout_mode = 3
|
|
|
|
anchors_preset = 15
|
|
|
|
anchor_right = 1.0
|
|
|
|
anchor_bottom = 1.0
|
|
|
|
grow_horizontal = 2
|
|
|
|
grow_vertical = 2
|
|
|
|
mouse_filter = 1
|
|
|
|
|
|
|
|
[node name="Reticle_1" parent="UserInterface" node_paths=PackedStringArray("reticle_lines", "character") instance=ExtResource("2_uuexm")]
|
|
|
|
layout_mode = 1
|
|
|
|
reticle_lines = [NodePath("top"), NodePath("left"), NodePath("right"), NodePath("bottom")]
|
|
|
|
character = NodePath("../..")
|
|
|
|
|
|
|
|
[node name="DebugPanel" type="PanelContainer" parent="UserInterface"]
|
2023-12-02 15:04:20 -08:00
|
|
|
visible = false
|
2023-12-01 22:26:46 -08:00
|
|
|
layout_mode = 0
|
|
|
|
offset_left = 10.0
|
|
|
|
offset_top = 10.0
|
|
|
|
offset_right = 453.0
|
|
|
|
offset_bottom = 50.0
|
|
|
|
theme = SubResource("Theme_wdf0f")
|
|
|
|
script = ExtResource("3_x1wcc")
|
|
|
|
|
|
|
|
[node name="MarginContainer" type="MarginContainer" parent="UserInterface/DebugPanel"]
|
|
|
|
layout_mode = 2
|
|
|
|
|
|
|
|
[node name="VBoxContainer" type="VBoxContainer" parent="UserInterface/DebugPanel/MarginContainer"]
|
|
|
|
layout_mode = 2
|
|
|
|
|
2023-12-19 18:34:49 -08:00
|
|
|
[node name="CrouchCeilingDetection" type="RayCast3D" parent="."]
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
|
|
|
target_position = Vector3(0, 1, 0)
|
|
|
|
|
2023-12-01 22:26:46 -08:00
|
|
|
[editable path="UserInterface/Reticle_1"]
|