[gd_scene load_steps=40 format=3 uid="uid://ci12ytew5vwty"]

[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_wn7ww"]
[ext_resource type="Script" uid="uid://uvw6pg1ut0ms" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="2_2n1da"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="2_e7gxt"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_tvx5n"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_y3dy8"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="3_f5qrw"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_a27nb"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_m2vbn"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="4_moad5"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_jitt8"]

[sub_resource type="Resource" id="Resource_jtk1d"]
script = ExtResource("4_m2vbn")
keep_aspect = 1
cull_mask = 1048575
h_offset = 0.0
v_offset = 0.0
projection = 0
fov = 75.0
size = 1.0
frustum_offset = Vector2(0, 0)
near = 0.05
far = 4000.0

[sub_resource type="Resource" id="Resource_o161n"]
script = ExtResource("4_m2vbn")
keep_aspect = 1
cull_mask = 1048575
h_offset = 0.0
v_offset = 0.0
projection = 0
fov = 75.0
size = 1.0
frustum_offset = Vector2(0, 0)
near = 0.05
far = 4000.0

[sub_resource type="BoxMesh" id="BoxMesh_7tjw4"]
size = Vector3(2, 0.5, 4)

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hpllm"]
transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)

[sub_resource type="BoxShape3D" id="BoxShape3D_65o6h"]
size = Vector3(2, 0.5, 4)

[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_tpc7d"]

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

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_v5iy7"]
albedo_color = Color(0.988235, 0.478431, 0.905882, 1)

[sub_resource type="Resource" id="Resource_tpvee"]
script = ExtResource("7_jitt8")
duration = 0.0
transition = 0
ease = 2

[sub_resource type="Resource" id="Resource_bxbnv"]
script = ExtResource("4_m2vbn")
keep_aspect = 1
cull_mask = 1048575
h_offset = 0.0
v_offset = 0.0
projection = 0
fov = 75.0
size = 1.0
frustum_offset = Vector2(0, 0)
near = 0.05
far = 4000.0

[sub_resource type="BoxShape3D" id="BoxShape3D_wcrbb"]
size = Vector3(6.8, 0.1, 5.4)

[sub_resource type="Resource" id="Resource_7ih0k"]
script = ExtResource("7_jitt8")
duration = 0.0
transition = 0
ease = 2

[sub_resource type="Resource" id="Resource_4iyps"]
script = ExtResource("4_m2vbn")
keep_aspect = 1
cull_mask = 1048575
h_offset = 0.0
v_offset = 0.0
projection = 0
fov = 75.0
size = 1.0
frustum_offset = Vector2(0, 0)
near = 0.05
far = 4000.0

[sub_resource type="BoxShape3D" id="BoxShape3D_ctyr8"]
size = Vector3(7.4, 0.1, 3.6)

[sub_resource type="Resource" id="Resource_x5y0u"]
script = ExtResource("7_jitt8")
duration = 0.0
transition = 0
ease = 2

[sub_resource type="Resource" id="Resource_pgiyx"]
script = ExtResource("4_m2vbn")
keep_aspect = 1
cull_mask = 1048575
h_offset = 0.0
v_offset = 0.0
projection = 0
fov = 75.0
size = 1.0
frustum_offset = Vector2(0, 0)
near = 0.05
far = 4000.0

[sub_resource type="BoxShape3D" id="BoxShape3D_ua072"]
size = Vector3(6.8, 0.1, 3.6)

[sub_resource type="BoxMesh" id="BoxMesh_ugc3s"]
size = Vector3(1, 1, 2)

[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_68thd"]
albedo_color = Color(0.34902, 0.862745, 0.854902, 1)

[sub_resource type="BoxMesh" id="BoxMesh_wphly"]
size = Vector3(1, 0.5, 1)

[sub_resource type="BoxMesh" id="BoxMesh_gyp5s"]
size = Vector3(20, 40, 30)

[sub_resource type="BoxShape3D" id="BoxShape3D_lfaqs"]
size = Vector3(20, 40, 30)

[sub_resource type="BoxMesh" id="BoxMesh_n70lt"]
size = Vector3(14, 40, 6)

[sub_resource type="BoxShape3D" id="BoxShape3D_jxmqm"]
size = Vector3(14, 40, 6)

[sub_resource type="BoxMesh" id="BoxMesh_x0tgm"]
size = Vector3(8, 40, 1)

[sub_resource type="BoxShape3D" id="BoxShape3D_t67ef"]
size = Vector3(50, 40, 1)

[sub_resource type="BoxMesh" id="BoxMesh_rmslh"]
size = Vector3(0.5, 6, 13.5)

[sub_resource type="BoxMesh" id="BoxMesh_242ij"]
size = Vector3(2, 3, 3)

[sub_resource type="BoxMesh" id="BoxMesh_niuda"]
size = Vector3(8, 6, 0.5)

[node name="Root" type="Node3D"]

[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.948876, 0.315649, 0, -0.315649, 0.948876, -2.53871, 2, 9.76232)

[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_wn7ww")

[node name="PlayerGroup" type="Node" parent="."]

[node name="PlayerCharacterBody3D" parent="PlayerGroup" instance=ExtResource("2_tvx5n")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232)

[node name="MovementInstructionsLabel" type="Label3D" parent="PlayerGroup"]
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, -2.47682, -0.0708016, 7.93048)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move"
font = ExtResource("2_e7gxt")
font_size = 48

[node name="PlayerPhantomCamera3D" type="Node3D" parent="PlayerGroup" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999858, 0, 0, 0, 0.94884, 0.315632, 0, -0.315637, 0.948825, -2.53871, 2, 9.76232)
top_level = true
script = ExtResource("2_y3dy8")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
tween_resource = ExtResource("4_a27nb")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jtk1d")
follow_offset = Vector3(0, 1.5, 2.5)
follow_damping = true

[node name="NPCGroup" type="Node" parent="."]

[node name="NPCPhantomCamera3D" type="Node3D" parent="NPCGroup"]
unique_name_in_owner = true
transform = Transform3D(0.616596, -0.109786, 0.779587, -2.23517e-08, 0.990229, 0.13945, -0.78728, -0.0859841, 0.610571, -2.98802, 1.50739, 1.19719)
script = ExtResource("2_y3dy8")
tween_resource = ExtResource("4_a27nb")
camera_3d_resource = SubResource("Resource_o161n")

[node name="NPCDescriptionLabel" type="Label3D" parent="NPCGroup"]
transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866025, -3.04693, 0.367287, 0.953757)
text = "Input Example"
font = ExtResource("2_e7gxt")

[node name="NPCDialogueExampleLabel" type="Label3D" parent="NPCGroup"]
unique_name_in_owner = true
transform = Transform3D(1, 4.54671e-10, 1.65487e-10, 4.25644e-10, 0.939693, 0.34202, 0, -0.34202, 0.939693, -4.46738, 1.58641, -0.253679)
modulate = Color(1, 0.603922, 0.254902, 1)
text = "Press [ F ] to change camera"
font = ExtResource("2_e7gxt")

[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="NPCGroup"]
transform = Transform3D(0.819152, 4.83851e-10, -0.573576, -3.92481e-09, 1, -6.3473e-09, 0.573576, 7.45058e-09, 0.819152, -3.46138, -0.4, 0.875321)
mesh = SubResource("BoxMesh_7tjw4")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_hpllm")
metadata/_edit_group_ = true

[node name="NPCInteractionArea3D" type="Area3D" parent="NPCGroup/NPCInteractionZoneMesh"]
unique_name_in_owner = true
transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
monitorable = false

[node name="NPCInterationCollisionShape3D" type="CollisionShape3D" parent="NPCGroup/NPCInteractionZoneMesh/NPCInteractionArea3D"]
shape = SubResource("BoxShape3D_65o6h")

[node name="NPC" type="StaticBody3D" parent="NPCGroup"]
transform = Transform3D(1, 4.83851e-10, 0, 4.25644e-10, 1, -7.45058e-09, 0, 7.45058e-09, 1, -4.56338, 0.5, -0.272679)
script = ExtResource("2_2n1da")

[node name="PlayerCollisionShape3D2" type="CollisionShape3D" parent="NPCGroup/NPC"]
transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
shape = SubResource("CapsuleShape3D_tpc7d")

[node name="NPCMesh" type="MeshInstance3D" parent="NPCGroup/NPC"]
transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
mesh = SubResource("CapsuleMesh_g0eml")
skeleton = NodePath("../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_v5iy7")

[node name="MoveToLocation" type="Node3D" parent="NPCGroup"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.70084, 0.5, 0.962891)

[node name="FixedCameraTriggerZone" type="Node" parent="."]

[node name="FixedCameraLabel" type="Label3D" parent="FixedCameraTriggerZone"]
unique_name_in_owner = true
transform = Transform3D(0.939693, 0.280167, -0.196175, 1.49012e-08, 0.573577, 0.819152, 0.34202, -0.769751, 0.538986, -0.538716, -0.247626, 3.13456)
text = "Fixed Camera
Example"
font = ExtResource("2_e7gxt")

[node name="NorthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"]
transform = Transform3D(0.38357, -0.555836, 0.737507, -0.105898, 0.766851, 0.633027, -0.917417, -0.320912, 0.235279, 6.89638, 4.73986, 0.115512)
script = ExtResource("2_y3dy8")
tween_resource = SubResource("Resource_tpvee")
camera_3d_resource = SubResource("Resource_bxbnv")

[node name="NorthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, -0.9)
priority = 5
script = ExtResource("4_moad5")
area_pcam = NodePath("../NorthRoomPhantomCamera3D")
metadata/_edit_group_ = true

[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/NorthRoomTrigger"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, -0.4)
shape = SubResource("BoxShape3D_wcrbb")

[node name="EntryRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"]
transform = Transform3D(0.258818, -0.482963, 0.836515, 1.3027e-15, 0.866025, 0.499999, -0.965924, -0.129409, 0.224143, 6.69741, 4.73364, 4.02374)
script = ExtResource("2_y3dy8")
tween_resource = SubResource("Resource_7ih0k")
camera_3d_resource = SubResource("Resource_4iyps")

[node name="EntryRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.00003, -0.454982, 3.00572)
priority = 5
script = ExtResource("4_moad5")
area_pcam = NodePath("../EntryRoomPhantomCamera3D")
metadata/_edit_group_ = true

[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/EntryRoomTrigger"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.3, 0, 0.2)
shape = SubResource("BoxShape3D_ctyr8")

[node name="SouthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"]
transform = Transform3D(-0.766043, -0.492403, 0.413175, 0, 0.642787, 0.766043, -0.642786, 0.586825, -0.492403, 6.89741, 4.73364, 5.62374)
script = ExtResource("2_y3dy8")
tween_resource = SubResource("Resource_x5y0u")
camera_3d_resource = SubResource("Resource_pgiyx")

[node name="SouthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, 6.7)
priority = 5
script = ExtResource("4_moad5")
area_pcam = NodePath("../SouthRoomPhantomCamera3D")
metadata/_edit_group_ = true

[node name="CollisionShape3D" type="CollisionShape3D" parent="FixedCameraTriggerZone/SouthRoomTrigger"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.6, 0, 0.1)
shape = SubResource("BoxShape3D_ua072")

[node name="CSGMesh3D" type="CSGMesh3D" parent="FixedCameraTriggerZone"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.14238, 1.82571, 2.88655)
mesh = SubResource("BoxMesh_ugc3s")
material = SubResource("StandardMaterial3D_68thd")

[node name="CSGMesh3D2" type="CSGMesh3D" parent="FixedCameraTriggerZone/CSGMesh3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00192642, -0.0120339, 0.00494432)
operation = 2
mesh = SubResource("BoxMesh_wphly")
material = SubResource("StandardMaterial3D_68thd")

[node name="Environment" type="Node" parent="."]

[node name="DirectionalLight3D" type="DirectionalLight3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true

[node name="Environment" type="Node3D" parent="Environment"]

[node name="Floor" parent="Environment/Environment" instance=ExtResource("3_f5qrw")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true

[node name="West Wall" type="StaticBody3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16, 0.5, 0)
metadata/_edit_group_ = true
metadata/_edit_lock_ = true

[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/West Wall"]
mesh = SubResource("BoxMesh_gyp5s")
skeleton = NodePath("")

[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/West Wall"]
shape = SubResource("BoxShape3D_lfaqs")

[node name="East Wall" type="StaticBody3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 16.999, 0.502, 0)
metadata/_edit_group_ = true
metadata/_edit_lock_ = true

[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/East Wall"]
mesh = SubResource("BoxMesh_gyp5s")
skeleton = NodePath("")

[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/East Wall"]
shape = SubResource("BoxShape3D_lfaqs")

[node name="North Wall" type="StaticBody3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, -6.90828)
metadata/_edit_group_ = true
metadata/_edit_lock_ = true

[node name="MeshInstance3D2" type="MeshInstance3D" parent="Environment/Environment/North Wall"]
mesh = SubResource("BoxMesh_n70lt")
skeleton = NodePath("")

[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/North Wall"]
shape = SubResource("BoxShape3D_jxmqm")

[node name="South Wall" type="StaticBody3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.25, 0.5, 9.087)
metadata/_edit_group_ = true

[node name="MeshInstance3D3" type="MeshInstance3D" parent="Environment/Environment/South Wall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 0, 0)
mesh = SubResource("BoxMesh_x0tgm")
skeleton = NodePath("")

[node name="CollisionShape3D" type="CollisionShape3D" parent="Environment/Environment/South Wall"]
shape = SubResource("BoxShape3D_t67ef")

[node name="FixedCamOuterWall" type="CSGMesh3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 2)
use_collision = true
mesh = SubResource("BoxMesh_rmslh")

[node name="FixedCamOuterDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamOuterWall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5, 1)
operation = 2
mesh = SubResource("BoxMesh_242ij")

[node name="FixedCamNorthWall" type="CSGMesh3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 1)
use_collision = true
mesh = SubResource("BoxMesh_niuda")

[node name="FixedCamNorthDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamNorthWall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.5, 0)
operation = 2
mesh = SubResource("BoxMesh_242ij")

[node name="FixedCamSouthWall" type="CSGMesh3D" parent="Environment/Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 2.5, 5.1)
use_collision = true
mesh = SubResource("BoxMesh_niuda")

[node name="FixedCamSouthDoorway" type="CSGMesh3D" parent="Environment/Environment/FixedCamSouthWall"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.50541, 1.19209e-07)
operation = 2
mesh = SubResource("BoxMesh_242ij")

[editable path="PlayerGroup/PlayerCharacterBody3D"]
