[gd_scene format=3 uid="uid://clq35hqimrb1e"] [ext_resource type="Script" uid="uid://dsc716f1ib7si" path="res://Assets/Classes/PlayerCharacter/player_camera_3d.gd" id="1_jltft"] [ext_resource type="InputResource" uid="uid://dji2q0ekqofcx" path="res://Assets/Input/camera_movement.tres" id="2_udngf"] [ext_resource type="PackedScene" uid="uid://chpf6tiw7kdgl" path="res://Assets/Classes/GameplayCamera.tscn" id="3_plj6u"] [ext_resource type="Script" uid="uid://couw105c3bde4" path="res://addons/godot_state_charts/state_chart.gd" id="3_uysnn"] [ext_resource type="Script" uid="uid://jk2jm1g6q853" path="res://addons/godot_state_charts/compound_state.gd" id="4_udngf"] [ext_resource type="Script" uid="uid://cytafq8i1y8qm" path="res://addons/godot_state_charts/atomic_state.gd" id="5_7b7xm"] [ext_resource type="Script" uid="uid://cf1nsco3w0mf6" path="res://addons/godot_state_charts/transition.gd" id="6_58rjj"] [sub_resource type="Curve" id="Curve_plj6u"] _data = [Vector2(0, 0), 0.0, 48.095234, 0, 0, Vector2(0.0330033, 0.5802469), 4.620916, 4.620916, 0, 0, Vector2(0.19141915, 0.9506173), 0.17813037, 0.17813037, 0, 0, Vector2(1, 1), 0.041107014, 0.0, 0, 0] point_count = 4 [sub_resource type="SphereShape3D" id="SphereShape3D_plj6u"] radius = 0.2 [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_34qtn"] animation = &"slice_time_zoom_in" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_gxs3p"] animation = &"standard_zoom" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_xwyqw"] advance_mode = 2 [sub_resource type="Curve" id="Curve_omrbt"] _data = [Vector2(0, 0), 0.0, 2.8768382, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] point_count = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_p62qo"] xfade_time = 0.25 xfade_curve = SubResource("Curve_omrbt") [sub_resource type="Curve" id="Curve_fj36c"] _data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(1, 1), 2.1381392, 0.0, 0, 0] point_count = 2 [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_x5tn7"] xfade_time = 0.5 xfade_curve = SubResource("Curve_fj36c") [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_6ql8e"] states/slice_time_zoom_in/node = SubResource("AnimationNodeAnimation_34qtn") states/slice_time_zoom_in/position = Vector2(561.6666, -10.333337) states/standard_zoom/node = SubResource("AnimationNodeAnimation_gxs3p") states/standard_zoom/position = Vector2(377.66666, 98.55555) transitions = ["Start", "standard_zoom", SubResource("AnimationNodeStateMachineTransition_xwyqw"), "standard_zoom", "slice_time_zoom_in", SubResource("AnimationNodeStateMachineTransition_p62qo"), "slice_time_zoom_in", "standard_zoom", SubResource("AnimationNodeStateMachineTransition_x5tn7")] graph_offset = Vector2(-15, -65) [sub_resource type="Animation" id="Animation_gxs3p"] length = 0.001 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [60.0] } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(-0.2617994, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0) } [sub_resource type="Animation" id="Animation_34qtn"] resource_name = "slice_time_zoom_in" length = 0.1 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "times": PackedFloat32Array(0), "transitions": PackedFloat32Array(1), "update": 0, "values": [50.0] } tracks/1/type = "bezier" tracks/1/imported = false tracks/1/enabled = true tracks/1/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(-0.2617994, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:x") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(0, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0.1) } tracks/3/type = "bezier" tracks/3/imported = false tracks/3/enabled = true tracks/3/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:y") tracks/3/interp = 1 tracks/3/loop_wrap = true tracks/3/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(-2.8797932, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0.1) } tracks/4/type = "bezier" tracks/4/imported = false tracks/4/enabled = true tracks/4/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:z") tracks/4/interp = 1 tracks/4/loop_wrap = true tracks/4/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(0, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0.1) } [sub_resource type="Animation" id="Animation_xwyqw"] resource_name = "standard_zoom" length = 0.1 tracks/0/type = "bezier" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:fov") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(60, -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("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D:rotation:y") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(-0.17453292, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0) } tracks/2/type = "bezier" tracks/2/imported = false tracks/2/enabled = true tracks/2/path = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D:rotation:y") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { "handle_modes": PackedInt32Array(0), "points": PackedFloat32Array(-2.9670596, -0.05, 0, 0.05, 0), "times": PackedFloat32Array(0) } [sub_resource type="AnimationLibrary" id="AnimationLibrary_p62qo"] _data = { &"RESET": SubResource("Animation_gxs3p"), &"slice_time_zoom_in": SubResource("Animation_34qtn"), &"standard_zoom": SubResource("Animation_xwyqw") } [node name="PlayerCamera3D" type="Node3D" unique_id=832857779 node_paths=PackedStringArray("animation_tree", "camera", "state_chart", "gimbal_x", "gimbal_y")] script = ExtResource("1_jltft") follow_max_distance = 0.5 follow_speed = 12.0 follow_distance_curve = SubResource("Curve_plj6u") animation_tree = NodePath("AnimationTree") camera = NodePath("CameraGimbalY/CameraGimbalX/SpringArm3D/Camera3D") state_chart = NodePath("StateChart") gimbal_x = NodePath("CameraGimbalY/CameraGimbalX") gimbal_y = NodePath("CameraGimbalY") _camera_movement_speed = Vector2(2.5, 2.5) _camera_accelerate_speed = 7.5 _camera_movement_resource = ExtResource("2_udngf") [node name="CameraGimbalY" type="Node3D" parent="." unique_id=483505300] [node name="CameraGimbalX" type="Node3D" parent="CameraGimbalY" unique_id=1708449693] transform = Transform3D(1, 0, 0, 0, 0.96592575, -0.258819, 0, 0.258819, 0.96592575, 0, 0, 0) [node name="SpringArm3D" type="SpringArm3D" parent="CameraGimbalY/CameraGimbalX" unique_id=26339869] transform = Transform3D(-0.9848076, 0, -0.17364831, 0, 1.0000001, 0, 0.17364828, 0, -0.98480785, 0, 0, 0) shape = SubResource("SphereShape3D_plj6u") spring_length = 2.667 [node name="Camera3D" parent="CameraGimbalY/CameraGimbalX/SpringArm3D" unique_id=1011005417 instance=ExtResource("3_plj6u")] transform = Transform3D(0.9848075, 0, -0.17364809, 0, 0.99999994, 0, 0.17364813, 0, 0.98480725, 0, 0, 0) [node name="StateChart" type="Node" parent="." unique_id=874540950] script = ExtResource("3_uysnn") metadata/_custom_type_script = "uid://couw105c3bde4" [node name="MovementModes" type="Node" parent="StateChart" unique_id=686557367] script = ExtResource("4_udngf") initial_state = NodePath("Standard") [node name="Standard" type="Node" parent="StateChart/MovementModes" unique_id=2062985915] script = ExtResource("5_7b7xm") [node name="OnSliceTime" type="Node" parent="StateChart/MovementModes/Standard" unique_id=1457596640] script = ExtResource("6_58rjj") to = NodePath("../../SliceTime") event = &"slice_time" delay_in_seconds = "0.0" [node name="SliceTime" type="Node" parent="StateChart/MovementModes" unique_id=1562604431] script = ExtResource("5_7b7xm") [node name="OnExitSliceTime" type="Node" parent="StateChart/MovementModes/SliceTime" unique_id=1833457444] script = ExtResource("6_58rjj") to = NodePath("../../Standard") event = &"no_more_slice_time" delay_in_seconds = "0.0" [node name="AnimationTree" type="AnimationTree" parent="." unique_id=1750187388] callback_mode_process = 0 tree_root = SubResource("AnimationNodeStateMachine_6ql8e") anim_player = NodePath("AnimationPlayer") [node name="AnimationPlayer" type="AnimationPlayer" parent="AnimationTree" unique_id=459304662] root_node = NodePath("../..") callback_mode_process = 0 libraries/ = SubResource("AnimationLibrary_p62qo") [connection signal="state_entered" from="StateChart/MovementModes/Standard" to="." method="_on_standard_state_entered"] [connection signal="state_entered" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_entered"] [connection signal="state_exited" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_exited"] [connection signal="state_physics_processing" from="StateChart/MovementModes/SliceTime" to="." method="_on_slice_time_state_physics_processing"]