[gd_scene load_steps=6 format=3 uid="uid://crrco762ow56c"]

[ext_resource type="Script" uid="uid://c35h32dniya44" path="res://Florian/Player/playerRigidbody.gd" id="1_7u3v3"]
[ext_resource type="PackedScene" uid="uid://4hac7s0wvoye" path="res://Florian/Player/cool_camera.tscn" id="2_leq5j"]

[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_jbuyh"]
friction = 0.0

[sub_resource type="CylinderShape3D" id="CylinderShape3D_qqgab"]

[sub_resource type="CapsuleMesh" id="CapsuleMesh_n7bvk"]

[node name="PlayerRigidbody" type="RigidBody3D"]
disable_mode = 2
axis_lock_angular_x = true
axis_lock_angular_y = true
axis_lock_angular_z = true
mass = 20.0
physics_material_override = SubResource("PhysicsMaterial_jbuyh")
custom_integrator = true
continuous_cd = true
script = ExtResource("1_7u3v3")

[node name="BoundingBox" type="CollisionShape3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0509262, 0)
shape = SubResource("CylinderShape3D_qqgab")

[node name="RotationHelper" type="Node3D" parent="BoundingBox"]

[node name="Interact" type="Node3D" parent="BoundingBox/RotationHelper"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)

[node name="InteractRay" type="RayCast3D" parent="BoundingBox/RotationHelper/Interact"]
target_position = Vector3(0, 0, -4)
collide_with_areas = true
collide_with_bodies = false
debug_shape_custom_color = Color(1, 0, 0, 1)
debug_shape_thickness = 1

[node name="CoolCamera" parent="BoundingBox/RotationHelper" node_paths=PackedStringArray("player") instance=ExtResource("2_leq5j")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
player = NodePath("../../..")

[node name="ThirdPerson" type="Node3D" parent="BoundingBox"]
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 1.94907, 3)

[node name="FirstPerson" type="Node3D" parent="BoundingBox"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)

[node name="FloorChecks" type="Node3D" parent="BoundingBox"]

[node name="Diagonals" type="Node3D" parent="BoundingBox/FloorChecks"]
transform = Transform3D(0.707107, 0, -0.707107, 0, 1, 0, 0.707107, 0, 0.707107, 0, 0, 0)

[node name="FloorRay" type="RayCast3D" parent="BoundingBox/FloorChecks/Diagonals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.45)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay2" type="RayCast3D" parent="BoundingBox/FloorChecks/Diagonals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.45)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay4" type="RayCast3D" parent="BoundingBox/FloorChecks/Diagonals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.45, 0, 0)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay3" type="RayCast3D" parent="BoundingBox/FloorChecks/Diagonals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.45, 0, 0)
target_position = Vector3(0, -1.1, 0)

[node name="Cardinals" type="Node3D" parent="BoundingBox/FloorChecks"]

[node name="FloorRay" type="RayCast3D" parent="BoundingBox/FloorChecks/Cardinals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -0.45)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay2" type="RayCast3D" parent="BoundingBox/FloorChecks/Cardinals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.45)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay4" type="RayCast3D" parent="BoundingBox/FloorChecks/Cardinals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.45, 0, 0)
target_position = Vector3(0, -1.1, 0)

[node name="FloorRay3" type="RayCast3D" parent="BoundingBox/FloorChecks/Cardinals"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.45, 0, 0)
target_position = Vector3(0, -1.1, 0)

[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
mesh = SubResource("CapsuleMesh_n7bvk")
