[gd_scene load_steps=35 format=3 uid="uid://ci12ytew5vwty"] [ext_resource type="Script" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_ry0dd"] [ext_resource type="Script" 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="Script" 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/3DPrototypeCubeDark.tscn" id="3_f5qrw"] [ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/PlayerPhantomCamera3DTween.tres" id="4_a27nb"] [ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/3D_trigger_area.gd" id="4_moad5"] [ext_resource type="Script" path="res://addons/phantom_camera/examples/scripts/3D/player_controller.gd" id="5_c85ys"] [ext_resource type="Script" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_ebm1o"] [ext_resource type="Resource" uid="uid://c1v786g5agaw5" path="res://addons/phantom_camera/examples/resources/tween/FixedCameraTween.tres" id="8_c0sgt"] [sub_resource type="CapsuleMesh" id="CapsuleMesh_g0eml"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_flw6w"] albedo_color = Color(0.988235, 0.498039, 0.498039, 1) [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_dy1i7"] [sub_resource type="Resource" id="Resource_su0l1"] script = ExtResource("6_ebm1o") duration = 1.2 transition = 3 ease = 2 [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="StandardMaterial3D" id="StandardMaterial3D_v5iy7"] albedo_color = Color(0.988235, 0.478431, 0.905882, 1) [sub_resource type="BoxShape3D" id="BoxShape3D_wcrbb"] size = Vector3(6.8, 0.1, 5.4) [sub_resource type="BoxShape3D" id="BoxShape3D_ctyr8"] size = Vector3(7.4, 0.1, 3.6) [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(0.997417, 0.0220127, -0.0662648, 0, 0.948973, 0.315232, 0.0698191, -0.314467, 0.946641, -4.132, 2, 9.011) [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] script = ExtResource("1_ry0dd") [node name="PlayerGroup" type="Node" parent="."] [node name="MovementInstructionsLabel" type="Label3D" parent="PlayerGroup"] transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -2.50422, -0.455369, 6.62486) 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"] unique_name_in_owner = true transform = Transform3D(0.997417, 0.0220127, -0.0662648, 0, 0.948973, 0.315232, 0.0698191, -0.314467, 0.946641, -4.132, 2, 9.011) script = ExtResource("2_y3dy8") priority_override = false priority = 3 follow_mode = 2 follow_target = NodePath("../PlayerCharacterBody3D") follow_parameters/target_offset = Vector3(0.5, 1.5, 2) follow_parameters/damping = true follow_parameters/damping_value = 10.0 look_at_mode = 0 tween_parameters = ExtResource("4_a27nb") tween_on_load = false inactive_update_mode = 0 camera_3D_resource = null [node name="PlayerCharacterBody3D" type="CharacterBody3D" parent="PlayerGroup"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.632, 0.5, 7.011) script = ExtResource("5_c85ys") SPEED = 3.5 metadata/_edit_group_ = true [node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="PlayerGroup/PlayerCharacterBody3D"] mesh = SubResource("CapsuleMesh_g0eml") surface_material_override/0 = SubResource("StandardMaterial3D_flw6w") [node name="PlayerArea3D" type="Area3D" parent="PlayerGroup/PlayerCharacterBody3D"] [node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerGroup/PlayerCharacterBody3D/PlayerArea3D"] shape = SubResource("CapsuleShape3D_dy1i7") [node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="PlayerGroup/PlayerCharacterBody3D"] shape = SubResource("CapsuleShape3D_dy1i7") [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") priority_override = false priority = 0 follow_mode = 0 look_at_mode = 0 tween_parameters = SubResource("Resource_su0l1") tween_on_load = true inactive_update_mode = 0 camera_3D_resource = null [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") priority_override = false priority = 0 follow_mode = 0 look_at_mode = 0 tween_parameters = ExtResource("8_c0sgt") tween_on_load = true inactive_update_mode = 0 camera_3D_resource = null [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") priority_override = false priority = 0 follow_mode = 0 look_at_mode = 0 tween_parameters = ExtResource("8_c0sgt") tween_on_load = true inactive_update_mode = 0 camera_3D_resource = null [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") priority_override = false priority = 0 follow_mode = 0 look_at_mode = 0 tween_parameters = ExtResource("8_c0sgt") tween_on_load = true inactive_update_mode = 0 camera_3D_resource = null [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")