更新镜头的基本prefab

This commit is contained in:
RedisTKey 2026-01-02 23:56:22 +08:00
parent 46f69e2336
commit 5a6ad57705
74 changed files with 1024 additions and 5497 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://bj2318o3y68x2"]
[gd_scene load_steps=7 format=3 uid="uid://bj2318o3y68x2"]
[ext_resource type="Script" uid="uid://ds6jy3s0hhmwt" path="res://_game/DemoScript.gd" id="1_2tycc"]
[ext_resource type="PackedScene" uid="uid://cvqehvdjpoar4" path="res://_player/player_controller.tscn" id="2_gslp7"]
@ -6,7 +6,6 @@
[ext_resource type="PackedScene" uid="uid://bt55vmoc83l6g" path="res://_game/scenes/l_1_s_1.tscn" id="4_6jw57"]
[ext_resource type="PackedScene" uid="uid://c6and5mqr3wv1" path="res://_game/scenes/l_1_s_2.tscn" id="5_2t6pm"]
[ext_resource type="PackedScene" uid="uid://0sivr6aig7gm" path="res://_game/scenes/l_1_s_3.tscn" id="6_xkd7q"]
[ext_resource type="PackedScene" uid="uid://jd5d3i4xqj2m" path="res://_game/scenes/l_1_s_4.tscn" id="7_2t6pm"]
[node name="Game" type="Node2D"]
script = ExtResource("1_2tycc")
@ -21,7 +20,7 @@ collision_mask = 4
[node name="l1_s1" parent="." instance=ExtResource("4_6jw57")]
[node name="l1_s2" parent="." instance=ExtResource("5_2t6pm")]
debug_log = true
[node name="l1_s3" parent="." instance=ExtResource("6_xkd7q")]
[node name="l1_s4" parent="." instance=ExtResource("7_2t6pm")]
debug_log = true

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=28 format=4 uid="uid://bt55vmoc83l6g"]
[gd_scene load_steps=32 format=4 uid="uid://bt55vmoc83l6g"]
[ext_resource type="Script" uid="uid://5e157vdk6175" path="res://addons/reedscene/scene/ReedScene.gd" id="1_wiqi4"]
[ext_resource type="Script" uid="uid://bh066o84byplh" path="res://addons/reedscene/scene/ReedSceneID.gd" id="2_1t0dx"]
@ -15,18 +15,24 @@
[ext_resource type="PackedScene" uid="uid://c3mievyfhx6ni" path="res://_props/coin/coin.tscn" id="11_1t0dx"]
[ext_resource type="Script" uid="uid://cdvgq0xqdbagk" path="res://addons/reedscene/prop/ReedPropEffect.gd" id="12_fyfyw"]
[ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_8hwae"]
[sub_resource type="Resource" id="Resource_8hwae"]
script = ExtResource("6_fyfyw")
[ext_resource type="PackedScene" uid="uid://mi4omkkocmc0" path="res://_props/_prefabs/scene_static_camera.tscn" id="14_s6kod"]
[sub_resource type="Resource" id="Resource_s6kod"]
script = ExtResource("6_fyfyw")
[sub_resource type="Resource" id="Resource_1dh04"]
script = ExtResource("6_fyfyw")
[sub_resource type="Resource" id="Resource_spdfw"]
script = ExtResource("6_fyfyw")
state_id = 1
[sub_resource type="Resource" id="Resource_ykqcq"]
script = ExtResource("5_a224g")
prop_state_map = Dictionary[int, ExtResource("6_fyfyw")]({
0: SubResource("Resource_8hwae"),
1: SubResource("Resource_s6kod")
0: SubResource("Resource_s6kod"),
1: SubResource("Resource_1dh04"),
2: SubResource("Resource_spdfw")
})
[sub_resource type="Resource" id="Resource_gu0l6"]
@ -61,6 +67,9 @@ prop_state_map = Dictionary[int, ExtResource("6_fyfyw")]({
[sub_resource type="Resource" id="Resource_fyfyw"]
script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1
value = null
func_name = &"reset_door_state_id"
@ -69,6 +78,9 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_bco80"]
script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1
value = null
func_name = &"door_close"
@ -76,6 +88,9 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_22pon"]
script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1
value = null
func_name = &"reset_door_state_id"
@ -84,13 +99,35 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_25twt"]
script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1
value = null
func_name = &"door_open"
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_rlswc"]
script = ExtResource("12_fyfyw")
target_type = 1
child_node_name = &"Tool"
effect_type = 1
value = null
func_name = &"release_self_priority"
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_1vufk"]
script = ExtResource("12_fyfyw")
target_type = 1
child_node_name = &"Tool"
effect_type = 1
value = null
func_name = &"hold_self_priority"
metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[node name="l1_s1" type="Node2D"]
script = ExtResource("1_wiqi4")
debug_log = true
metadata/_custom_type_script = "uid://5e157vdk6175"
[node name="[ID_ 9900001]" type="Node" parent="."]
@ -103,7 +140,7 @@ script = ExtResource("3_1t0dx")
[node name="ActManager" type="Node" parent="."]
script = ExtResource("4_a224g")
prop_state_map = Dictionary[int, ExtResource("5_a224g")]({
0: SubResource("Resource_1dh04"),
0: SubResource("Resource_ykqcq"),
1: SubResource("Resource_648qh"),
2: SubResource("Resource_jh33u")
})
@ -175,6 +212,27 @@ from_state_id = 0
effects = Array[ExtResource("12_fyfyw")]([SubResource("Resource_25twt")])
metadata/_custom_type_script = "uid://jeybblac0kg2"
[node name="SceneStaticCamera" parent="Props" instance=ExtResource("14_s6kod")]
position = Vector2(334, 183)
tween_on_load = false
[node name="[Prop_0002]" type="Node" parent="Props/SceneStaticCamera"]
script = ExtResource("7_s6kod")
prop_id = 2
[node name="States" type="Node" parent="Props/SceneStaticCamera/[Prop_0002]"]
script = ExtResource("8_1dh04")
[node name="[ID_0] Disable" type="Node" parent="Props/SceneStaticCamera/[Prop_0002]/States"]
script = ExtResource("9_648qh")
state_id = 0
effects = Array[ExtResource("12_fyfyw")]([SubResource("Resource_rlswc")])
[node name="[ID_1] Enable" type="Node" parent="Props/SceneStaticCamera/[Prop_0002]/States"]
script = ExtResource("9_648qh")
state_id = 1
effects = Array[ExtResource("12_fyfyw")]([SubResource("Resource_1vufk")])
[node name="l1_s1_tile" parent="." instance=ExtResource("10_25twt")]
tile_map_data = PackedByteArray("AAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAAAABQAAAAAAAAAAAAAABUAAAAAAAAAAAAAABYAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAABABQAAAAAAAAAAAABABUAAAAAAAAAAAABABYAAAAAAAAAAAACABQAAAAAAAAAAAACABUAAAAAAAAAAAACABYAAAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADABQAAAAAAAAAAAADABUAAAAAAAAAAAADABYAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEABQAAAAAAAAAAAAEABUAAAAAAAAAAAAEABYAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFABQAAAAAAAAAAAAFABUAAAAAAAAAAAAFABYAAAAAAAAAAAAGABQAAAAAAAAAAAAGABUAAAAAAAAAAAAGABYAAAAAAAAAAAAHABQAAAAAAAAAAAAHABUAAAAAAAAAAAAHABYAAAAAAAAAAAAIABQAAAAAAAAAAAAIABUAAAAAAAAAAAAIABYAAAAAAAAAAAAJABQAAAAAAAAAAAAJABUAAAAAAAAAAAAJABYAAAAAAAAAAAAKABQAAAAAAAAAAAAKABUAAAAAAAAAAAAKABYAAAAAAAAAAAALABQAAAAAAAAAAAALABUAAAAAAAAAAAALABYAAAAAAAAAAAAMABQAAAAAAAAAAAAMABUAAAAAAAAAAAAMABYAAAAAAAAAAAANABQAAAAAAAAAAAANABUAAAAAAAAAAAANABYAAAAAAAAAAAAOABQAAAAAAAAAAAAOABUAAAAAAAAAAAAOABYAAAAAAAAAAAAPABQAAAAAAAAAAAAPABUAAAAAAAAAAAAPABYAAAAAAAAAAAAQABQAAAAAAAAAAAAQABUAAAAAAAAAAAAQABYAAAAAAAAAAAARABQAAAAAAAAAAAARABUAAAAAAAAAAAARABYAAAAAAAAAAAASABQAAAAAAAAAAAASABUAAAAAAAAAAAASABYAAAAAAAAAAAATABQAAAAAAAAAAAATABUAAAAAAAAAAAATABYAAAAAAAAAAAAUABQAAAAAAAAAAAAUABUAAAAAAAAAAAAUABYAAAAAAAAAAAAVABQAAAAAAAAAAAAVABUAAAAAAAAAAAAVABYAAAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAcABQAAAAAAAAAAAAcABUAAAAAAAAAAAAcABYAAAAAAAAAAAAdABQAAAAAAAAAAAAdABUAAAAAAAAAAAAdABYAAAAAAAAAAAAeABQAAAAAAAAAAAAeABUAAAAAAAAAAAAeABYAAAAAAAAAAAAfABQAAAAAAAAAAAAfABUAAAAAAAAAAAAfABYAAAAAAAAAAAAgABQAAAAAAAAAAAAgABUAAAAAAAAAAAAgABYAAAAAAAAAAAAhABQAAAAAAAAAAAAhABUAAAAAAAAAAAAhABYAAAAAAAAAAAAiABQAAAAAAAAAAAAiABUAAAAAAAAAAAAiABYAAAAAAAAAAAAjABQAAAAAAAAAAAAjABUAAAAAAAAAAAAjABYAAAAAAAAAAAAkABQAAAAAAAAAAAAkABUAAAAAAAAAAAAkABYAAAAAAAAAAAAlABQAAAAAAAAAAAAlABUAAAAAAAAAAAAlABYAAAAAAAAAAAAmABQAAAAAAAAAAAAmABUAAAAAAAAAAAAmABYAAAAAAAAAAAAnABQAAAAAAAAAAAAnABUAAAAAAAAAAAAnABYAAAAAAAAAAAAoABQAAAAAAAAAAAAoABUAAAAAAAAAAAAoABYAAAAAAAAAAAApABQAAAAAAAAAAAApABUAAAAAAAAAAAApABYAAAAAAAAAAAAWABQAAAAAAAAAAAAWABUAAAAAAAAAAAAWABYAAAAAAAAAAAAbABQAAAAAAAAAAAAbABUAAAAAAAAAAAAbABYAAAAAAAAAAAAXABQAAAAAAAAAAAAXABUAAAAAAAAAAAAXABYAAAAAAAAAAAAYABQAAAAAAAAAAAAYABUAAAAAAAAAAAAYABYAAAAAAAAAAAAZABQAAAAAAAAAAAAZABUAAAAAAAAAAAAZABYAAAAAAAAAAAAaABQAAAAAAAAAAAAaABUAAAAAAAAAAAAaABYAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAVAAAAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAIAAAAAAAAAAAAWAAAAAAAAAAAAAAAWAAEAAAAAAAAAAAAWAAIAAAAAAAAAAAAXAAAAAAAAAAAAAAAXAAEAAAAAAAAAAAAXAAIAAAAAAAAAAAAYAAAAAAAAAAAAAAAYAAEAAAAAAAAAAAAYAAIAAAAAAAAAAAAZAAAAAAAAAAAAAAAZAAEAAAAAAAAAAAAZAAIAAAAAAAAAAAAaAAAAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAIAAAAAAAAAAAAbAAAAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAIAAAAAAAAAAAAcAAAAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAIAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAIAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAIAAAAAAAAAAAAfAAAAAAAAAAAAAAAfAAEAAAAAAAAAAAAfAAIAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAEAAAAAAAAAAAAgAAIAAAAAAAAAAAAhAAAAAAAAAAAAAAAhAAEAAAAAAAAAAAAhAAIAAAAAAAAAAAAiAAAAAAAAAAAAAAAiAAEAAAAAAAAAAAAiAAIAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAEAAAAAAAAAAAAjAAIAAAAAAAAAAAAkAAAAAAAAAAAAAAAkAAEAAAAAAAAAAAAkAAIAAAAAAAAAAAAlAAAAAAAAAAAAAAAlAAEAAAAAAAAAAAAlAAIAAAAAAAAAAAAmAAAAAAAAAAAAAAAmAAEAAAAAAAAAAAAmAAIAAAAAAAAAAAAnAAAAAAAAAAAAAAAnAAEAAAAAAAAAAAAnAAIAAAAAAAAAAAAoAAAAAAAAAAAAAAAoAAEAAAAAAAAAAAAoAAIAAAAAAAAAAAApAAAAAAAAAAAAAAApAAEAAAAAAAAAAAApAAIAAAAAAAAAAAAoAAMAAAAAAAAAAAAoAAQAAAAAAAAAAAAoAAUAAAAAAAAAAAAoAAYAAAAAAAAAAAAoAAcAAAAAAAAAAAAoAAgAAAAAAAAAAAAoAAkAAAAAAAAAAAAoAAoAAAAAAAAAAAAoAAsAAAAAAAAAAAAoAAwAAAAAAAAAAAApAAMAAAAAAAAAAAApAAQAAAAAAAAAAAApAAUAAAAAAAAAAAApAAYAAAAAAAAAAAApAAcAAAAAAAAAAAApAAgAAAAAAAAAAAApAAkAAAAAAAAAAAApAAoAAAAAAAAAAAApAAsAAAAAAAAAAAApAAwAAAAAAAAAAAA=")

File diff suppressed because one or more lines are too long

View File

@ -6,3 +6,11 @@ func _on_coin_collected(collector: Node2D) -> void:
var l1_s1: ReedScene = ReedSceneRegistry.get_scene(9900001)
if l1_s1:
l1_s1.switch_act_by_id(2)
func _on_player_trigger_volumn_player_entered(body: CharacterBody2D) -> void:
_act_manager.switch_act_with_id(2)
func _on_player_trigger_volumn_2_player_entered(body: CharacterBody2D) -> void:
_act_manager.switch_act_with_id(3)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=39 format=3 uid="uid://gwhff4qaouxy"]
[gd_scene load_steps=40 format=3 uid="uid://gwhff4qaouxy"]
[ext_resource type="Script" uid="uid://dq1g1qp66chwy" path="res://_player/avatar.gd" id="1_rkqpu"]
[ext_resource type="Script" uid="uid://isu8onknb75o" path="res://_player/states/character_state_machine.gd" id="1_wvs5h"]
@ -23,7 +23,6 @@
[ext_resource type="Script" uid="uid://ca88urm45gx2c" path="res://_player/states/dead.gd" id="17_5r2pj"]
[ext_resource type="Script" uid="uid://bqrel2r5hcmxk" path="res://_player/states/grapping.gd" id="19_u7cua"]
[ext_resource type="PackedScene" uid="uid://blm8q46h3v2im" path="res://addons/reedcomponent/locomotion/wall_detector.tscn" id="20_air0b"]
[ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="20_ogl63"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="21_5r2pj"]
[ext_resource type="Script" uid="uid://bkkkyugppu7sl" path="res://addons/reedcomponent/grap_hook/spawn_hook_component.gd" id="21_p14kj"]
[ext_resource type="Script" uid="uid://ta2r2bc1nrwe" path="res://addons/reedfx/vfx/VFXManager.gd" id="24_mwlgv"]
@ -34,6 +33,8 @@
[ext_resource type="Resource" uid="uid://do0bnwse614jw" path="res://_player/effect_binding/land_dust.tres" id="26_s5egm"]
[ext_resource type="Script" uid="uid://bijoqygv6tncj" path="res://addons/reedcomponent/SingleComponentRemotor.gd" id="28_mxt3b"]
[ext_resource type="Resource" uid="uid://bdad4yjv1q0uu" path="res://_player/effect_binding/jump_dust.tres" id="30_hquoe"]
[ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="32_u7cua"]
[ext_resource type="Script" uid="uid://bueehfgv5vnc0" path="res://_player/extra/camera_priority_locker.gd" id="34_1a1t3"]
[sub_resource type="RectangleShape2D" id="RectangleShape2D_qnulu"]
size = Vector2(9, 23)
@ -42,7 +43,7 @@ size = Vector2(9, 23)
atlas = ExtResource("2_8nsdm")
region = Rect2(9, 22, 13, 26)
[sub_resource type="Resource" id="Resource_p14kj"]
[sub_resource type="Resource" id="Resource_1a1t3"]
script = ExtResource("21_5r2pj")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ogl63"]
@ -181,10 +182,14 @@ metadata/_custom_type_script = "uid://ta2r2bc1nrwe"
[node name="PhantomCamera2D" type="Node2D" parent="."]
position = Vector2(50, -75)
script = ExtResource("20_ogl63")
tween_resource = SubResource("Resource_p14kj")
script = ExtResource("32_u7cua")
tween_resource = SubResource("Resource_1a1t3")
metadata/_custom_type_script = "uid://bhexx6mj1xv3q"
[node name="Locker" type="Node" parent="PhantomCamera2D" node_paths=PackedStringArray("target_camera")]
script = ExtResource("34_1a1t3")
target_camera = NodePath("..")
[node name="HitBox" type="Area2D" parent="."]
unique_name_in_owner = true
collision_layer = 0

View File

@ -0,0 +1,30 @@
'''
Priority锁定为1
'''
extends Node
@export var target_camera: PhantomCamera2D
var _p
func _ready() -> void:
_p = target_camera
if not _p:
_p = get_parent() as PhantomCamera2D
if not _p:
printerr("[CameraLocker]: No vaild Camera Founded")
var pcm = Engine.get_singleton("PhantomCameraManager")
pcm.pcam_priority_changed.connect(_enforce)
pcm.pcam_visibility_changed.connect(_enforce)
# 启动时先保证一次
_enforce()
func _enforce(_pcam = null):
if not is_instance_valid(_p):
return
if _p.get_priority() != 1:
_p.set_priority(1)

View File

@ -0,0 +1 @@
uid://bueehfgv5vnc0

View File

@ -0,0 +1,25 @@
extends Node
@export var binded_camera: PhantomCamera2D
var _binded_cam: PhantomCamera2D
func _ready() -> void:
_binded_cam = binded_camera
if not _binded_cam:
_binded_cam = get_parent() as PhantomCamera2D
if not _binded_cam:
printerr("[CameraTool]: No Vaild Camera Founded")
## 将自己的priority设置为最高
func hold_self_priority() -> void:
var pcs = PhantomCameraManager.get_phantom_camera_2ds()
for pc in pcs:
pc.priority = -1
_binded_cam.priority = 100
## 将自己的priority设置为不可用
func release_self_priority() -> void:
_binded_cam.priority = -1

View File

@ -0,0 +1 @@
uid://ce7d2tpunfaxe

View File

@ -0,0 +1,17 @@
[gd_scene load_steps=5 format=3 uid="uid://mi4omkkocmc0"]
[ext_resource type="Script" uid="uid://bhexx6mj1xv3q" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_2d.gd" id="1_p2s6f"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_77rrp"]
[ext_resource type="Script" uid="uid://ce7d2tpunfaxe" path="res://_props/_prefabs/camera_tool.gd" id="3_77rrp"]
[sub_resource type="Resource" id="Resource_gofl0"]
script = ExtResource("2_77rrp")
[node name="SceneStaticCamera" type="Node2D"]
script = ExtResource("1_p2s6f")
tween_resource = SubResource("Resource_gofl0")
metadata/_custom_type_script = "uid://bhexx6mj1xv3q"
[node name="Tool" type="Node" parent="." node_paths=PackedStringArray("binded_camera")]
script = ExtResource("3_77rrp")
binded_camera = NodePath("..")

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -166,14 +166,7 @@ sources/0 = SubResource("TileSetAtlasSource_lvmak")
[sub_resource type="Resource" id="Resource_87ddr"]
script = ExtResource("11_d6abr")
amplitude = 30.0
frequency = 0.5
randomize_noise_seed = 1
noise_seed = 0
positional_noise = true
rotational_noise = false
positional_multiplier_x = 1.0
positional_multiplier_y = 1.0
rotational_multiplier = 1.0
[sub_resource type="Resource" id="Resource_rmnw1"]
script = ExtResource("11_d6abr")
@ -181,11 +174,7 @@ amplitude = 40.0
frequency = 30.0
randomize_noise_seed = 1
noise_seed = 96
positional_noise = true
rotational_noise = true
positional_multiplier_x = 1.0
positional_multiplier_y = 1.0
rotational_multiplier = 1.0
[node name="Root" type="Node2D"]
@ -245,7 +234,7 @@ text = "[WASD] to move
[node name="Camera2D" type="Camera2D" parent="."]
physics_interpolation_mode = 1
position = Vector2(227, -28)
offset = Vector2(2.3068, -7.8485)
offset = Vector2(3.7613766, -1.1727414)
ignore_rotation = false
zoom = Vector2(1.5, 1.5)
process_callback = 0

File diff suppressed because one or more lines are too long

View File

@ -1,413 +0,0 @@
[gd_scene load_steps=41 format=3 uid="uid://cypbptekk8etg"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_u86qq"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_jl1he"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="3_an0dt"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="3_yfuq5"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="4_iy6qn"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="5_0ku52"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_prr6u"]
[ext_resource type="Script" uid="uid://uvw6pg1ut0ms" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="7_nl3ax"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="8_xvqcg"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="9_hqgwi"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="10_cd0kn"]
[sub_resource type="Resource" id="Resource_jtk1d"]
script = ExtResource("6_prr6u")
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("6_prr6u")
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("8_xvqcg")
duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_bxbnv"]
script = ExtResource("6_prr6u")
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("8_xvqcg")
duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_4iyps"]
script = ExtResource("6_prr6u")
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("8_xvqcg")
duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_pgiyx"]
script = ExtResource("6_prr6u")
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
physics_interpolation_mode = 1
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_u86qq")
[node name="PlayerGroup" type="Node" parent="."]
[node name="PlayerCharacterBody3D" parent="PlayerGroup" instance=ExtResource("2_jl1he")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232)
script = ExtResource("3_yfuq5")
[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("3_an0dt")
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("4_iy6qn")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("5_0ku52")
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("4_iy6qn")
tween_resource = ExtResource("5_0ku52")
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("3_an0dt")
[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("3_an0dt")
[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("7_nl3ax")
[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("3_an0dt")
[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("4_iy6qn")
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("9_hqgwi")
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("4_iy6qn")
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("9_hqgwi")
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("4_iy6qn")
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("9_hqgwi")
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("10_cd0kn")]
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")

View File

@ -1,158 +0,0 @@
[gd_scene load_steps=11 format=3 uid="uid://cx7x48cpi8gcd"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_6uslv"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_5cpe8"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_422w7"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_4qurp"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_uw36d"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="6_fcomr"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_i060b"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_iyghi"]
[sub_resource type="Resource" id="Resource_wg1pr"]
script = ExtResource("4_4qurp")
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="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("7_iyghi")
uv1_triplanar = true
uv1_world_triplanar = true
[node name="Root" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.793353, 0.608762, 0, -0.608762, 0.793353, 0, 2.93468, 3.17294)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_6uslv")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="Player" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0, 2.93468, 3.17294)
top_level = true
script = ExtResource("2_5cpe8")
follow_mode = 5
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("3_422w7")
tween_on_load = false
camera_3d_resource = SubResource("Resource_wg1pr")
follow_damping = true
follow_distance = 4.0
dead_zone_width = 0.139
dead_zone_height = 0.14
show_viewfinder_in_play = true
spring_length = 4.0
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_uw36d")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("6_fcomr")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_i060b")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.636134, 0.805455, -6.37532)
use_collision = true
radius = 1.71971
height = 2.61091
sides = 32
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7.54597, -0.540694, -3.39517)
use_collision = true
radius = 1.53269
height = 2.5036
sides = 32
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.64877, -1.50101, 1.22863)
use_collision = true
radius = 1.57419
height = 3.47475
sides = 32
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.4732, 0.805455, -8.78984)
use_collision = true
radius = 0.956285
height = 2.61091
sides = 32
[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.40027, -1.69814, 3.36997)
use_collision = true
radius = 3.34732
rings = 32
[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.13768, -0.599204, -1.04651)
use_collision = true
radius = 2.65844
rings = 32
[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.7976, -0.599204, -2.42244)
use_collision = true
radius = 2.14606
rings = 32
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.84078, -0.497663, 4.44352)
use_collision = true
inner_radius = 0.971543
outer_radius = 2.15226
sides = 32
ring_sides = 18
[node name="CSGBox3D" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_auy8m")
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.88916, 0.760708, -6.1376)
use_collision = true
size = Vector3(2.64182, 2.52142, 2.30997)
[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.83837, -0.241718, 7.14677)
use_collision = true
size = Vector3(3.80964, 1.67049, 0.932048)
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.34377, 0.138478, -4.36159)
use_collision = true
size = Vector3(1.53893, 1.27695, 1.80814)
[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.9834, 0.138478, -1.89037)
use_collision = true
size = Vector3(4.03502, 1.27695, 5.2198)
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.38147, 0.0440434, 8.36617)
use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285)

View File

@ -1,211 +0,0 @@
[gd_scene load_steps=15 format=3 uid="uid://d2lx45noxq685"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_7a3wq"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_158c0"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_ganw1"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_kig2n"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_caky3"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="6_b6ic4"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_kkbaa"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_i1dbs"]
[sub_resource type="Resource" id="Resource_ucp3e"]
script = ExtResource("3_ganw1")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ab013"]
script = ExtResource("4_kig2n")
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="CapsuleMesh" id="CapsuleMesh_2h36r"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("7_i1dbs")
uv1_triplanar = true
uv1_world_triplanar = true
[node name="Node3D" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.638767, 0.7694, 0, -0.7694, 0.638768, 0, 6.39, 7)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_7a3wq")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="Player" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, 0, 6.39, 7)
top_level = true
script = ExtResource("2_158c0")
priority = 5
follow_mode = 1
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_ucp3e")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ab013")
follow_damping = true
follow_damping_value = Vector3(0.3, 0.3, 0.3)
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_caky3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.39, 7)
script = ExtResource("6_b6ic4")
enable_gravity = false
[node name="PlayerVisual" parent="Player/PlayerCharacterBody3D" index="2"]
visible = false
[node name="NPCs" type="Node" parent="."]
[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.04486, 0.519002, -1.52506)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_w3olp")
[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.51494, 0.519, 4.06618)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_kkbaa")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.62737, 0.805455, -6.37532)
use_collision = true
radius = 1.71971
height = 2.61091
sides = 32
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 24.9378, 0.31181, -5.46661)
use_collision = true
radius = 2.77591
height = 1.62362
sides = 32
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.58617, 0.31181, 6.6322)
use_collision = true
radius = 1.57419
height = 3.47475
sides = 32
[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.774, 0.201103, 2.71259)
use_collision = true
radius = 1.41311
height = 1.40221
sides = 32
[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.40488, 0.201101, 11.6804)
use_collision = true
radius = 2.21673
height = 7.88261
sides = 32
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.20971, 0.805455, -8.78984)
use_collision = true
radius = 0.956285
height = 2.61091
sides = 32
[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.9771, -1.69814, -6.51262)
use_collision = true
radius = 3.34732
rings = 32
[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.555532, -0.599204, 8.81048)
use_collision = true
radius = 2.65844
rings = 32
[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.0611, -0.599204, -2.42244)
use_collision = true
radius = 2.14606
rings = 32
[node name="CSGTorus3D" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.21187, -1.90735e-06, 0.346393)
use_collision = true
inner_radius = 1.3
outer_radius = 2.0
sides = 32
ring_sides = 18
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 21.9283, -1.90735e-06, 7.89765)
use_collision = true
inner_radius = 0.971543
outer_radius = 2.15226
sides = 32
ring_sides = 18
[node name="CSGBox3D" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.49828, 6.53866, -12.6331)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_auy8m")
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.15267, 0.760708, -6.1376)
use_collision = true
size = Vector3(2.64182, 2.52142, 2.30997)
[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.3427, 0.335247, 8.22829)
use_collision = true
size = Vector3(3.80964, 1.67049, 0.932048)
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.08027, 0.138478, -4.36159)
use_collision = true
size = Vector3(1.53893, 1.27695, 1.80814)
[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.7748, 0.138478, 5.20734)
use_collision = true
size = Vector3(4.03502, 1.27695, 5.2198)
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.1473, 1.78638, -1.60318)
use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285)
[editable path="Player/PlayerCharacterBody3D"]

View File

@ -1,180 +0,0 @@
[gd_scene load_steps=13 format=3 uid="uid://cqy81q5p0tsda"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_3iw7y"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D-4.4/sub_scenes/playable_character_3d.tscn" id="2_m6p13"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_65wck"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_b0eay"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_i3ale"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_5hq8j"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_7lab4"]
[sub_resource type="Resource" id="Resource_1iman"]
script = ExtResource("5_i3ale")
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="CapsuleMesh" id="CapsuleMesh_2h36r"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("7_7lab4")
uv1_triplanar = true
uv1_world_triplanar = true
[node name="Node3D" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.621367, 0.78352, 0, -0.78352, 0.621367, -7.26116, 10.1812, 8.76176)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_3iw7y")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="Player" type="Node" parent="."]
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("2_m6p13")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.083587, 0.5, 2.05493)
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_targets")]
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.621285, 0.783464, 0, -0.783416, 0.621322, -7.26116, 10.1812, 8.76176)
top_level = true
script = ExtResource("3_65wck")
priority = 5
follow_mode = 3
follow_targets = [NodePath("../PlayerCharacterBody3D"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")]
tween_resource = ExtResource("4_b0eay")
tween_on_load = false
camera_3d_resource = SubResource("Resource_1iman")
follow_damping = true
follow_distance = 5.0
auto_follow_distance = true
auto_follow_distance_min = 5.0
auto_follow_distance_max = 15.0
auto_follow_distance_divisor = 20.0
spring_length = 5.0
[node name="NPCs" type="Node" parent="."]
[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.6059, 0.519002, 0.128472)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_w3olp")
[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -10.0461, 0.519, 0.249913)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_5hq8j")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="Wall" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_auy8m")
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.6511, 0.805455, -6.37532)
use_collision = true
radius = 1.71971
height = 2.61091
sides = 32
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.9141, 0.31181, -5.46661)
use_collision = true
radius = 2.77591
height = 1.62362
sides = 32
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.6099, 0.31181, 6.6322)
use_collision = true
radius = 1.57419
height = 3.47475
sides = 32
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.81402, 0.805455, -8.78984)
use_collision = true
radius = 0.956285
height = 2.61091
sides = 32
[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.95333, -1.69814, -6.51262)
use_collision = true
radius = 3.34732
rings = 32
[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.4682, -0.599204, 8.81048)
use_collision = true
radius = 2.65844
rings = 32
[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0848, -0.599204, -2.42244)
use_collision = true
radius = 2.14606
rings = 32
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.90455, -1.90735e-06, 7.89765)
use_collision = true
inner_radius = 0.971543
outer_radius = 2.15226
sides = 32
ring_sides = 18
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.1764, 0.760708, -6.1376)
use_collision = true
size = Vector3(2.64182, 2.52142, 2.30997)
[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.31901, 0.335247, 8.22829)
use_collision = true
size = Vector3(3.80964, 1.67049, 0.932048)
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.94346, 0.138478, -4.36159)
use_collision = true
size = Vector3(1.53893, 1.27695, 1.80814)
[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.7985, 0.138478, 5.20734)
use_collision = true
size = Vector3(4.03502, 1.27695, 5.2198)
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.1236, 1.78638, -1.60318)
use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285)

View File

@ -1,245 +0,0 @@
[gd_scene load_steps=25 format=3 uid="uid://oo1y1sjdmr6k"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_p8ccw"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_8itog"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_xqpq0"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_akuuo"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_0nadx"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="6_7h7mx"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_mkxip"]
[ext_resource type="Script" uid="uid://cgknbkjar73w" path="res://addons/phantom_camera/examples/scripts/3D/path_follow.gd" id="7_g1m51"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="8_a1h2k"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="9_rk5lh"]
[sub_resource type="Resource" id="Resource_ofv2c"]
script = ExtResource("4_akuuo")
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_01tho"]
script = ExtResource("6_mkxip")
duration = 1.2
transition = 3
ease = 2
[sub_resource type="Resource" id="Resource_syh5m"]
script = ExtResource("4_akuuo")
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="Curve3D" id="Curve3D_b33df"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="BoxShape3D" id="BoxShape3D_aovgi"]
size = Vector3(6, 0.1, 10)
[sub_resource type="BoxMesh" id="BoxMesh_0hdeh"]
size = Vector3(6, 0.1, 10)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fsm1b"]
transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_xci4c"]
script = ExtResource("4_akuuo")
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="Curve3D" id="Curve3D_8uw2x"]
_data = {
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0),
"tilts": PackedFloat32Array(0, 0)
}
point_count = 2
[sub_resource type="BoxShape3D" id="BoxShape3D_ctnqu"]
size = Vector3(12, 0.1, 4)
[sub_resource type="BoxMesh" id="BoxMesh_f6dp8"]
size = Vector3(12, 0.1, 4)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gwnkj"]
transparency = 1
albedo_color = Color(0.568403, 0.988235, 0.762724, 0.0901961)
[sub_resource type="BoxMesh" id="BoxMesh_7l3dh"]
[sub_resource type="BoxMesh" id="BoxMesh_as6ok"]
[node name="Root" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999996, -0.00216283, 0.00184472, 0, 0.648938, 0.760841, -0.00284268, -0.760838, 0.648936, 0, 2.5, 1.5)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_p8ccw")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.5, 1.5)
top_level = true
script = ExtResource("2_8itog")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D2")
tween_resource = ExtResource("3_xqpq0")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ofv2c")
follow_offset = Vector3(0, 2, 1.5)
follow_damping = true
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("5_0nadx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("6_7h7mx")
[node name="Paths" type="Node" parent="."]
[node name="PathPhantomCamera3D" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")]
transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.31028, 7.9199, -1.60976)
top_level = true
script = ExtResource("2_8itog")
priority = 2
follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2")
follow_path = NodePath("../FollowPath")
tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_syh5m")
follow_damping = true
[node name="FollowPath" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31028, 7.9199, -1.60976)
curve = SubResource("Curve3D_b33df")
[node name="StraightPathFollowTrigger" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, -0.45, -6.73666)
priority = 5
script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Paths/StraightPathFollowTrigger"]
shape = SubResource("BoxShape3D_aovgi")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Paths/StraightPathFollowTrigger/CollisionShape3D"]
mesh = SubResource("BoxMesh_0hdeh")
skeleton = NodePath("../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_fsm1b")
metadata/_edit_group_ = true
[node name="PathPhantomCamera3D2" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7.9199, -13.4572)
top_level = true
visible = false
script = ExtResource("2_8itog")
priority = 2
follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2")
follow_path = NodePath("../FollowPath2")
tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_xci4c")
follow_damping = true
follow_damping_value = Vector3(0.6, 0.1, 0.1)
[node name="FollowPath2" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97141, 7.9199, -13.4572)
curve = SubResource("Curve3D_8uw2x")
[node name="StraightPathFollowTrigger2" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, 0, -13.7367)
priority = 5
script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D2")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Paths/StraightPathFollowTrigger2"]
shape = SubResource("BoxShape3D_ctnqu")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Paths/StraightPathFollowTrigger2/CollisionShape3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.45, 0)
mesh = SubResource("BoxMesh_f6dp8")
skeleton = NodePath("../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_gwnkj")
metadata/_edit_group_ = true
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("8_a1h2k")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="Floor3" parent="Environment" instance=ExtResource("8_a1h2k")]
transform = Transform3D(6, 0, 0, 0, 1, 0, 0, 0, 1, -0.44204, 0, 1.76334)
[node name="Floor2" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, -0.516667, 1, -6.5)
[node name="Floor5" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, 0.65, 1, -6.5)
[node name="Floor4" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(2, 0, 0, 0, 3, 0, 0, 0, 1, 0.0666667, 1, -18)
[node name="Floor6" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, -0.766667, 1, -13)
mesh = SubResource("BoxMesh_7l3dh")
[node name="Floor8" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, -1.01667, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok")
[node name="Floor9" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, 1.15, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok")
[node name="Floor7" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, 0.9, 1, -13)
mesh = SubResource("BoxMesh_7l3dh")
[node name="NPCDescriptionLabel" type="Label3D" parent="Environment"]
transform = Transform3D(5.21541e-08, -1, -7.7486e-07, -1.10675e-15, 2.23517e-07, 0.999999, -0.999999, -7.45058e-08, -5.68829e-14, -3.47306, 2.59595, -5.51755)
text = "Camera follows player while confined to a Path3D"
font = ExtResource("9_rk5lh")
font_size = 64
[node name="MovementInstructionsLabel" type="Label3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.02174, -0.455369, 0.570585)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move"
font = ExtResource("9_rk5lh")
font_size = 48

View File

@ -1,164 +0,0 @@
[gd_scene load_steps=12 format=3 uid="uid://c7uyfhhnrmkbx"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_gt67h"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_4ltlo"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_hldrt"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_pqibl"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_o4k7v"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="6_8yuc5"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_m6ich"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_pagh0"]
[sub_resource type="Resource" id="Resource_28vpp"]
script = ExtResource("3_hldrt")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_axopo"]
script = ExtResource("4_pqibl")
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="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("7_pagh0")
uv1_triplanar = true
uv1_world_triplanar = true
[node name="Node3D2" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.906308, 0.422618, 0, -0.422618, 0.906308, -13.2122, 2.5, 10.4016)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_gt67h")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="Player" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.2122, 2.5, 10.4016)
top_level = true
script = ExtResource("2_4ltlo")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_28vpp")
tween_on_load = false
camera_3d_resource = SubResource("Resource_axopo")
follow_offset = Vector3(0, 2, 2)
follow_damping = true
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_o4k7v")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.2122, 0.5, 8.40162)
script = ExtResource("6_8yuc5")
[node name="NPCs" type="Node" parent="."]
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_m6ich")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.6511, 0.805455, -6.37532)
use_collision = true
radius = 1.71971
height = 2.61091
sides = 32
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.8332, -0.540694, -3.39517)
use_collision = true
radius = 1.53269
height = 2.5036
sides = 32
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.936, -1.50101, 1.22863)
use_collision = true
radius = 1.57419
height = 3.47475
sides = 32
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.81402, 0.805455, -8.78984)
use_collision = true
radius = 0.956285
height = 2.61091
sides = 32
[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -23.6875, -1.69814, 3.36997)
use_collision = true
radius = 3.34732
rings = 32
[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.14955, -0.599204, -1.04651)
use_collision = true
radius = 2.65844
rings = 32
[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -26.0848, -0.599204, -2.42244)
use_collision = true
radius = 2.14606
rings = 32
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.44645, -0.497663, 4.44352)
use_collision = true
inner_radius = 0.971543
outer_radius = 2.15226
sides = 32
ring_sides = 18
[node name="CSGBox3D" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.52545, 6.53866, -12.6331)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_auy8m")
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.1764, 0.760708, -6.1376)
use_collision = true
size = Vector3(2.64182, 2.52142, 2.30997)
[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18.1256, 0.335247, 7.14677)
use_collision = true
size = Vector3(3.80964, 1.67049, 0.932048)
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.94346, 0.138478, -4.36159)
use_collision = true
size = Vector3(1.53893, 1.27695, 1.80814)
[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.30382, 0.138478, -1.89037)
use_collision = true
size = Vector3(4.03502, 1.27695, 5.2198)
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.04727, 0.0440434, 8.36617)
use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285)

View File

@ -1,220 +0,0 @@
[gd_scene load_steps=22 format=3 uid="uid://bklrp02eywxsx"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="1_s26cy"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_m2d6w"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="3_l7kg8"]
[ext_resource type="PackedScene" uid="uid://mskcwn1a1v6d" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="4_qcyfd"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_8von1"]
[ext_resource type="Script" uid="uid://bkr71vxe2t18n" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person_4.4.gd" id="5_tarnu"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_o1fj6"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_amcmx"]
[ext_resource type="Texture2D" uid="uid://c3mskbmvnpwux" path="res://addons/phantom_camera/examples/textures/3D/target.png" id="8_rjcgw"]
[sub_resource type="Resource" id="Resource_8fhct"]
script = ExtResource("2_m2d6w")
duration = 0.3
transition = 2
ease = 1
[sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("3_l7kg8")
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="CameraAttributesPractical" id="CameraAttributesPractical_i42vj"]
dof_blur_far_enabled = true
dof_blur_far_distance = 5.99
dof_blur_near_enabled = true
dof_blur_near_distance = 0.05
dof_blur_amount = 0.21
[sub_resource type="Resource" id="Resource_e7t18"]
script = ExtResource("2_m2d6w")
duration = 0.4
transition = 2
ease = 1
[sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("3_l7kg8")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.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="CameraAttributesPractical" id="CameraAttributesPractical_fvhx5"]
dof_blur_far_enabled = true
dof_blur_far_distance = 31.1
dof_blur_near_enabled = true
dof_blur_near_distance = 1.79
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_fnb35"]
dof_blur_far_enabled = true
dof_blur_far_distance = 5.99
dof_blur_near_enabled = true
dof_blur_near_distance = 0.05
dof_blur_amount = 0.21
[sub_resource type="BoxMesh" id="BoxMesh_wsigl"]
size = Vector3(1, 10, 20)
[sub_resource type="Resource" id="Resource_afrr1"]
script = ExtResource("2_m2d6w")
duration = 0.6
transition = 3
ease = 1
[sub_resource type="Resource" id="Resource_unpfd"]
script = ExtResource("3_l7kg8")
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="CylinderMesh" id="CylinderMesh_sm466"]
top_radius = 1.51
height = 0.2
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hp48l"]
transparency = 1
albedo_texture = ExtResource("8_rjcgw")
uv1_scale = Vector3(1.91, 1.91, 1.91)
uv1_offset = Vector3(0.025, -0.927, 0)
[node name="Root" type="Node3D"]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 8.76853)
script = ExtResource("1_s26cy")
priority = 10
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct")
tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv")
attributes = SubResource("CameraAttributesPractical_i42vj")
follow_damping = true
follow_distance = 3.5
spring_length = 3.5
[node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 1.47688, 6.36953)
script = ExtResource("1_s26cy")
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh")
attributes = SubResource("CameraAttributesPractical_fvhx5")
follow_offset = Vector3(0, 0.97, -0.399)
follow_damping_value = Vector3(0, 0, 0)
follow_distance = 1.5
spring_length = 1.5
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("4_qcyfd")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 5.26853)
script = ExtResource("5_tarnu")
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 8.76853)
attributes = SubResource("CameraAttributesPractical_fnb35")
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("5_8von1")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_o1fj6")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="Wall" parent="Environment" instance=ExtResource("6_o1fj6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.5, 4.5, 0)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall2" parent="Environment" instance=ExtResource("6_o1fj6")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 4.5, 0)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall3" parent="Environment" instance=ExtResource("6_o1fj6")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, 10.5)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall4" parent="Environment" instance=ExtResource("6_o1fj6")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, -9.5)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[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="CeilingPhantomCamera3D" type="Node3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, -1, 2.98023e-08, 0, 2.98023e-08, 1, -1, 4.37114e-08, -1.3027e-15, -0.200665, 13.366, -0.162648)
script = ExtResource("1_s26cy")
tween_resource = SubResource("Resource_afrr1")
camera_3d_resource = SubResource("Resource_unpfd")
[node name="MovementInstructionsLabel" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 1.44357)
visible = false
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move"
font = ExtResource("7_amcmx")
font_size = 48
[node name="MovementInstructionsLabel3" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 0.817134)
visible = false
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Right Mouse Click] to \"aim\""
font = ExtResource("7_amcmx")
font_size = 48
[node name="MovementInstructionsLabel2" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.0440154, -0.490478, -6.30248)
visible = false
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Space] to toggle PCam"
font = ExtResource("7_amcmx")
font_size = 48
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.260217, 1.60477, -9.07797)
mesh = SubResource("CylinderMesh_sm466")
surface_material_override/0 = SubResource("StandardMaterial3D_hp48l")
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0.0525861, 1.60477, 9.98156)
mesh = SubResource("CylinderMesh_sm466")
surface_material_override/0 = SubResource("StandardMaterial3D_hp48l")

View File

@ -1,191 +0,0 @@
[gd_scene load_steps=17 format=3 uid="uid://ceelq6qrb41uf"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_47xf2"]
[ext_resource type="Script" uid="uid://bkr71vxe2t18n" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person_4.4.gd" id="2_uhq7m"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_whx47"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_lii5s"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_jt2lp"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_oc4q1"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_kg7u1"]
[ext_resource type="PackedScene" uid="uid://mskcwn1a1v6d" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="7_kut0u"]
[sub_resource type="Resource" id="Resource_8fhct"]
script = ExtResource("2_47xf2")
duration = 0.3
transition = 2
ease = 1
[sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("5_jt2lp")
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_e7t18"]
script = ExtResource("2_47xf2")
duration = 0.3
transition = 2
ease = 1
[sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("5_jt2lp")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.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_wsigl"]
size = Vector3(1, 10, 20)
[sub_resource type="BoxMesh" id="BoxMesh_bj3re"]
size = Vector3(1, 7, 7)
[sub_resource type="Resource" id="Resource_afrr1"]
script = ExtResource("2_47xf2")
duration = 0.6
transition = 3
ease = 1
[sub_resource type="Resource" id="Resource_ioijp"]
script = ExtResource("5_jt2lp")
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
[node name="Root2" type="Node3D"]
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("7_kut0u")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("2_uhq7m")
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 2.25, 3.03109)
script = ExtResource("2_whx47")
priority = 10
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct")
tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv")
follow_damping = true
follow_distance = 3.5
vertical_rotation_offset = 0.523599
spring_length = 3.5
[node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.584, 1.3, 1.101)
script = ExtResource("2_whx47")
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh")
follow_offset = Vector3(0.584, 0.8, -0.399)
follow_distance = 1.5
spring_length = 1.5
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(1, 0, 0, 0, 0.866025, 0.5, 0, -0.5, 0.866025, 0, 2.25, 3.03109)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("5_oc4q1")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="Wall" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.5, 4.5, 0)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall5" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.133, 3, -6.5)
mesh = SubResource("BoxMesh_bj3re")
metadata/_edit_lock_ = true
[node name="Wall6" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.5, 3, 0)
mesh = SubResource("BoxMesh_bj3re")
metadata/_edit_lock_ = true
[node name="Wall7" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 3, 0)
mesh = SubResource("BoxMesh_bj3re")
metadata/_edit_lock_ = true
[node name="Wall2" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.5, 4.5, 0)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall3" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, 10.5)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[node name="Wall4" parent="Environment" instance=ExtResource("4_lii5s")]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 4.5, -9.5)
mesh = SubResource("BoxMesh_wsigl")
metadata/_edit_lock_ = true
[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="CeilingPhantomCamera3D" type="Node3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, -1, 2.98023e-08, 0, 2.98023e-08, 1, -1, 4.37114e-08, -1.3027e-15, -0.200665, 13.366, -0.162648)
script = ExtResource("2_whx47")
tween_resource = SubResource("Resource_afrr1")
camera_3d_resource = SubResource("Resource_ioijp")
[node name="MovementInstructionsLabel" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 1.44357)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move"
font = ExtResource("7_kg7u1")
font_size = 48
[node name="MovementInstructionsLabel3" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0.0505604, -0.484909, 0.817134)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Right Mouse Click] to \"aim\""
font = ExtResource("7_kg7u1")
font_size = 48
[node name="MovementInstructionsLabel2" type="Label3D" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.0440154, -0.490478, -6.30248)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Space] to toggle PCam"
font = ExtResource("7_kg7u1")
font_size = 48

View File

@ -1,200 +0,0 @@
[gd_scene load_steps=15 format=3 uid="uid://dsfixtpa5xwqt"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_jbmnd"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_t3gk2"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_b2lea"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_mqo2b"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_pxkua"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="6_3rtu0"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_uuxs3"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_0dyt0"]
[sub_resource type="Resource" id="Resource_pwcgo"]
script = ExtResource("3_b2lea")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ft2w3"]
script = ExtResource("4_mqo2b")
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="CapsuleMesh" id="CapsuleMesh_2h36r"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_w3olp"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cw102"]
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("7_0dyt0")
uv1_triplanar = true
uv1_world_triplanar = true
[node name="Root" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999765, 0.010421, -0.0189909, 0, 0.876683, 0.481069, 0.0216623, -0.480956, 0.876477, -0.137901, 4.03222, 6.36446)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_jbmnd")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="PhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("look_at_target")]
transform = Transform3D(0.999765, 0.010421, -0.018991, 0, 0.876683, 0.481069, 0.0216623, -0.480956, 0.876478, -0.137901, 4.03222, 6.36446)
script = ExtResource("2_t3gk2")
priority = 10
look_at_mode = 2
look_at_target = NodePath("../PlayerCharacterBody3D2")
tween_resource = SubResource("Resource_pwcgo")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ft2w3")
look_at_damping = true
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("5_pxkua")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
script = ExtResource("6_3rtu0")
[node name="NPCs" type="Node" parent="."]
[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.96028, 0.519002, -1.52506)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_w3olp")
[node name="PlayerMeshInstance3D2" type="MeshInstance3D" parent="NPCs"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.59952, 0.519, 4.06618)
mesh = SubResource("CapsuleMesh_2h36r")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("6_uuxs3")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="CSGCylinder3D" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.00548, 0.805455, -6.37532)
use_collision = true
radius = 1.71971
height = 2.61091
sides = 32
[node name="CSGCylinder3D5" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 25.5597, 0.31181, -5.46661)
use_collision = true
radius = 2.77591
height = 1.62362
sides = 32
[node name="CSGCylinder3D6" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.96428, 0.31181, 6.6322)
use_collision = true
radius = 1.57419
height = 3.47475
sides = 32
[node name="CSGCylinder3D3" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.3959, 0.201103, 2.71259)
use_collision = true
radius = 1.41311
height = 1.40221
sides = 32
[node name="CSGCylinder3D4" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.02677, 0.201101, 11.6804)
use_collision = true
radius = 2.21673
height = 7.88261
sides = 32
[node name="CSGCylinder3D2" type="CSGCylinder3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.8316, 0.805455, -8.78984)
use_collision = true
radius = 0.956285
height = 2.61091
sides = 32
[node name="CSGSphere3D" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.5989, -1.69814, -6.51262)
use_collision = true
radius = 3.34732
rings = 32
[node name="CSGSphere3D2" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.17742, -0.599204, 8.81048)
use_collision = true
radius = 2.65844
rings = 32
[node name="CSGSphere3D3" type="CSGSphere3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.4392, -0.599204, -2.42244)
use_collision = true
radius = 2.14606
rings = 32
[node name="CSGTorus3D" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.58998, -1.90735e-06, 0.346393)
use_collision = true
inner_radius = 1.3
outer_radius = 2.0
sides = 32
ring_sides = 18
[node name="CSGTorus3D2" type="CSGTorus3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 22.5502, -1.90735e-06, 7.89765)
use_collision = true
inner_radius = 0.971543
outer_radius = 2.15226
sides = 32
ring_sides = 18
[node name="CSGBox3D" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.1202, 6.53866, -12.6331)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_auy8m")
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.53078, 0.760708, -6.1376)
use_collision = true
size = Vector3(2.64182, 2.52142, 2.30997)
[node name="CSGBox3D5" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 14.9646, 0.335247, 8.22829)
use_collision = true
size = Vector3(3.80964, 1.67049, 0.932048)
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.70216, 0.138478, -4.36159)
use_collision = true
size = Vector3(1.53893, 1.27695, 1.80814)
[node name="CSGBox3D6" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.1529, 0.138478, 5.20734)
use_collision = true
size = Vector3(4.03502, 1.27695, 5.2198)
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.7692, 1.78638, -1.60318)
use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285)

View File

@ -1,195 +0,0 @@
[gd_scene load_steps=21 format=3 uid="uid://d0fyuvesb472p"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_25rmy"]
[ext_resource type="Script" uid="uid://x5g7kf5k2mac" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_first_person_4.4.gd" id="2_7nd2u"]
[ext_resource type="Script" uid="uid://cuffvge5ad4aa" path="res://addons/phantom_camera/scripts/resources/phantom_camera_noise_3d.gd" id="3_t4fhv"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="4_tnm2f"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="5_4webr"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_dmm4a"]
[ext_resource type="Script" uid="uid://ccmiitq0sdh7j" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_noise_emitter_3d.gd" id="7_2vtho"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="8_bw5oq"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="9_jpkpr"]
[ext_resource type="FontFile" uid="uid://dve7mgsjik4dg" path="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" id="10_8pr3k"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="11_vp57v"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_yvgu3"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vc6km"]
albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_lsrh7"]
radius = 0.269454
[sub_resource type="Resource" id="Resource_lhgur"]
script = ExtResource("5_4webr")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ghjuj"]
script = ExtResource("6_dmm4a")
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_2l4w0"]
script = ExtResource("3_t4fhv")
amplitude = 40.0
frequency = 0.2
randomize_noise_seed = 0
noise_seed = 0
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 1.0
rotational_multiplier_y = 1.0
rotational_multiplier_z = 0.0
positional_multiplier_x = 0.1
positional_multiplier_y = 0.1
positional_multiplier_z = 0.1
[sub_resource type="Resource" id="Resource_6tnhy"]
script = ExtResource("3_t4fhv")
amplitude = 10.0
frequency = 20.0
randomize_noise_seed = 0
noise_seed = 928
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 1.0
rotational_multiplier_y = 1.0
rotational_multiplier_z = 0.1
positional_multiplier_x = 1.0
positional_multiplier_y = 1.0
positional_multiplier_z = 1.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qi01t"]
albedo_texture = ExtResource("9_jpkpr")
uv1_triplanar = true
uv1_world_triplanar = true
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ey47a"]
bg_color = Color(0.0784314, 0.109804, 0.129412, 1)
border_width_right = 4
border_width_bottom = 4
border_color = Color(0.227451, 0.72549, 0.603922, 1)
corner_radius_bottom_right = 20
expand_margin_bottom = 6.0
[node name="Root2" type="Node3D"]
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(-0.0372114, 0.0351643, 0.998689, -5.82077e-11, 0.999381, -0.0351886, -0.999307, -0.00130942, -0.0371883, -16.46, 0.503767, 4.249)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_25rmy")
[node name="PlayerCharacterBody3D" type="CharacterBody3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(0.999897, 0.0143636, 0, -0.0143636, 0.999897, 0, 0, 0, 1, -16.46, 0.503767, 4.249)
script = ExtResource("2_7nd2u")
[node name="PlayerVisual" type="MeshInstance3D" parent="PlayerCharacterBody3D"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.76837e-05, 0.00331134, 0)
mesh = SubResource("CapsuleMesh_yvgu3")
surface_material_override/0 = SubResource("StandardMaterial3D_vc6km")
[node name="PlayerArea3D" type="Area3D" parent="PlayerCharacterBody3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerCharacterBody3D/PlayerArea3D"]
shape = SubResource("CapsuleShape3D_lsrh7")
[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="PlayerCharacterBody3D"]
shape = SubResource("CapsuleShape3D_lsrh7")
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.00441533, 0, 0.999915, 0, 0.999995, 0, -0.999923, 0, 0.00441529, -16.46, 0.503767, 4.249)
top_level = true
script = ExtResource("4_tnm2f")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_lhgur")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ghjuj")
noise = SubResource("Resource_2l4w0")
noise_emitter_layer = 1
[node name="PlayerPhantomCameraNoiseEmitter3D" type="Node3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-4.37085e-08, 0, 0.999925, 0, 0.999995, 0, -0.999933, 0, -4.37081e-08, -16.46, 0.503767, 4.249)
script = ExtResource("7_2vtho")
noise = SubResource("Resource_6tnhy")
duration = 0.1
decay_time = 0.1
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("8_bw5oq")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="CSGBox3D" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.525, 6.539, 2.5)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_qi01t")
[node name="CSGBox3D3" type="CSGBox3D" parent="Environment"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 8.83707, 6.53866, -1.80739)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_qi01t")
[node name="CSGBox3D4" type="CSGBox3D" parent="Environment"]
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -38.9392, 6.53866, -1.80739)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_qi01t")
[node name="CSGBox3D2" type="CSGBox3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.525, 6.539, 6)
use_collision = true
size = Vector3(178.429, 14.0773, 1)
material = SubResource("StandardMaterial3D_qi01t")
[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="EmitterTip" type="Panel" parent="."]
unique_name_in_owner = true
visible = false
anchors_preset = -1
anchor_right = 0.3
anchor_bottom = 0.1
theme_override_styles/panel = SubResource("StyleBoxFlat_ey47a")
[node name="Guidance" type="RichTextLabel" parent="EmitterTip"]
layout_mode = 1
anchors_preset = -1
anchor_top = 0.5
anchor_right = 1.0
anchor_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
size_flags_vertical = 8
theme_override_fonts/normal_font = ExtResource("10_8pr3k")
theme_override_fonts/bold_font = ExtResource("11_vp57v")
theme_override_font_sizes/normal_font_size = 18
theme_override_font_sizes/bold_font_size = 24
bbcode_enabled = true
text = "[center]Press [b]Q[/b] to trigger Noise Emitter"
fit_content = true

View File

@ -1,293 +0,0 @@
[gd_scene load_steps=23 format=3 uid="uid://cvnbgtbaxwj5p"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_d55xf"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="2_d1opf"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_4whss"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_8ap1e"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_1sgnu"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="6_lr46m"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="7_istoq"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="7_x1jex"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="8_qepee"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="9_ptb3h"]
[sub_resource type="Resource" id="Resource_0dtvs"]
script = ExtResource("5_1sgnu")
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_j6fha"]
size = Vector3(5, 0.1, 4)
[sub_resource type="BoxMesh" id="BoxMesh_xg4en"]
size = Vector3(5, 0.1, 4)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_2dct5"]
transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_v8ndi"]
script = ExtResource("8_qepee")
duration = 0.6
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_kmep1"]
script = ExtResource("5_1sgnu")
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_uxg44"]
script = ExtResource("8_qepee")
duration = 0.3
transition = 1
ease = 2
[sub_resource type="Resource" id="Resource_eu3bc"]
script = ExtResource("5_1sgnu")
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_0nci0"]
script = ExtResource("8_qepee")
duration = 0.3
transition = 8
ease = 2
[sub_resource type="Resource" id="Resource_u0lff"]
script = ExtResource("5_1sgnu")
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_50m5g"]
script = ExtResource("8_qepee")
duration = 1.2
transition = 10
ease = 2
[sub_resource type="Resource" id="Resource_rexf8"]
script = ExtResource("5_1sgnu")
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
[node name="Root" type="Node3D"]
[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="Floor" parent="Environment" instance=ExtResource("1_d55xf")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0, 2.5, 3.19136)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("2_d1opf")
[node name="------------------" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0, 2.5, 3.19136)
top_level = true
script = ExtResource("3_4whss")
priority = 3
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("4_8ap1e")
tween_on_load = false
camera_3d_resource = SubResource("Resource_0dtvs")
follow_offset = Vector3(0, 2, 2)
follow_damping = true
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("6_lr46m")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 1.19136)
script = ExtResource("7_x1jex")
[node name="-------------------" type="Node" parent="."]
[node name="Tweening Example" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.97)
[node name="Linear" type="Node3D" parent="Tweening Example"]
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Linear" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Linear/EntryRoomTrigger"]
shape = SubResource("BoxShape3D_j6fha")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Linear/EntryRoomTrigger"]
mesh = SubResource("BoxMesh_xg4en")
skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_2dct5")
metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Linear"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_v8ndi")
camera_3d_resource = SubResource("Resource_kmep1")
[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Linear"]
transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, -1.8, 0.5, 0)
text = "Transition Type:
Linear
Duration:
0.6s"
font = ExtResource("9_ptb3h")
font_size = 48
[node name="Sine" type="Node3D" parent="Tweening Example"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.4)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Sine" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Sine/EntryRoomTrigger"]
shape = SubResource("BoxShape3D_j6fha")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Sine/EntryRoomTrigger"]
mesh = SubResource("BoxMesh_xg4en")
skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_2dct5")
metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Sine"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_uxg44")
camera_3d_resource = SubResource("Resource_eu3bc")
[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Sine"]
transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, 1.7, 0.5, 0)
text = "Transition Type:
Sine
Duration:
0.3s"
font = ExtResource("9_ptb3h")
font_size = 72
[node name="Circ" type="Node3D" parent="Tweening Example"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -14.1)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Circ" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Circ/EntryRoomTrigger"]
shape = SubResource("BoxShape3D_j6fha")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Circ/EntryRoomTrigger"]
mesh = SubResource("BoxMesh_xg4en")
skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_2dct5")
metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Circ"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_0nci0")
camera_3d_resource = SubResource("Resource_u0lff")
[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Circ"]
transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, -1.8, 0.5, 0)
text = "Transition Type:
Circ
Duration:
0.3s"
font = ExtResource("9_ptb3h")
font_size = 72
[node name="Back" type="Node3D" parent="Tweening Example"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -21)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Back" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tweening Example/Back/EntryRoomTrigger"]
shape = SubResource("BoxShape3D_j6fha")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="Tweening Example/Back/EntryRoomTrigger"]
mesh = SubResource("BoxMesh_xg4en")
skeleton = NodePath("../../../../..")
surface_material_override/0 = SubResource("StandardMaterial3D_2dct5")
metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Back"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, -0.8, 4.8, 3.3)
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_50m5g")
camera_3d_resource = SubResource("Resource_rexf8")
[node name="TweenNameLabel" type="Label3D" parent="Tweening Example/Back"]
transform = Transform3D(1, 0, 0, 0, 0.695913, 0.718126, 0, -0.718126, 0.695913, 1.7, 0.5, 0)
text = "Transition Type:
Back
Duration:
1.2s"
font = ExtResource("9_ptb3h")
font_size = 48

View File

@ -1,31 +0,0 @@
[gd_scene load_steps=5 format=3 uid="uid://cb83in8f0tbb1"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_4.4.gd" id="1_pl87s"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_8efyg"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_2cfaw"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r3ldp"]
albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
[node name="PlayerCharacterBody3D2" type="CharacterBody3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.083587, 0.507, 2.05493)
script = ExtResource("1_pl87s")
metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerArea3D"]
shape = SubResource("CapsuleShape3D_8efyg")
[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_8efyg")
[node name="PlayerVisual" type="Node3D" parent="."]
unique_name_in_owner = true
[node name="PlayerModel" type="MeshInstance3D" parent="PlayerVisual"]
mesh = SubResource("CapsuleMesh_2cfaw")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_r3ldp")

View File

@ -1,43 +0,0 @@
[gd_scene load_steps=6 format=3 uid="uid://bhd1kwv2fwj1y"]
[ext_resource type="Script" uid="uid://bkr71vxe2t18n" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person_4.4.gd" id="1_skas8"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s61dn"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_47f0o"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mv4do"]
albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
[sub_resource type="PrismMesh" id="PrismMesh_wg1x3"]
size = Vector3(0.5, 0.5, 0.3)
[node name="PlayerCharacterBody3D" type="CharacterBody3D"]
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, -0.0163251)
collision_layer = 2
script = ExtResource("1_skas8")
metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerArea3D"]
shape = SubResource("CapsuleShape3D_s61dn")
[node name="PlayerCollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_s61dn")
[node name="PlayerVisual" type="Node3D" parent="."]
unique_name_in_owner = true
[node name="PlayerMeshInstance3D" type="MeshInstance3D" parent="PlayerVisual"]
transform = Transform3D(1, 0, 0, 0, 1, 4.65661e-10, 0, 0, 1, 0, 0, 0)
mesh = SubResource("CapsuleMesh_47f0o")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mv4do")
[node name="PlayerDirection" type="MeshInstance3D" parent="PlayerVisual"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, -9.31323e-10, 1, 4.65661e-10, 2.98023e-08, 0, 1, -0.0156226, 1.08631, 0)
mesh = SubResource("PrismMesh_wg1x3")
skeleton = NodePath("../..")
surface_material_override/0 = SubResource("StandardMaterial3D_mv4do")

View File

@ -1,41 +1,21 @@
[gd_scene load_steps=40 format=3 uid="uid://ci12ytew5vwty"]
[gd_scene load_steps=40 format=3 uid="uid://cypbptekk8etg"]
[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"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_u86qq"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_jl1he"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="3_an0dt"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="4_iy6qn"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="5_0ku52"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_prr6u"]
[ext_resource type="Script" uid="uid://uvw6pg1ut0ms" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="7_nl3ax"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="8_xvqcg"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="9_hqgwi"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="10_cd0kn"]
[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
script = ExtResource("6_prr6u")
[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
script = ExtResource("6_prr6u")
[sub_resource type="BoxMesh" id="BoxMesh_7tjw4"]
size = Vector3(2, 0.5, 4)
@ -55,67 +35,31 @@ size = Vector3(2, 0.5, 4)
albedo_color = Color(0.988235, 0.478431, 0.905882, 1)
[sub_resource type="Resource" id="Resource_tpvee"]
script = ExtResource("7_jitt8")
script = ExtResource("8_xvqcg")
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
script = ExtResource("6_prr6u")
[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")
script = ExtResource("8_xvqcg")
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
script = ExtResource("6_prr6u")
[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")
script = ExtResource("8_xvqcg")
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
script = ExtResource("6_prr6u")
[sub_resource type="BoxShape3D" id="BoxShape3D_ua072"]
size = Vector3(6.8, 0.1, 3.6)
@ -160,16 +104,17 @@ size = Vector3(8, 6, 0.5)
[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)
physics_interpolation_mode = 1
transform = Transform3D(0.999858, 0, 0, 0, 0.94884, 0.315632, 0, -0.315637, 0.948825, -2.53871, 2, 9.76232)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_wn7ww")
script = ExtResource("1_u86qq")
[node name="PlayerGroup" type="Node" parent="."]
[node name="PlayerCharacterBody3D" parent="PlayerGroup" instance=ExtResource("2_tvx5n")]
[node name="PlayerCharacterBody3D" parent="PlayerGroup" instance=ExtResource("2_jl1he")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232)
@ -177,43 +122,45 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232)
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 = ExtResource("3_an0dt")
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")
script = ExtResource("4_iy6qn")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
tween_resource = ExtResource("4_a27nb")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("5_0ku52")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jtk1d")
follow_offset = Vector3(0, 1.5, 2.5)
follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[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")
script = ExtResource("4_iy6qn")
tween_resource = ExtResource("5_0ku52")
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")
font = ExtResource("3_an0dt")
[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")
font = ExtResource("3_an0dt")
[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)
@ -232,7 +179,7 @@ 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")
script = ExtResource("7_nl3ax")
[node name="PlayerCollisionShape3D2" type="CollisionShape3D" parent="NPCGroup/NPC"]
transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
@ -255,18 +202,18 @@ 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")
font = ExtResource("3_an0dt")
[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")
script = ExtResource("4_iy6qn")
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")
script = ExtResource("9_hqgwi")
area_pcam = NodePath("../NorthRoomPhantomCamera3D")
metadata/_edit_group_ = true
@ -276,14 +223,14 @@ 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")
script = ExtResource("4_iy6qn")
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")
script = ExtResource("9_hqgwi")
area_pcam = NodePath("../EntryRoomPhantomCamera3D")
metadata/_edit_group_ = true
@ -293,14 +240,14 @@ 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")
script = ExtResource("4_iy6qn")
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")
script = ExtResource("9_hqgwi")
area_pcam = NodePath("../SouthRoomPhantomCamera3D")
metadata/_edit_group_ = true
@ -327,7 +274,7 @@ metadata/_edit_lock_ = true
[node name="Environment" type="Node3D" parent="Environment"]
[node name="Floor" parent="Environment/Environment" instance=ExtResource("3_f5qrw")]
[node name="Floor" parent="Environment/Environment" instance=ExtResource("10_cd0kn")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -408,5 +355,3 @@ mesh = SubResource("BoxMesh_niuda")
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"]

View File

@ -1,28 +1,18 @@
[gd_scene load_steps=10 format=3 uid="uid://c4llb3gsbfv1a"]
[gd_scene load_steps=10 format=3 uid="uid://cx7x48cpi8gcd"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_7824u"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_g1bv4"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_420vh"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_oqbub"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_t4fso"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_c0upu"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_f2w3x"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_6uslv"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_5cpe8"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_422w7"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_4qurp"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_uw36d"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_i060b"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_iyghi"]
[sub_resource type="Resource" id="Resource_wg1pr"]
script = ExtResource("4_oqbub")
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
script = ExtResource("4_4qurp")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_c0upu")
albedo_texture = ExtResource("7_iyghi")
uv1_triplanar = true
uv1_world_triplanar = true
@ -30,12 +20,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.793353, 0.608762, 0, -0.608762, 0.793353, 0.083587, 2.94168, 5.22787)
physics_interpolation_mode = 1
transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0, 2.934684, 3.17294)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_7824u")
script = ExtResource("1_6uslv")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
@ -45,26 +36,29 @@ metadata/_edit_lock_ = true
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0, 2.43468, 3.17294)
transform = Transform3D(0.99995, 0, 0, 0, 0.79324, 0.608671, 0, -0.608675, 0.793235, 0, 2.934684, 3.17294)
top_level = true
script = ExtResource("2_g1bv4")
script = ExtResource("2_5cpe8")
follow_mode = 5
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual")
tween_resource = ExtResource("3_420vh")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("3_422w7")
tween_on_load = false
camera_3d_resource = SubResource("Resource_wg1pr")
follow_damping = true
follow_distance = 4.0
dead_zone_width = 0.161
dead_zone_height = 0.386
dead_zone_width = 0.139
dead_zone_height = 0.14
show_viewfinder_in_play = true
spring_length = 4.0
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D2" parent="Player" instance=ExtResource("5_f2w3x")]
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_uw36d")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_t4fso")]
[node name="Floor" parent="Environment" instance=ExtResource("6_i060b")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -152,5 +146,3 @@ size = Vector3(4.03502, 1.27695, 5.2198)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.38147, 0.0440434, 8.36617)
use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285)
[editable path="Player/PlayerCharacterBody3D2"]

View File

@ -1,31 +1,18 @@
[gd_scene load_steps=14 format=3 uid="uid://dw2yflu7up2rr"]
[gd_scene load_steps=14 format=3 uid="uid://d2lx45noxq685"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_pmeux"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_q1ygp"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_hpix1"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_8qqha"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_evdoo"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vqgn5"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_wr3bq"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_7a3wq"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_158c0"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_ganw1"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_kig2n"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_caky3"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_kkbaa"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_i1dbs"]
[sub_resource type="Resource" id="Resource_ucp3e"]
script = ExtResource("3_hpix1")
duration = 1.0
transition = 0
ease = 2
script = ExtResource("3_ganw1")
[sub_resource type="Resource" id="Resource_ab013"]
script = ExtResource("4_evdoo")
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
script = ExtResource("4_kig2n")
[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"]
@ -36,7 +23,7 @@ albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_wr3bq")
albedo_texture = ExtResource("7_i1dbs")
uv1_triplanar = true
uv1_world_triplanar = true
@ -44,12 +31,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.638767, 0.7694, 0, -0.7694, 0.638768, 0, 6.39, 7)
physics_interpolation_mode = 1
transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, 0, 6.39, 7)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_pmeux")
script = ExtResource("1_7a3wq")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
@ -61,17 +49,19 @@ metadata/_edit_lock_ = true
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, 0, 6.39, 7)
top_level = true
script = ExtResource("2_q1ygp")
script = ExtResource("2_158c0")
priority = 5
follow_mode = 1
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_ucp3e")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ab013")
follow_damping = true
follow_damping_value = Vector3(0.3, 0.3, 0.3)
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_vqgn5")]
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_caky3")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.39, 7)
enable_gravity = false
@ -94,7 +84,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_8qqha")]
[node name="Floor" parent="Environment" instance=ExtResource("6_kkbaa")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true

View File

@ -1,25 +1,15 @@
[gd_scene load_steps=13 format=3 uid="uid://dbfiy6svpcqap"]
[gd_scene load_steps=13 format=3 uid="uid://cqy81q5p0tsda"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_r00ve"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_pi7mp"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_wnlkq"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_1eb12"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="3_a5igg"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="3_wr1tj"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_70gws"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_3iw7y"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_m6p13"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_65wck"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_b0eay"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_i3ale"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_5hq8j"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_7lab4"]
[sub_resource type="Resource" id="Resource_1iman"]
script = ExtResource("5_70gws")
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
script = ExtResource("5_i3ale")
[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"]
@ -30,7 +20,7 @@ albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("3_a5igg")
albedo_texture = ExtResource("7_7lab4")
uv1_triplanar = true
uv1_world_triplanar = true
@ -38,12 +28,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.906308, 0.422618, 0, -0.422618, 0.906308, -7.26116, 5.72974, 12.279)
physics_interpolation_mode = 1
transform = Transform3D(0.999954, 0, 0, 0, 0.621285, 0.783464, 0, -0.783416, 0.621322, -7.2611566, 10.181164, 8.761762)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("3_wr1tj")
script = ExtResource("1_3iw7y")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
@ -51,17 +42,18 @@ metadata/_edit_lock_ = true
[node name="Player" type="Node" parent="."]
[node name="PlayerCharacterBody3D2" parent="Player" instance=ExtResource("2_wnlkq")]
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("2_m6p13")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.083587, 0.5, 2.05493)
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_targets")]
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -7.30295, 5.45858, 11.2744)
transform = Transform3D(0.999954, 0, 0, 0, 0.621285, 0.783464, 0, -0.783416, 0.621322, -7.2611566, 10.181164, 8.761762)
top_level = true
script = ExtResource("2_pi7mp")
script = ExtResource("3_65wck")
priority = 5
follow_mode = 3
follow_targets = [NodePath("../PlayerCharacterBody3D2"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")]
tween_resource = ExtResource("3_1eb12")
follow_targets = [NodePath("../PlayerCharacterBody3D"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")]
tween_resource = ExtResource("4_b0eay")
tween_on_load = false
camera_3d_resource = SubResource("Resource_1iman")
follow_damping = true
@ -71,6 +63,8 @@ auto_follow_distance_min = 5.0
auto_follow_distance_max = 15.0
auto_follow_distance_divisor = 20.0
spring_length = 5.0
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="NPCs" type="Node" parent="."]
@ -88,7 +82,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("1_r00ve")]
[node name="Floor" parent="Environment" instance=ExtResource("6_5hq8j")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -176,5 +170,3 @@ size = Vector3(4.03502, 1.27695, 5.2198)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.1236, 1.78638, -1.60318)
use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285)
[editable path="Player/PlayerCharacterBody3D2"]

View File

@ -1,46 +1,25 @@
[gd_scene load_steps=24 format=3 uid="uid://dxx7ngi0emt8h"]
[gd_scene load_steps=24 format=3 uid="uid://oo1y1sjdmr6k"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_lm5n8"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_bd7x3"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_od2r4"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_dfdlo"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_hni7n"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="4_lfwkm"]
[ext_resource type="Script" uid="uid://cgknbkjar73w" path="res://addons/phantom_camera/examples/scripts/3D/path_follow.gd" id="5_vdqkm"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vms5c"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="6_obo83"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_p8ccw"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_8itog"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="3_xqpq0"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_akuuo"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_0nadx"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_mkxip"]
[ext_resource type="Script" uid="uid://cgknbkjar73w" path="res://addons/phantom_camera/examples/scripts/3D/path_follow.gd" id="7_g1m51"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="8_a1h2k"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="9_rk5lh"]
[sub_resource type="Resource" id="Resource_ofv2c"]
script = ExtResource("4_hni7n")
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
script = ExtResource("4_akuuo")
[sub_resource type="Resource" id="Resource_01tho"]
script = ExtResource("4_lfwkm")
script = ExtResource("6_mkxip")
duration = 1.2
transition = 3
ease = 2
[sub_resource type="Resource" id="Resource_syh5m"]
script = ExtResource("4_hni7n")
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
script = ExtResource("4_akuuo")
[sub_resource type="Curve3D" id="Curve3D_b33df"]
_data = {
@ -60,17 +39,7 @@ transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_xci4c"]
script = ExtResource("4_hni7n")
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
script = ExtResource("4_akuuo")
[sub_resource type="Curve3D" id="Curve3D_8uw2x"]
_data = {
@ -97,12 +66,13 @@ albedo_color = Color(0.568403, 0.988235, 0.762724, 0.0901961)
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(0.999996, -0.00216283, 0.00184472, 0, 0.648938, 0.760841, -0.00284268, -0.760838, 0.648936, 0, 2.507, 1.5)
physics_interpolation_mode = 1
transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.5, 1.5)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_lm5n8")
script = ExtResource("1_p8ccw")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
@ -110,34 +80,38 @@ metadata/_edit_lock_ = true
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.507, 1.5)
transform = Transform3D(0.999807, -0.00216249, 0.00184445, 0, 0.648836, 0.760728, -0.00284214, -0.760718, 0.648839, 0, 2.5, 1.5)
top_level = true
script = ExtResource("3_bd7x3")
script = ExtResource("2_8itog")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual")
tween_resource = ExtResource("3_od2r4")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("3_xqpq0")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ofv2c")
follow_offset = Vector3(0, 2, 1.5)
follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("5_vms5c")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.507, 0)
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("5_0nadx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="Paths" type="Node" parent="."]
[node name="PathPhantomCamera3D" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")]
transform = Transform3D(-4.37114e-08, -1, -4.37114e-08, 0, -4.37114e-08, 1, -1, 4.37114e-08, 1.91069e-15, -0.31028, 7.9199, -1.60976)
top_level = true
script = ExtResource("3_bd7x3")
script = ExtResource("2_8itog")
priority = 2
follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual")
follow_target = NodePath("../../PlayerCharacterBody3D")
follow_path = NodePath("../FollowPath")
tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_syh5m")
follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="FollowPath" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31028, 7.9199, -1.60976)
@ -146,7 +120,7 @@ curve = SubResource("Curve3D_b33df")
[node name="StraightPathFollowTrigger" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, -0.45, -6.73666)
priority = 5
script = ExtResource("5_vdqkm")
script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D")
metadata/_edit_group_ = true
@ -162,16 +136,17 @@ metadata/_edit_group_ = true
[node name="PathPhantomCamera3D2" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7.9199, -13.4572)
top_level = true
visible = false
script = ExtResource("3_bd7x3")
script = ExtResource("2_8itog")
priority = 2
follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual")
follow_target = NodePath("../../PlayerCharacterBody3D")
follow_path = NodePath("../FollowPath2")
tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_xci4c")
follow_damping = true
follow_damping_value = Vector3(0.6, 0.1, 0.1)
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="FollowPath2" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97141, 7.9199, -13.4572)
@ -180,7 +155,7 @@ curve = SubResource("Curve3D_8uw2x")
[node name="StraightPathFollowTrigger2" type="Area3D" parent="Paths" node_paths=PackedStringArray("path_pcam")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, 0, -13.7367)
priority = 5
script = ExtResource("5_vdqkm")
script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D2")
metadata/_edit_group_ = true
@ -196,49 +171,47 @@ metadata/_edit_group_ = true
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_dfdlo")]
[node name="Floor" parent="Environment" instance=ExtResource("8_a1h2k")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="Floor3" parent="Environment" instance=ExtResource("4_dfdlo")]
[node name="Floor3" parent="Environment" instance=ExtResource("8_a1h2k")]
transform = Transform3D(6, 0, 0, 0, 1, 0, 0, 0, 1, -0.44204, 0, 1.76334)
[node name="Floor2" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor2" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, -0.516667, 1, -6.5)
[node name="Floor5" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor5" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 14, 0.65, 1, -6.5)
[node name="Floor4" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor4" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(2, 0, 0, 0, 3, 0, 0, 0, 1, 0.0666667, 1, -18)
[node name="Floor6" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor6" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, -0.766667, 1, -13)
mesh = SubResource("BoxMesh_7l3dh")
[node name="Floor8" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor8" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, -1.01667, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok")
[node name="Floor9" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor9" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, 1.15, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok")
[node name="Floor7" parent="Environment/Floor3" instance=ExtResource("4_dfdlo")]
[node name="Floor7" parent="Environment/Floor3" instance=ExtResource("8_a1h2k")]
transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, 0.9, 1, -13)
mesh = SubResource("BoxMesh_7l3dh")
[node name="NPCDescriptionLabel" type="Label3D" parent="Environment"]
transform = Transform3D(5.21541e-08, -1, -7.7486e-07, -1.10675e-15, 2.23517e-07, 0.999999, -0.999999, -7.45058e-08, -5.68829e-14, -3.47306, 2.59595, -5.51755)
text = "Camera follows player while confined to a Path3D"
font = ExtResource("6_obo83")
font = ExtResource("9_rk5lh")
font_size = 64
[node name="MovementInstructionsLabel" type="Label3D" parent="Environment"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.02174, -0.455369, 0.570585)
modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move"
font = ExtResource("6_obo83")
font = ExtResource("9_rk5lh")
font_size = 48
[editable path="PlayerCharacterBody3D2"]

View File

@ -1,34 +1,21 @@
[gd_scene load_steps=11 format=3 uid="uid://buglvjwpn85ny"]
[gd_scene load_steps=11 format=3 uid="uid://c7uyfhhnrmkbx"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_3tok8"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_grjck"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_j3f4l"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_4u2y6"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_sielv"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_1tybo"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_7ywxt"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_gt67h"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_4ltlo"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_hldrt"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_pqibl"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_o4k7v"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_m6ich"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_pagh0"]
[sub_resource type="Resource" id="Resource_28vpp"]
script = ExtResource("3_j3f4l")
duration = 1.0
transition = 0
ease = 2
script = ExtResource("3_hldrt")
[sub_resource type="Resource" id="Resource_axopo"]
script = ExtResource("4_sielv")
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
script = ExtResource("4_pqibl")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_1tybo")
albedo_texture = ExtResource("7_pagh0")
uv1_triplanar = true
uv1_world_triplanar = true
@ -36,12 +23,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.906308, 0.422618, 0, -0.422618, 0.906308, -13.2122, 2.5, 10.4016)
physics_interpolation_mode = 1
transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.2122, 2.5, 10.40162)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_3tok8")
script = ExtResource("1_gt67h")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
@ -51,19 +39,21 @@ metadata/_edit_lock_ = true
[node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.2122, 2.5, 10.4016)
transform = Transform3D(0.999954, 0, 0, 0, 0.906188, 0.422588, 0, -0.422562, 0.906243, -13.2122, 2.5, 10.40162)
top_level = true
script = ExtResource("2_grjck")
script = ExtResource("2_4ltlo")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_28vpp")
tween_on_load = false
camera_3d_resource = SubResource("Resource_axopo")
follow_offset = Vector3(0, 2, 2)
follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_7ywxt")]
[node name="PlayerCharacterBody3D" parent="Player" instance=ExtResource("5_o4k7v")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.2122, 0.5, 8.40162)
@ -71,7 +61,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.2122, 0.5, 8.40162)
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_4u2y6")]
[node name="Floor" parent="Environment" instance=ExtResource("6_m6ich")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -159,5 +149,3 @@ size = Vector3(4.03502, 1.27695, 5.2198)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.04727, 0.0440434, 8.36617)
use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285)
[editable path="Player/PlayerCharacterBody3D"]

View File

@ -1,9 +1,9 @@
[gd_scene load_steps=21 format=3 uid="uid://5pjtxclcnx4f"]
[gd_scene load_steps=21 format=3 uid="uid://bklrp02eywxsx"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="1_s26cy"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_m2d6w"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="3_l7kg8"]
[ext_resource type="PackedScene" uid="uid://mskcwn1a1v6d" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="4_qcyfd"]
[ext_resource type="PackedScene" uid="uid://bhd1kwv2fwj1y" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="4_qcyfd"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_8von1"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_o1fj6"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_amcmx"]
@ -17,16 +17,6 @@ ease = 1
[sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("3_l7kg8")
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="CameraAttributesPractical" id="CameraAttributesPractical_i42vj"]
dof_blur_far_enabled = true
@ -43,16 +33,7 @@ ease = 1
[sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("3_l7kg8")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.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="CameraAttributesPractical" id="CameraAttributesPractical_fvhx5"]
dof_blur_far_enabled = true
@ -78,16 +59,6 @@ ease = 1
[sub_resource type="Resource" id="Resource_unpfd"]
script = ExtResource("3_l7kg8")
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="CylinderMesh" id="CylinderMesh_sm466"]
top_radius = 1.51
@ -103,11 +74,11 @@ uv1_offset = Vector3(0.025, -0.927, 0)
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 9.13821)
transform = Transform3D(0.99990255, 0.013962194, 0, -0.013962194, 0.99990255, 0, 0, 0, 1, -0.019, 0.5, 8.769)
script = ExtResource("1_s26cy")
priority = 10
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct")
tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv")
@ -115,13 +86,16 @@ attributes = SubResource("CameraAttributesPractical_i42vj")
follow_damping = true
follow_distance = 3.5
spring_length = 3.5
align_transform_with_view = Callable()
align_position_with_view = Callable()
align_rotation_with_view = Callable()
[node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 1.47688, 6.73921)
transform = Transform3D(0.99990255, 0.013962194, 0, -0.013962194, 0.99990255, 0, 0, 0, 1, -0.019, 1.47, 6.37)
script = ExtResource("1_s26cy")
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh")
@ -130,15 +104,18 @@ follow_offset = Vector3(0, 0.97, -0.399)
follow_damping_value = Vector3(0, 0, 0)
follow_distance = 1.5
spring_length = 1.5
align_transform_with_view = Callable()
align_position_with_view = Callable()
align_rotation_with_view = Callable()
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("4_qcyfd")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 5.63821)
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.019, 0.5, 5.269)
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, 9.13821)
transform = Transform3D(0.99990255, 0.013962194, 0, -0.013962194, 0.99990255, 0, 0, 0, 1, -0.019, 0.5, 8.769)
attributes = SubResource("CameraAttributesPractical_pst8q")
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
@ -216,5 +193,3 @@ surface_material_override/0 = SubResource("StandardMaterial3D_hp48l")
transform = Transform3D(-1, -8.74228e-08, 3.82137e-15, 0, -4.37114e-08, -1, 8.74228e-08, -1, 4.37114e-08, 0.0525861, 1.60477, 9.98156)
mesh = SubResource("CylinderMesh_sm466")
surface_material_override/0 = SubResource("StandardMaterial3D_hp48l")
[editable path="PlayerCharacterBody3D"]

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=16 format=3 uid="uid://4i5csj0s34nb"]
[gd_scene load_steps=16 format=3 uid="uid://ceelq6qrb41uf"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="2_47xf2"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_whx47"]
@ -6,7 +6,7 @@
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_jt2lp"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="5_oc4q1"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="7_kg7u1"]
[ext_resource type="PackedScene" uid="uid://mskcwn1a1v6d" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="7_kut0u"]
[ext_resource type="PackedScene" uid="uid://bhd1kwv2fwj1y" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_third_person_3d.tscn" id="7_kut0u"]
[sub_resource type="Resource" id="Resource_8fhct"]
script = ExtResource("2_47xf2")
@ -16,35 +16,16 @@ ease = 1
[sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("5_jt2lp")
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_e7t18"]
script = ExtResource("2_47xf2")
duration = 0.4
duration = 0.3
transition = 2
ease = 1
[sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("5_jt2lp")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.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_wsigl"]
size = Vector3(1, 10, 20)
@ -60,30 +41,20 @@ ease = 1
[sub_resource type="Resource" id="Resource_ioijp"]
script = ExtResource("5_jt2lp")
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
[node name="Root" type="Node3D"]
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("7_kut0u")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, 0, 0.506884, 0)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0120916, 0.0069811, -0.0139622, 0.865941, 0.499951, 6.98492e-10, -0.5, 0.866025, 0.0244338, 2.25671, 3.03109)
transform = Transform3D(1, 0, 0, 0, 0.8660252, 0.5000003, 0, -0.5000003, 0.8660252, 0, 2.250001, 3.0310884)
script = ExtResource("2_whx47")
priority = 10
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct")
tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv")
@ -91,24 +62,30 @@ follow_damping = true
follow_distance = 3.5
vertical_rotation_offset = 0.523599
spring_length = 3.5
align_transform_with_view = Callable()
align_position_with_view = Callable()
align_rotation_with_view = Callable()
[node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, 0, 1.30688, 1.101)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.584, 1.3, 1.1010001)
script = ExtResource("2_whx47")
follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18")
tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh")
follow_offset = Vector3(0, 0.8, -0.399)
follow_offset = Vector3(0.584, 0.8, -0.399)
follow_distance = 1.5
spring_length = 1.5
align_transform_with_view = Callable()
align_position_with_view = Callable()
align_rotation_with_view = Callable()
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
physics_interpolation_mode = 1
transform = Transform3D(0.999903, 0.0120916, 0.0069811, -0.0139622, 0.865941, 0.499951, 6.98492e-10, -0.5, 0.866025, 0.0244338, 2.25671, 3.03109)
transform = Transform3D(1, 0, 0, 0, 0.8660252, 0.5000003, 0, -0.5000003, 0.8660252, 0, 2.250001, 3.0310884)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
@ -187,5 +164,3 @@ modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Space] to toggle PCam"
font = ExtResource("7_kg7u1")
font_size = 48
[editable path="PlayerCharacterBody3D"]

View File

@ -1,31 +1,18 @@
[gd_scene load_steps=14 format=3 uid="uid://bdhrdhbux7sjg"]
[gd_scene load_steps=14 format=3 uid="uid://dsfixtpa5xwqt"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="1_i2pjc"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_lldvu"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_8md3q"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_dqss1"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_2i811"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_m3qpq"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="5_u5qhp"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_jbmnd"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_t3gk2"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_b2lea"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_mqo2b"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_pxkua"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_uuxs3"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="7_0dyt0"]
[sub_resource type="Resource" id="Resource_pwcgo"]
script = ExtResource("3_dqss1")
duration = 1.0
transition = 0
ease = 2
script = ExtResource("3_b2lea")
[sub_resource type="Resource" id="Resource_ft2w3"]
script = ExtResource("4_m3qpq")
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
script = ExtResource("4_mqo2b")
[sub_resource type="CapsuleMesh" id="CapsuleMesh_2h36r"]
@ -36,7 +23,7 @@ albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_u5qhp")
albedo_texture = ExtResource("7_0dyt0")
uv1_triplanar = true
uv1_world_triplanar = true
@ -44,29 +31,33 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(0.998682, 0.0324725, -0.0397495, 0, 0.774433, 0.632656, 0.0513272, -0.631822, 0.773412, -0.137901, 4.03222, 6.36446)
physics_interpolation_mode = 1
transform = Transform3D(0.99976534, 0.0105280895, -0.018931806, -4.656613e-10, 0.873953, 0.48601043, 0.021662269, -0.4858964, 0.87374794, -0.137901, 4.03222, 6.36446)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_lldvu")
script = ExtResource("1_jbmnd")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="PhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("look_at_target")]
transform = Transform3D(0.999694, 0.0136487, -0.0206552, -0.000166996, 0.838005, 0.545663, 0.0247567, -0.545492, 0.837751, -0.137901, 4.03222, 6.36446)
script = ExtResource("2_8md3q")
transform = Transform3D(0.999765, 0.01052809, -0.018931821, -4.6566112e-10, 0.8739531, 0.48601085, 0.021662261, -0.48589647, 0.87374866, -0.137901, 4.03222, 6.36446)
script = ExtResource("2_t3gk2")
priority = 10
look_at_mode = 2
look_at_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual")
look_at_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_pwcgo")
tween_on_load = false
camera_3d_resource = SubResource("Resource_ft2w3")
look_at_damping = true
align_transform_with_view = Callable()
align_rotation_with_view = Callable()
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("1_i2pjc")]
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("5_pxkua")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="NPCs" type="Node" parent="."]
@ -84,7 +75,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("4_2i811")]
[node name="Floor" parent="Environment" instance=ExtResource("6_uuxs3")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -194,5 +185,3 @@ size = Vector3(4.03502, 1.27695, 5.2198)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.7692, 1.78638, -1.60318)
use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285)
[editable path="PlayerCharacterBody3D2"]

View File

@ -1,31 +1,16 @@
[gd_scene load_steps=22 format=3 uid="uid://p7s5t3tthmo"]
[gd_scene load_steps=21 format=3 uid="uid://d0fyuvesb472p"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_ggfbg"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="2_dreow"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_f8fcw"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_mjtut"]
[ext_resource type="Script" uid="uid://cuffvge5ad4aa" path="res://addons/phantom_camera/scripts/resources/phantom_camera_noise_3d.gd" id="4_poyyk"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="5_d6uqs"]
[ext_resource type="Script" uid="uid://b3n22atuw76sm" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_first_person.gd" id="6_fbad7"]
[ext_resource type="Script" uid="uid://ccmiitq0sdh7j" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_noise_emitter_3d.gd" id="6_n8u0x"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="6_vpla5"]
[ext_resource type="FontFile" uid="uid://dve7mgsjik4dg" path="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" id="10_0thai"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="11_i8r8q"]
[sub_resource type="Resource" id="Resource_t3bgw"]
script = ExtResource("4_poyyk")
amplitude = 30.0
frequency = 2.0
randomize_noise_seed = 1
noise_seed = 0
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 0.1
rotational_multiplier_y = 0.1
rotational_multiplier_z = 0.0
positional_multiplier_x = 0.0
positional_multiplier_y = 0.0
positional_multiplier_z = 0.0
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_25rmy"]
[ext_resource type="Script" uid="uid://x5g7kf5k2mac" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_first_person.gd" id="2_7nd2u"]
[ext_resource type="Script" uid="uid://cuffvge5ad4aa" path="res://addons/phantom_camera/scripts/resources/phantom_camera_noise_3d.gd" id="3_t4fhv"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="4_tnm2f"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="5_4webr"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_dmm4a"]
[ext_resource type="Script" uid="uid://ccmiitq0sdh7j" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_noise_emitter_3d.gd" id="7_2vtho"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="8_bw5oq"]
[ext_resource type="Texture2D" uid="uid://bj7h2fc5jx4ax" path="res://addons/phantom_camera/examples/textures/3D/checker_pattern_dark.png" id="9_jpkpr"]
[ext_resource type="FontFile" uid="uid://dve7mgsjik4dg" path="res://addons/phantom_camera/fonts/Nunito-Regular.ttf" id="10_8pr3k"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="11_vp57v"]
[sub_resource type="CapsuleMesh" id="CapsuleMesh_yvgu3"]
@ -36,56 +21,29 @@ albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
radius = 0.269454
[sub_resource type="Resource" id="Resource_lhgur"]
script = ExtResource("3_f8fcw")
duration = 1.0
transition = 0
ease = 2
script = ExtResource("5_4webr")
[sub_resource type="Resource" id="Resource_ghjuj"]
script = ExtResource("4_mjtut")
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
script = ExtResource("6_dmm4a")
[sub_resource type="Resource" id="Resource_2l4w0"]
script = ExtResource("4_poyyk")
script = ExtResource("3_t4fhv")
amplitude = 40.0
frequency = 0.2
randomize_noise_seed = 0
noise_seed = 0
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 1.0
rotational_multiplier_y = 1.0
rotational_multiplier_z = 0.0
positional_multiplier_x = 0.1
positional_multiplier_y = 0.1
positional_multiplier_z = 0.1
[sub_resource type="Resource" id="Resource_6tnhy"]
script = ExtResource("4_poyyk")
amplitude = 10.0
frequency = 4.2
script = ExtResource("3_t4fhv")
frequency = 20.0
randomize_noise_seed = 0
noise_seed = 928
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 1.0
rotational_multiplier_y = 1.0
rotational_multiplier_z = 0.1
positional_multiplier_x = 1.0
positional_multiplier_y = 1.0
positional_multiplier_z = 1.0
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qi01t"]
albedo_texture = ExtResource("6_vpla5")
albedo_texture = ExtResource("9_jpkpr")
uv1_triplanar = true
uv1_world_triplanar = true
@ -101,22 +59,22 @@ expand_margin_bottom = 6.0
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(0.0129783, 0.0962422, 0.995273, 0, 0.995357, -0.0962503, -0.999916, 0.00124916, 0.012918, -16.46, 0.503767, 4.249)
physics_interpolation_mode = 1
transform = Transform3D(0.096600816, -0.02989527, 0.9948742, 0, 0.99954885, 0.030035738, -0.99532324, -0.0029014763, 0.09655723, -16.46, 0.5, 4.249)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("1_ggfbg")
script = ExtResource("1_25rmy")
[node name="PlayerCharacterBody3D" type="CharacterBody3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(0.999897, 0.0143636, 0, -0.0143636, 0.999897, 0, 0, 0, 1, -16.46, 0.503767, 4.249)
script = ExtResource("6_fbad7")
run_noise = SubResource("Resource_t3bgw")
transform = Transform3D(0.999897, 0.0143636, 0, -0.0143636, 0.999897, 0, 0, 0, 1, -16.46, 0.5, 4.249)
script = ExtResource("2_7nd2u")
[node name="PlayerVisual" type="MeshInstance3D" parent="PlayerCharacterBody3D"]
unique_name_in_owner = true
visible = false
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.76837e-05, 0.00331134, 0)
mesh = SubResource("CapsuleMesh_yvgu3")
surface_material_override/0 = SubResource("StandardMaterial3D_vc6km")
@ -130,9 +88,9 @@ shape = SubResource("CapsuleShape3D_lsrh7")
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.00441533, 0, 0.999915, 0, 0.999995, 0, -0.999923, 0, 0.00441529, -16.46, 0.503767, 4.249)
transform = Transform3D(0.00441533, 0, 0.999915, 0, 0.999995, 0, -0.999923, 0, 0.00441529, -16.46, 0.5, 4.249)
top_level = true
script = ExtResource("2_dreow")
script = ExtResource("4_tnm2f")
priority = 10
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D")
@ -141,18 +99,20 @@ tween_on_load = false
camera_3d_resource = SubResource("Resource_ghjuj")
noise = SubResource("Resource_2l4w0")
noise_emitter_layer = 1
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerPhantomCameraNoiseEmitter3D" type="Node3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(-4.37085e-08, 0, 0.999925, 0, 0.999995, 0, -0.999933, 0, -4.37081e-08, -16.46, 0.503767, 4.249)
script = ExtResource("6_n8u0x")
script = ExtResource("7_2vtho")
noise = SubResource("Resource_6tnhy")
duration = 0.1
decay_time = 0.1
[node name="Environment" type="Node" parent="."]
[node name="Floor" parent="Environment" instance=ExtResource("5_d6uqs")]
[node name="Floor" parent="Environment" instance=ExtResource("8_bw5oq")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
@ -201,8 +161,8 @@ anchor_bottom = 0.5
grow_horizontal = 2
grow_vertical = 2
size_flags_vertical = 8
theme_override_fonts/normal_font = ExtResource("10_0thai")
theme_override_fonts/bold_font = ExtResource("11_i8r8q")
theme_override_fonts/normal_font = ExtResource("10_8pr3k")
theme_override_fonts/bold_font = ExtResource("11_vp57v")
theme_override_font_sizes/normal_font_size = 18
theme_override_font_sizes/bold_font_size = 24
bbcode_enabled = true

View File

@ -1,27 +1,17 @@
[gd_scene load_steps=22 format=3 uid="uid://5xtssqdfilal"]
[gd_scene load_steps=22 format=3 uid="uid://cvnbgtbaxwj5p"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_ydeog"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="2_b2yrt"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_m2w30"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_425ma"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_cn3g7"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="5_h0ouh"]
[ext_resource type="PackedScene" uid="uid://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="6_gcjyn"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="6_wup4d"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="8_60rny"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="1_d55xf"]
[ext_resource type="Script" uid="uid://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="2_d1opf"]
[ext_resource type="Script" uid="uid://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="3_4whss"]
[ext_resource type="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="4_8ap1e"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_1sgnu"]
[ext_resource type="PackedScene" uid="uid://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="6_lr46m"]
[ext_resource type="Script" uid="uid://bnhxcejvr6wi3" path="res://addons/phantom_camera/examples/scripts/3D/3d_trigger_area.gd" id="7_istoq"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="8_qepee"]
[ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="9_ptb3h"]
[sub_resource type="Resource" id="Resource_0dtvs"]
script = ExtResource("5_cn3g7")
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
script = ExtResource("5_1sgnu")
[sub_resource type="BoxShape3D" id="BoxShape3D_j6fha"]
size = Vector3(5, 0.1, 4)
@ -34,80 +24,35 @@ transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_v8ndi"]
script = ExtResource("6_wup4d")
script = ExtResource("8_qepee")
duration = 0.6
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_kmep1"]
script = ExtResource("5_cn3g7")
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
script = ExtResource("5_1sgnu")
[sub_resource type="Resource" id="Resource_uxg44"]
script = ExtResource("6_wup4d")
script = ExtResource("8_qepee")
duration = 0.3
transition = 1
ease = 2
[sub_resource type="Resource" id="Resource_eu3bc"]
script = ExtResource("5_cn3g7")
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
script = ExtResource("5_1sgnu")
[sub_resource type="Resource" id="Resource_0nci0"]
script = ExtResource("6_wup4d")
script = ExtResource("8_qepee")
duration = 0.3
transition = 8
ease = 2
[sub_resource type="Resource" id="Resource_u0lff"]
script = ExtResource("5_cn3g7")
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
script = ExtResource("5_1sgnu")
[sub_resource type="Resource" id="Resource_50m5g"]
script = ExtResource("6_wup4d")
script = ExtResource("8_qepee")
duration = 1.2
transition = 10
ease = 2
[sub_resource type="Resource" id="Resource_rexf8"]
script = ExtResource("5_cn3g7")
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
script = ExtResource("5_1sgnu")
[node name="Root" type="Node3D"]
@ -117,36 +62,40 @@ far = 4000.0
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true
[node name="Floor" parent="Environment" instance=ExtResource("1_ydeog")]
[node name="Floor" parent="Environment" instance=ExtResource("1_d55xf")]
transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true
[node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 5.08867e-06, 2.00003, 2.00013)
physics_interpolation_mode = 1
transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0, 2.5, 3.19136)
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300
process_physics_priority = 300
script = ExtResource("2_b2yrt")
script = ExtResource("2_d1opf")
[node name="------------------" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true
transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0, 2, 2)
transform = Transform3D(0.999889, 0, 0, 0, 0.707092, 0.707088, 0, -0.707092, 0.707088, 0, 2.5, 3.19136)
top_level = true
script = ExtResource("3_m2w30")
script = ExtResource("3_4whss")
priority = 3
follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual")
tween_resource = ExtResource("4_425ma")
follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("4_8ap1e")
tween_on_load = false
camera_3d_resource = SubResource("Resource_0dtvs")
follow_offset = Vector3(0, 2, 2)
follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("6_gcjyn")]
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("6_lr46m")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 1.19136)
[node name="-------------------" type="Node" parent="."]
@ -157,7 +106,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.97)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Linear" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("5_h0ouh")
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
@ -172,7 +121,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Linear"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_m2w30")
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_v8ndi")
camera_3d_resource = SubResource("Resource_kmep1")
@ -183,7 +132,7 @@ Linear
Duration:
0.6s"
font = ExtResource("8_60rny")
font = ExtResource("9_ptb3h")
font_size = 48
[node name="Sine" type="Node3D" parent="Tweening Example"]
@ -191,7 +140,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -7.4)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Sine" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("5_h0ouh")
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
@ -206,7 +155,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Sine"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_m2w30")
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_uxg44")
camera_3d_resource = SubResource("Resource_eu3bc")
@ -217,7 +166,7 @@ Sine
Duration:
0.3s"
font = ExtResource("8_60rny")
font = ExtResource("9_ptb3h")
font_size = 72
[node name="Circ" type="Node3D" parent="Tweening Example"]
@ -225,7 +174,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -14.1)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Circ" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("5_h0ouh")
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
@ -240,7 +189,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Circ"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, 0, 4.8, 3.3)
script = ExtResource("3_m2w30")
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_0nci0")
camera_3d_resource = SubResource("Resource_u0lff")
@ -251,7 +200,7 @@ Circ
Duration:
0.3s"
font = ExtResource("8_60rny")
font = ExtResource("9_ptb3h")
font_size = 72
[node name="Back" type="Node3D" parent="Tweening Example"]
@ -259,7 +208,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -21)
[node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Back" node_paths=PackedStringArray("area_pcam")]
priority = 5
script = ExtResource("5_h0ouh")
script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true
@ -274,7 +223,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Back"]
transform = Transform3D(1, 0, 0, 0, 0.642788, 0.766044, 0, -0.766044, 0.642788, -0.8, 4.8, 3.3)
script = ExtResource("3_m2w30")
script = ExtResource("3_4whss")
tween_resource = SubResource("Resource_50m5g")
camera_3d_resource = SubResource("Resource_rexf8")
@ -285,7 +234,5 @@ Back
Duration:
1.2s"
font = ExtResource("8_60rny")
font = ExtResource("9_ptb3h")
font_size = 48
[editable path="PlayerCharacterBody3D2"]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://bulsh7s0ibmao"]
[gd_scene load_steps=5 format=3 uid="uid://cb83in8f0tbb1"]
[ext_resource type="Script" uid="uid://dut3e76k2c71n" path="res://addons/phantom_camera/examples/scripts/3D/player_controller.gd" id="1_6hh6c"]
[ext_resource type="Script" uid="uid://tgv6xpi88sd0" path="res://addons/phantom_camera/examples/scripts/3D/player_controller.gd" id="1_pl87s"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_8efyg"]
@ -9,8 +9,8 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r3ldp"]
albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
[node name="PlayerCharacterBody3D2" type="CharacterBody3D"]
script = ExtResource("1_6hh6c")
[node name="PlayerCharacterBody3D" type="CharacterBody3D"]
script = ExtResource("1_pl87s")
metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."]

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://mskcwn1a1v6d"]
[gd_scene load_steps=6 format=3 uid="uid://bhd1kwv2fwj1y"]
[ext_resource type="Script" uid="uid://34uhyq3cpi67" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd" id="1_0dnfe"]
[ext_resource type="Script" uid="uid://bkr71vxe2t18n" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_third_person.gd" id="1_skas8"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_s61dn"]
@ -13,9 +13,9 @@ albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
size = Vector3(0.5, 0.5, 0.3)
[node name="PlayerCharacterBody3D" type="CharacterBody3D"]
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, 0, 0, 0)
transform = Transform3D(0.999903, 0.0139622, 0, -0.0139622, 0.999903, 0, 0, 0, 1, -0.0194088, 0.506884, -0.0163251)
collision_layer = 2
script = ExtResource("1_0dnfe")
script = ExtResource("1_skas8")
metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."]

View File

@ -144,7 +144,7 @@ func _physics_process(delta: float) -> void:
func _show_prompt(body_rid: RID, body: Node2D, body_shape_index: int, local_shape: int) -> void:
if body.is_class("TileMapLayer"): # TODO - Using string reference to support Godot 4.2
var tile_map := body
tile_map.physics_quadrant_size = 1
tile_map.set("physics_quadrant_size", 1) # Fix for Godot 4.4
var tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid)
var cell_data: TileData = tile_map.get_cell_tile_data(tile_coords)

View File

@ -1,17 +1,14 @@
extends Node
extends Area3D
@export var path_pcam: PhantomCamera3D
func _ready() -> void:
connect("area_entered", _entered_area)
connect("area_exited", _exited_area)
area_shape_entered.connect(_area_shape_entered)
area_shape_exited.connect(_area_shape_exited)
func _entered_area(area_3D: Area3D) -> void:
if area_3D.get_parent() is CharacterBody3D:
path_pcam.set_priority(20)
func _area_shape_entered(area_rid: RID, area: Area3D, area_shape_index: int, local_shape_index: int) -> void:
path_pcam.set_priority(20)
func _exited_area(area_3D: Area3D) -> void:
if area_3D.get_parent() is CharacterBody3D:
path_pcam.set_priority(0)
func _area_shape_exited(area_rid: RID, area: Area3D, area_shape_index: int, local_shape_index: int) -> void:
path_pcam.set_priority(0)

View File

@ -6,16 +6,11 @@ extends CharacterBody3D
@onready var _camera: Camera3D
@onready var _player_visual: Node3D = %PlayerVisual
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity: float = 9.8
var movement_enabled: bool = true
var _physics_body_trans_last: Transform3D
var _physics_body_trans_current: Transform3D
const KEY_STRINGNAME: StringName = "Key"
const ACTION_STRINGNAME: StringName = "Action"
@ -56,13 +51,8 @@ func _ready() -> void:
InputMap.add_action(action_val)
InputMap.action_add_event(action_val, movement_input)
_player_visual.top_level = true
func _physics_process(delta: float) -> void:
_physics_body_trans_last = _physics_body_trans_current
_physics_body_trans_current = global_transform
# Add the gravity.
if enable_gravity and not is_on_floor():
velocity.y -= gravity * delta
@ -78,8 +68,6 @@ func _physics_process(delta: float) -> void:
INPUT_MOVE_DOWM_STRINGNAME
)
var cam_dir: Vector3 = -_camera.global_transform.basis.z
var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
var move_dir: Vector3 = Vector3.ZERO
@ -94,10 +82,3 @@ func _physics_process(delta: float) -> void:
velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide()
func _process(_delta: float) -> void:
_player_visual.global_transform = _physics_body_trans_last.interpolate_with(
_physics_body_trans_current,
Engine.get_physics_interpolation_fraction()
)

View File

@ -1 +1 @@
uid://dut3e76k2c71n
uid://tgv6xpi88sd0

View File

@ -1,84 +0,0 @@
extends CharacterBody3D
@export var SPEED: float = 5.0
@export var JUMP_VELOCITY: float = 4.5
@export var enable_gravity = true
@onready var _camera: Camera3D
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity: float = 9.8
var movement_enabled: bool = true
const KEY_STRINGNAME: StringName = "Key"
const ACTION_STRINGNAME: StringName = "Action"
const INPUT_MOVE_UP_STRINGNAME: StringName = "move_up"
const INPUT_MOVE_DOWM_STRINGNAME: StringName = "move_down"
const INPUT_MOVE_LEFT_STRINGNAME: StringName = "move_left"
const INPUT_MOVE_RIGHT_STRINGNAME: StringName = "move_right"
var InputMovementDic: Dictionary = {
INPUT_MOVE_UP_STRINGNAME: {
KEY_STRINGNAME: KEY_W,
ACTION_STRINGNAME: INPUT_MOVE_UP_STRINGNAME
},
INPUT_MOVE_DOWM_STRINGNAME: {
KEY_STRINGNAME: KEY_S,
ACTION_STRINGNAME: INPUT_MOVE_DOWM_STRINGNAME
},
INPUT_MOVE_LEFT_STRINGNAME: {
KEY_STRINGNAME: KEY_A,
ACTION_STRINGNAME: INPUT_MOVE_LEFT_STRINGNAME
},
INPUT_MOVE_RIGHT_STRINGNAME: {
KEY_STRINGNAME: KEY_D,
ACTION_STRINGNAME: INPUT_MOVE_RIGHT_STRINGNAME
},
}
func _ready() -> void:
for input in InputMovementDic:
var key_val = InputMovementDic[input].get(KEY_STRINGNAME)
var action_val = InputMovementDic[input].get(ACTION_STRINGNAME)
_camera = owner.get_node("%MainCamera3D")
var movement_input = InputEventKey.new()
movement_input.physical_keycode = key_val
InputMap.add_action(action_val)
InputMap.action_add_event(action_val, movement_input)
func _physics_process(delta: float) -> void:
# Add the gravity.
if enable_gravity and not is_on_floor():
velocity.y -= gravity * delta
if not movement_enabled: return
# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var input_dir: Vector2 = Input.get_vector(
INPUT_MOVE_LEFT_STRINGNAME,
INPUT_MOVE_RIGHT_STRINGNAME,
INPUT_MOVE_UP_STRINGNAME,
INPUT_MOVE_DOWM_STRINGNAME
)
var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
var move_dir: Vector3 = Vector3.ZERO
move_dir.x = direction.x
move_dir.z = direction.z
move_dir = move_dir.rotated(Vector3.UP, _camera.rotation.y).normalized()
velocity.x = move_dir.x * SPEED
velocity.z = move_dir.z * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide()

View File

@ -1 +0,0 @@
uid://tgv6xpi88sd0

View File

@ -1 +1 @@
uid://b3n22atuw76sm
uid://x5g7kf5k2mac

View File

@ -1,54 +0,0 @@
extends "player_controller_4.4.gd"
@onready var _player_pcam: PhantomCamera3D = %PlayerPhantomCamera3D
@onready var _player_character: CharacterBody3D = %PlayerCharacterBody3D
@export var mouse_sensitivity: float = 0.05
@export var min_pitch: float = -89.9
@export var max_pitch: float = 50
@export var min_yaw: float = 0
@export var max_yaw: float = 360
@export var run_noise: PhantomCameraNoise3D
func _ready() -> void:
super()
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
if get_node_or_null("%PlayerPhantomCameraNoiseEmitter3D"):
%EmitterTip.visible = true
func _physics_process(delta: float) -> void:
super(delta)
func _unhandled_input(event: InputEvent) -> void:
if event is InputEventKey:
if get_node_or_null("%PlayerPhantomCameraNoiseEmitter3D"):
if event.keycode == KEY_Q and event.is_pressed():
%PlayerPhantomCameraNoiseEmitter3D.emit()
if event is InputEventMouseMotion:
var pcam_rotation_degrees: Vector3
# Assigns the current 3D rotation of the SpringArm3D node - so it starts off where it is in the editor
pcam_rotation_degrees = _player_pcam.rotation_degrees
# Change the X rotation
pcam_rotation_degrees.x -= event.relative.y * mouse_sensitivity
# Clamp the rotation in the X axis so it go over or under the target
pcam_rotation_degrees.x = clampf(pcam_rotation_degrees.x, min_pitch, max_pitch)
# Change the Y rotation value
pcam_rotation_degrees.y -= event.relative.x * mouse_sensitivity
# Sets the rotation to fully loop around its target, but witout going below or exceeding 0 and 360 degrees respectively
pcam_rotation_degrees.y = wrapf(pcam_rotation_degrees.y, min_yaw, max_yaw)
# Change the SpringArm3D node's rotation and rotate around its target
_player_pcam.rotation_degrees = pcam_rotation_degrees

View File

@ -14,7 +14,6 @@ extends "player_controller.gd"
@export var max_yaw: float = 360
func _ready() -> void:
super()

View File

@ -1 +1 @@
uid://34uhyq3cpi67
uid://bkr71vxe2t18n

View File

@ -1,86 +0,0 @@
extends "player_controller_4.4.gd"
@onready var _player_pcam: PhantomCamera3D
@onready var _aim_pcam: PhantomCamera3D
@onready var _player_direction: Node3D = %PlayerDirection
@onready var _ceiling_pcam: PhantomCamera3D
@export var mouse_sensitivity: float = 0.05
@export var min_pitch: float = -89.9
@export var max_pitch: float = 50
@export var min_yaw: float = 0
@export var max_yaw: float = 360
func _ready() -> void:
super()
_player_pcam = owner.get_node("%PlayerPhantomCamera3D")
_aim_pcam = owner.get_node("%PlayerAimPhantomCamera3D")
_ceiling_pcam = owner.get_node("%CeilingPhantomCamera3D")
if _player_pcam.get_follow_mode() == _player_pcam.FollowMode.THIRD_PERSON:
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
func _physics_process(delta: float) -> void:
super(delta)
if velocity.length() > 0.2:
var look_direction: Vector2 = Vector2(velocity.z, velocity.x)
_player_direction.rotation.y = look_direction.angle()
func _unhandled_input(event: InputEvent) -> void:
if _player_pcam.get_follow_mode() == _player_pcam.FollowMode.THIRD_PERSON:
var active_pcam: PhantomCamera3D
_set_pcam_rotation(_player_pcam, event)
_set_pcam_rotation(_aim_pcam, event)
if _player_pcam.get_priority() > _aim_pcam.get_priority():
_toggle_aim_pcam(event)
else:
_toggle_aim_pcam(event)
if event is InputEventKey and event.pressed:
if event.keycode == KEY_SPACE:
if _ceiling_pcam.get_priority() < 30 and _player_pcam.is_active():
_ceiling_pcam.set_priority(30)
else:
_ceiling_pcam.set_priority(1)
func _set_pcam_rotation(pcam: PhantomCamera3D, event: InputEvent) -> void:
if event is InputEventMouseMotion:
var pcam_rotation_degrees: Vector3
# Assigns the current 3D rotation of the SpringArm3D node - so it starts off where it is in the editor
pcam_rotation_degrees = pcam.get_third_person_rotation_degrees()
# Change the X rotation
pcam_rotation_degrees.x -= event.relative.y * mouse_sensitivity
# Clamp the rotation in the X axis so it go over or under the target
pcam_rotation_degrees.x = clampf(pcam_rotation_degrees.x, min_pitch, max_pitch)
# Change the Y rotation value
pcam_rotation_degrees.y -= event.relative.x * mouse_sensitivity
# Sets the rotation to fully loop around its target, but witout going below or exceeding 0 and 360 degrees respectively
pcam_rotation_degrees.y = wrapf(pcam_rotation_degrees.y, min_yaw, max_yaw)
# Change the SpringArm3D node's rotation and rotate around its target
pcam.set_third_person_rotation_degrees(pcam_rotation_degrees)
func _toggle_aim_pcam(event: InputEvent) -> void:
if event is InputEventMouseButton \
and event.is_pressed() \
and event.button_index == 2 \
and (_player_pcam.is_active() or _aim_pcam.is_active()):
if _player_pcam.get_priority() > _aim_pcam.get_priority():
_aim_pcam.set_priority(30)
else:
_aim_pcam.set_priority(0)

View File

@ -3,5 +3,5 @@
name="Phantom Camera"
description="Control the movement and dynamically tween 2D & 3D cameras positions. Built for Godot 4. Inspired by Cinemachine."
author="Marcus Skov"
version="0.9.4"
version="0.9.4.1"
script="plugin.gd"

View File

@ -218,11 +218,6 @@ public class PhantomCamera2D : PhantomCamera
Node2D.Connect(SignalName.NoiseEmitted, callableNoiseEmitted);
}
public void SetLimitTarget(TileMap tileMap)
{
Node2D.Call(MethodName.SetLimitTarget, tileMap.GetPath());
}
public void SetLimitTarget(TileMapLayer tileMapLayer)
{
Node2D.Call(MethodName.SetLimitTarget, tileMapLayer.GetPath());
@ -314,16 +309,10 @@ public class PhantomCamera2D : PhantomCamera
public class LimitTargetQueryResult(GodotObject godotObject)
{
public bool IsTileMap => godotObject.IsClass("TileMap");
public bool IsTileMapLayer => godotObject.IsClass("TileMapLayer");
public bool IsCollisionShape2D => godotObject.IsClass("CollisionShape2D");
public TileMap? AsTileMap()
{
return IsTileMap ? (TileMap)godotObject : null;
}
public TileMapLayer? AsTileMapLayer()
{

View File

@ -410,22 +410,22 @@ var _should_rotate_with_target: bool = false
set = set_limit_bottom,
get = get_limit_bottom
## Allows for setting either a [TileMap], [TileMapLayer] or [CollisionShape2D] node to
## Allows for setting either a [TileMapLayer] or [CollisionShape2D] node to
## automatically apply a limit size instead of manually adjusting the Left,
## Top, Right and Left properties.[br][br]
## [b]TileMap / TileMapLayer[/b][br]
## The Limit will update after the [TileSet] of the [TileMap] / [TileMapLayer] has changed.[br]
## [b]TileMapLayer[/b][br]
## The Limit will update after the [TileSet] of the [TileMapLayer] has changed.[br]
## [b]Note:[/b] The limit size will only update after closing the TileMap editor
## bottom panel.
## [br][br]
## [b]CollisionShape2D[/b][br]
## The limit will update in realtime as the Shape2D changes its size.
## Note: For performance reasons, resizing the [Shape2D] during runtime will not change the Limits sides.
@export_node_path("TileMap", "Node2D", "CollisionShape2D") var limit_target: NodePath = NodePath(""):
@export_node_path("TileMapLayer", "CollisionShape2D") var limit_target: NodePath = NodePath(""):
set = set_limit_target,
get = get_limit_target
## Applies an offset to the [TileMap]/[TileMapLayer] Limit or [Shape2D] Limit.
## Applies an offset to the [TileMapLayer] Limit or [Shape2D] Limit.
## The values goes from [param Left], [param Top], [param Right]
## and [param Bottom].
@export var limit_margin: Vector4i = Vector4.ZERO:
@ -549,8 +549,7 @@ func _validate_property(property: Dictionary) -> void:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_offset":
if follow_mode == FollowMode.PATH or \
follow_mode == FollowMode.GLUED:
if follow_mode == FollowMode.GLUED:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_damping_value" and not follow_damping:
@ -1053,8 +1052,8 @@ func update_limit_all_sides() -> void:
_limit_sides.y = limit_top
_limit_sides.z = limit_right
_limit_sides.w = limit_bottom
elif _limit_node is TileMap or _limit_node.is_class("TileMapLayer"):
var tile_map := _limit_node
elif _limit_node is TileMapLayer:
var tile_map: TileMapLayer = _limit_node
if not tile_map.tile_set: return # TODO: This should be removed once https://github.com/godotengine/godot/issues/96898 is resolved
@ -1604,17 +1603,17 @@ func set_limit_target(value: NodePath) -> void:
# Waits for PCam2d's _ready() before trying to validate limit_node_path
if not is_node_ready(): await ready
# Removes signal from existing TileMap node
# Removes signal from existing TileMapLayer node
if is_instance_valid(get_node_or_null(value)):
var prev_limit_node: Node2D = _limit_node
var new_limit_node: Node2D = get_node(value)
if prev_limit_node:
if prev_limit_node is TileMap or prev_limit_node.is_class("TileMapLayer"):
if prev_limit_node is TileMapLayer:
if prev_limit_node.changed.is_connected(_on_tile_map_changed):
prev_limit_node.changed.disconnect(_on_tile_map_changed)
if new_limit_node is TileMap or new_limit_node.is_class("TileMapLayer"):
if new_limit_node is TileMapLayer:
if not new_limit_node.changed.is_connected(_on_tile_map_changed):
new_limit_node.changed.connect(_on_tile_map_changed)
elif new_limit_node is CollisionShape2D:
@ -1626,7 +1625,7 @@ func set_limit_target(value: NodePath) -> void:
limit_target = ""
return
else:
printerr("Limit Target is not a TileMap, TileMapLayer or CollisionShape2D node")
printerr("Limit Target is not a TileMapLayer or CollisionShape2D node")
return
elif value == NodePath(""):
reset_limit()

View File

@ -746,17 +746,12 @@ func _validate_property(property: Dictionary) -> void:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_offset":
if follow_mode == FollowMode.PATH or \
follow_mode == FollowMode.GLUED:
if follow_mode == FollowMode.GLUED:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_damping_value" and not follow_damping:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_offset":
if follow_mode == FollowMode.PATH:
property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_distance":
if not follow_mode == FollowMode.FRAMED:
if not follow_mode == FollowMode.GROUP or \
@ -1061,9 +1056,9 @@ func _set_follow_position() -> void:
var path_position: Vector3 = follow_path.global_position
_follow_target_output_position = \
follow_path.curve.get_closest_point(
follow_target.global_position - path_position
_get_target_position_offset() - path_position
) + path_position
_set_follow_gizmo_line_position(follow_target.global_position)
_set_follow_gizmo_line_position(_get_target_position_offset())
FollowMode.FRAMED:
if not Engine.is_editor_hint():

View File

@ -1296,41 +1296,39 @@ func _set_layer(current_layers: int, layer_number: int, value: bool) -> int:
#region Public Functions
## Triggers a recalculation to determine which PhantomCamera has the highest priority.
func pcam_priority_updated(pcam: Node) -> void:
if not is_instance_valid(pcam): return
if not _pcam_is_in_host_layer(pcam): return
if pcam == _active_pcam_2d or pcam == _active_pcam_3d:
if not pcam.visible:
refresh_pcam_list_priorty()
if Engine.is_editor_hint():
if _is_2d:
if not is_instance_valid(_active_pcam_2d): return
if _active_pcam_2d.priority_override: return
if not is_instance_valid(_active_pcam_2d): return
else:
if not is_instance_valid(_active_pcam_3d): return
if _active_pcam_3d.priority_override: return
if not is_instance_valid(_active_pcam_3d): return
var current_pcam_priority: int = pcam.priority
if current_pcam_priority >= _active_pcam_priority:
if _is_2d:
if pcam != _active_pcam_2d:
_assign_new_active_pcam(pcam)
else:
if pcam != _active_pcam_3d:
_assign_new_active_pcam(pcam)
pcam.set_tween_skip(self, false)
_active_pcam_missing = false
## Currently active PCam changed Priority
if pcam == _active_pcam_2d or pcam == _active_pcam_3d:
if current_pcam_priority <= _active_pcam_priority:
_active_pcam_priority = current_pcam_priority
## If PCam Node has become invisible / disabled
if not pcam.visible:
refresh_pcam_list_priorty()
## If currently active PCam has a reduced Priority
elif pcam.priority < _active_pcam_priority:
_active_pcam_priority = pcam.priority
_find_pcam_with_highest_priority()
else:
_active_pcam_priority = current_pcam_priority
## Another PCam changed Priority
else:
## Make new PCam active if Priority is higher or equal to the currently active
if pcam.priority >= _active_pcam_priority:
if _is_2d:
if pcam != _active_pcam_2d:
_assign_new_active_pcam(pcam)
else:
if pcam != _active_pcam_3d:
_assign_new_active_pcam(pcam)
pcam.set_tween_skip(self, false)
_active_pcam_missing = false
## Updates the viewfinder when a [param PhantomCamera] has its

View File

@ -23,11 +23,13 @@ var _gen_empty_act: Callable = Callable(self, "_editor_generate_empty_act")
## ====================
var _current_act: Act = null
var _current_act_id: int = -1
const DEFAULT_ACT_ID:int = 0
signal act_changed(from_act_id: int, to_act_id: int)
func _ready() -> void:
##初始默认把act 切换到Default状态
switch_act_with_id(0)
pass
##通过ID切换act
func switch_act_with_id(act_id: int) -> void:
@ -103,7 +105,7 @@ func _editor_generate_default_act() -> void:
)
return
var props_root := scene.get_node_or_null(scene.props_root_path)
var props_root := scene.get_props_root()
if props_root == null:
_editor_popup(
"Props root not found:\n%s" % scene.props_root_path,
@ -206,7 +208,7 @@ func _find_prop_by_id(prop_id: int) -> PropComponent:
if scene == null:
return null
var props_root := scene.get_node_or_null(scene.props_root_path)
var props_root := scene.get_props_root()
if props_root == null:
return null

View File

@ -13,16 +13,14 @@ class_name PropComponent extends Node
##此物件的描述ID无法主动修改由PropManager发信
@export_custom(PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_READ_ONLY) var prop_id: int = -1
##初始的默认state_id
@export var initial_state_id: int = 0
##如果为真则无论ActManger的配置为任何在Inital的时候都会使用自己定义的initial state
@export var overwrite_init_state: bool = false
##是否需要输出错误
@export var debug_log := false
##是否等待
@export var should_wait_owner_ready :bool = true
##状态切换的信号
signal state_changed(from_state: int, to_state: int, ctx: Dictionary)
@ -42,15 +40,29 @@ func _enter_tree() -> void:
func _ready() -> void:
_build_state_cache()
if not Engine.is_editor_hint():
if should_wait_owner_ready: await owner.ready
#if not Engine.is_editor_hint():
#if should_wait_owner_ready:
#await owner.ready
_init_states()
if _current == null and initial_state_id >= 0:
change_state(initial_state_id, false, {
"reason": "INIT",
"instant": true
})
#_init_states()
#if _current == null and initial_state_id >= 0 and overwrite_init_state:
#change_state(initial_state_id, false, {
#"reason": "INIT",
#"instant": true
#})
## 用于初始化状态
func init() -> void:
_init_states()
## 用于检查初始状态复写的Check
func _init_state_check() ->void:
if _current == null and initial_state_id >= 0 and overwrite_init_state:
change_state(initial_state_id, false, {
"reason": "INIT",
"instant": true
})
##映射State到stateID
func _build_state_cache() -> void:

View File

@ -1,5 +1,4 @@
@tool
class_name PropManager
extends Node2D
##是否要自动的向其子集中添加一个PropComp

View File

@ -7,6 +7,7 @@ class_name ReedPropEffect
enum TargetType {
OWNER,
ChildNode,
NODE_PATH
}
@ -19,6 +20,12 @@ enum EffectType {
@export var target_type: TargetType = TargetType.OWNER
##如果选择了NodePath则会读取此字段默认不读取
@export var target_path: NodePath
##如果选择了ChildNode则会读取此字段默认不读取
@export var child_node_name: StringName
##如果选择了ChildNode则会读取此字段是否要递归的查找某个子节点
@export var recursive_found: bool = false
##如果选择了ChildNode则会读取此字段只检查该scene的子节点而忽略其他的外部添加的子节点
@export var owned_node_only: bool = true
##作用的具体效果类别,默认为设置某个数值
@export var effect_type: EffectType = EffectType.SET_VALUE
@ -44,7 +51,6 @@ func apply(owner: Node, prop_comp: Node, ctx: Dictionary) -> void:
match effect_type:
EffectType.SET_VALUE:
# 你也可以加 has_property 检查,但 Godot 没有统一 API这里先直接 set
target.set(property_name, value)
EffectType.CALL_FUNC:
@ -56,6 +62,9 @@ func _resolve_target(owner: Node, prop_comp: Node) -> Object:
match target_type:
TargetType.OWNER:
return owner
TargetType.ChildNode:
if owner:
return owner.find_child(child_node_name,recursive_found,owned_node_only)
TargetType.NODE_PATH:
if owner:
return owner.get_node_or_null(target_path)

View File

@ -5,8 +5,9 @@
leveln个小关卡n = scene的数量
Scene
1.Act Manager
2.Prop
1.SceneManager
2.Act Manager
3.Prop
ActManager下ActProp的不同stateAct切换时Prop对应的状态也会切换
ActManager的主要作用就是管理这些Act的切换
@ -36,20 +37,25 @@ class_name ReedScene extends Node2D
## ==============================
## Const Config
## ==============================
##Act管理器的命名
const ACT_MANAGER_NAME := "ActManager"
##Prop的根节点命名
const PROPS_ROOT_NAME := "Props"
##场景管理器的根节点命名
const SCENE_MANAGER_NAME := "SceneManager"
##Prop的路徑
const PROPS_ROOT_PATH: NodePath = ^"Props"
##PropManager脚本的路徑
const PROPS_MANAGER_SCRIPT: Script = preload("res://addons/reedscene/prop/PropManager.gd")
## ==============================
## Export Config
## ==============================
@export var props_root_path: NodePath = ^"Props"
##是否要自動的為Props下的Node添加PropComponent
@export var auto_attach_prop_component := true
@export var debug_log := true
##是否要打印DebugLog
@export var debug_log := false
## ==============================
## Internal State
@ -81,8 +87,22 @@ func _ready() -> void:
_collect_props()
_bind_act_events()
if not Engine.is_editor_hint():
ReedSceneRegistry.register_scene(self)
if Engine.is_editor_hint():
return
## 初始化Prop
var pcs : Array = _prop_map.values()
for pc in pcs:
pc.init()
## act manger 切换一次
_act_manager.switch_act_with_id(_act_manager.DEFAULT_ACT_ID)
## 如果prop有复写init state的选项则overwrite
for pc in pcs:
pc._init_state_check()
ReedSceneRegistry.register_scene(self)
## ==============================
## Resolve References
## ==============================
@ -103,9 +123,9 @@ func _resolve_act_manager() -> void:
return
func _resolve_props_root() -> void:
_props_root = get_node_or_null(props_root_path)
_props_root = get_node_or_null(PROPS_ROOT_PATH)
if _props_root == null:
push_error("[ReedScene] Props root not found: %s" % props_root_path)
push_error("[ReedScene] Props root not found: %s" % PROPS_ROOT_PATH)
func _resolve_scene_manager() -> void:
_scene_manager = get_node_or_null(SCENE_MANAGER_NAME)
@ -114,11 +134,11 @@ func _resolve_scene_manager() -> void:
## ==============================
## Prop Collection
## ==============================
func _collect_props() -> void:
_prop_map.clear()
if _props_root == null:
push_warning("[ReedScene]:Scene[ID:%s] dont have a prop root" % _scene_id_comp.get_scene_id())
return
for prop in _props_root.get_children():
@ -143,6 +163,7 @@ func _collect_props() -> void:
if debug_log:
print("[ReedScene] Registered Prop:", prop_id)
##獲取到一個Prop的PropComp
func _find_prop_component(prop: Node) -> PropComponent:
for child in prop.get_children():
if child is PropComponent:
@ -166,7 +187,7 @@ func _on_act_changed(from_act: int, to_act: int) -> void:
func _editor_ensure_scene_nodes() -> void:
_editor_ensure_node(SCENE_MANAGER_NAME, SceneManager)
_editor_ensure_node(ACT_MANAGER_NAME, ActManager)
_editor_ensure_node(PROPS_ROOT_NAME, PropManager)
_editor_ensure_node_from_script(PROPS_ROOT_NAME,PROPS_MANAGER_SCRIPT)
##添加命名和节点
func _editor_ensure_node(name: String, type: Variant) -> Node:
@ -185,6 +206,28 @@ func _editor_ensure_node(name: String, type: Variant) -> Node:
return node
##通過脚本添加節點
func _editor_ensure_node_from_script(
name: String,
script: Script
) -> Node:
assert(script != null)
var node := get_node_or_null(name)
if node != null:
return node
node = script.new()
node.name = name
add_child(node)
node.owner = get_tree().edited_scene_root
if debug_log:
print("[ReedScene][Editor] Created node from script:", name)
return node
##保證存在ID節點
func _editor_ensure_scene_id_comp() -> ReedSceneID:
# 1. 查找已有的 ReedSceneID只找直接子节点
@ -212,18 +255,40 @@ func _editor_ensure_scene_id_comp() -> ReedSceneID:
return id_comp
## ==============================
## Externel API
## ==============================
## 外部取得Prop映射對
func get_prop_map() -> Dictionary:
return _prop_map
## 切換Act
func switch_act_by_id(act_id: int) -> void:
if not _act_manager:
push_warning("[ReedScene] ActManager requested before ready.")
_act_manager.switch_act_with_id(act_id)
## 獲取關卡管理器
func get_scene_manager() -> SceneManager:
if _scene_manager == null:
push_warning("[ReedScene] SceneManager requested before ready.")
return _scene_manager
## 獲取SceneID Comp
func get_scene_id_comp() -> ReedSceneID:
if _scene_id_comp == null:
push_warning("[ReedScene] Scene not has a ID Comp.")
return _scene_id_comp
## 獲取Prop的根節點
func get_props_root() -> Node2D:
return _props_root
## 獲取SceneID
func get_scene_id() -> int:
if get_scene_id_comp().has_id():
return get_scene_id_comp().scene_id
return -1

View File

@ -95,3 +95,7 @@ func _get_configuration_warnings() -> PackedStringArray:
warnings.append(msg)
return warnings
## 獲取Scene id的接口
func get_scene_id() ->int:
return _scene_id

View File

@ -17,3 +17,8 @@ V0.3
V1.0
- Scene管理器全局ID功能
V1.1
- 删除不必要的ClassName
- 完善ActManager的编辑者友好界面