更新镜头的基本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="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"] [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://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://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://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"] [node name="Game" type="Node2D"]
script = ExtResource("1_2tycc") script = ExtResource("1_2tycc")
@ -21,7 +20,7 @@ collision_mask = 4
[node name="l1_s1" parent="." instance=ExtResource("4_6jw57")] [node name="l1_s1" parent="." instance=ExtResource("4_6jw57")]
[node name="l1_s2" parent="." instance=ExtResource("5_2t6pm")] [node name="l1_s2" parent="." instance=ExtResource("5_2t6pm")]
debug_log = true
[node name="l1_s3" parent="." instance=ExtResource("6_xkd7q")] [node name="l1_s3" parent="." instance=ExtResource("6_xkd7q")]
debug_log = true
[node name="l1_s4" parent="." instance=ExtResource("7_2t6pm")]

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://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"] [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="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://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"] [ext_resource type="Script" uid="uid://jeybblac0kg2" path="res://addons/reedscene/prop/ReedTransition.gd" id="13_8hwae"]
[ext_resource type="PackedScene" uid="uid://mi4omkkocmc0" path="res://_props/_prefabs/scene_static_camera.tscn" id="14_s6kod"]
[sub_resource type="Resource" id="Resource_8hwae"]
script = ExtResource("6_fyfyw")
[sub_resource type="Resource" id="Resource_s6kod"] [sub_resource type="Resource" id="Resource_s6kod"]
script = ExtResource("6_fyfyw") script = ExtResource("6_fyfyw")
[sub_resource type="Resource" id="Resource_1dh04"] [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") script = ExtResource("5_a224g")
prop_state_map = Dictionary[int, ExtResource("6_fyfyw")]({ prop_state_map = Dictionary[int, ExtResource("6_fyfyw")]({
0: SubResource("Resource_8hwae"), 0: SubResource("Resource_s6kod"),
1: SubResource("Resource_s6kod") 1: SubResource("Resource_1dh04"),
2: SubResource("Resource_spdfw")
}) })
[sub_resource type="Resource" id="Resource_gu0l6"] [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"] [sub_resource type="Resource" id="Resource_fyfyw"]
script = ExtResource("12_fyfyw") script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1 effect_type = 1
value = null value = null
func_name = &"reset_door_state_id" func_name = &"reset_door_state_id"
@ -69,6 +78,9 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_bco80"] [sub_resource type="Resource" id="Resource_bco80"]
script = ExtResource("12_fyfyw") script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1 effect_type = 1
value = null value = null
func_name = &"door_close" func_name = &"door_close"
@ -76,6 +88,9 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_22pon"] [sub_resource type="Resource" id="Resource_22pon"]
script = ExtResource("12_fyfyw") script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1 effect_type = 1
value = null value = null
func_name = &"reset_door_state_id" func_name = &"reset_door_state_id"
@ -84,13 +99,35 @@ metadata/_custom_type_script = "uid://cdvgq0xqdbagk"
[sub_resource type="Resource" id="Resource_25twt"] [sub_resource type="Resource" id="Resource_25twt"]
script = ExtResource("12_fyfyw") script = ExtResource("12_fyfyw")
child_node_name = null
recursive_found = null
owned_node_only = null
effect_type = 1 effect_type = 1
value = null value = null
func_name = &"door_open" func_name = &"door_open"
metadata/_custom_type_script = "uid://cdvgq0xqdbagk" 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"] [node name="l1_s1" type="Node2D"]
script = ExtResource("1_wiqi4") script = ExtResource("1_wiqi4")
debug_log = true
metadata/_custom_type_script = "uid://5e157vdk6175" metadata/_custom_type_script = "uid://5e157vdk6175"
[node name="[ID_ 9900001]" type="Node" parent="."] [node name="[ID_ 9900001]" type="Node" parent="."]
@ -103,7 +140,7 @@ script = ExtResource("3_1t0dx")
[node name="ActManager" type="Node" parent="."] [node name="ActManager" type="Node" parent="."]
script = ExtResource("4_a224g") script = ExtResource("4_a224g")
prop_state_map = Dictionary[int, ExtResource("5_a224g")]({ prop_state_map = Dictionary[int, ExtResource("5_a224g")]({
0: SubResource("Resource_1dh04"), 0: SubResource("Resource_ykqcq"),
1: SubResource("Resource_648qh"), 1: SubResource("Resource_648qh"),
2: SubResource("Resource_jh33u") 2: SubResource("Resource_jh33u")
}) })
@ -175,6 +212,27 @@ from_state_id = 0
effects = Array[ExtResource("12_fyfyw")]([SubResource("Resource_25twt")]) effects = Array[ExtResource("12_fyfyw")]([SubResource("Resource_25twt")])
metadata/_custom_type_script = "uid://jeybblac0kg2" 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")] [node name="l1_s1_tile" parent="." instance=ExtResource("10_25twt")]
tile_map_data = PackedByteArray("AAAAAAQAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAkAAAAAAAAAAAAAAAoAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAwAAAAAAAAAAAAAABQAAAAAAAAAAAAAABUAAAAAAAAAAAAAABYAAAAAAAAAAAABAAQAAAAAAAAAAAABAAUAAAAAAAAAAAABAAYAAAAAAAAAAAABAAcAAAAAAAAAAAABAAgAAAAAAAAAAAABAAkAAAAAAAAAAAABAAoAAAAAAAAAAAABAAsAAAAAAAAAAAABAAwAAAAAAAAAAAABABQAAAAAAAAAAAABABUAAAAAAAAAAAABABYAAAAAAAAAAAACABQAAAAAAAAAAAACABUAAAAAAAAAAAACABYAAAAAAAAAAAADAAAAAAAAAAAAAAADAAEAAAAAAAAAAAADAAIAAAAAAAAAAAADABQAAAAAAAAAAAADABUAAAAAAAAAAAADABYAAAAAAAAAAAAEAAAAAAAAAAAAAAAEAAEAAAAAAAAAAAAEAAIAAAAAAAAAAAAEABQAAAAAAAAAAAAEABUAAAAAAAAAAAAEABYAAAAAAAAAAAAFAAAAAAAAAAAAAAAFAAEAAAAAAAAAAAAFAAIAAAAAAAAAAAAFABQAAAAAAAAAAAAFABUAAAAAAAAAAAAFABYAAAAAAAAAAAAGABQAAAAAAAAAAAAGABUAAAAAAAAAAAAGABYAAAAAAAAAAAAHABQAAAAAAAAAAAAHABUAAAAAAAAAAAAHABYAAAAAAAAAAAAIABQAAAAAAAAAAAAIABUAAAAAAAAAAAAIABYAAAAAAAAAAAAJABQAAAAAAAAAAAAJABUAAAAAAAAAAAAJABYAAAAAAAAAAAAKABQAAAAAAAAAAAAKABUAAAAAAAAAAAAKABYAAAAAAAAAAAALABQAAAAAAAAAAAALABUAAAAAAAAAAAALABYAAAAAAAAAAAAMABQAAAAAAAAAAAAMABUAAAAAAAAAAAAMABYAAAAAAAAAAAANABQAAAAAAAAAAAANABUAAAAAAAAAAAANABYAAAAAAAAAAAAOABQAAAAAAAAAAAAOABUAAAAAAAAAAAAOABYAAAAAAAAAAAAPABQAAAAAAAAAAAAPABUAAAAAAAAAAAAPABYAAAAAAAAAAAAQABQAAAAAAAAAAAAQABUAAAAAAAAAAAAQABYAAAAAAAAAAAARABQAAAAAAAAAAAARABUAAAAAAAAAAAARABYAAAAAAAAAAAASABQAAAAAAAAAAAASABUAAAAAAAAAAAASABYAAAAAAAAAAAATABQAAAAAAAAAAAATABUAAAAAAAAAAAATABYAAAAAAAAAAAAUABQAAAAAAAAAAAAUABUAAAAAAAAAAAAUABYAAAAAAAAAAAAVABQAAAAAAAAAAAAVABUAAAAAAAAAAAAVABYAAAAAAAAAAAAGAAAAAAAAAAAAAAAGAAEAAAAAAAAAAAAGAAIAAAAAAAAAAAAHAAAAAAAAAAAAAAAHAAEAAAAAAAAAAAAHAAIAAAAAAAAAAAAIAAAAAAAAAAAAAAAIAAEAAAAAAAAAAAAIAAIAAAAAAAAAAAAJAAAAAAAAAAAAAAAJAAEAAAAAAAAAAAAJAAIAAAAAAAAAAAAKAAAAAAAAAAAAAAAKAAEAAAAAAAAAAAAKAAIAAAAAAAAAAAALAAAAAAAAAAAAAAALAAEAAAAAAAAAAAALAAIAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAEAAAAAAAAAAAAMAAIAAAAAAAAAAAANAAAAAAAAAAAAAAANAAEAAAAAAAAAAAANAAIAAAAAAAAAAAAOAAAAAAAAAAAAAAAOAAEAAAAAAAAAAAAOAAIAAAAAAAAAAAAcABQAAAAAAAAAAAAcABUAAAAAAAAAAAAcABYAAAAAAAAAAAAdABQAAAAAAAAAAAAdABUAAAAAAAAAAAAdABYAAAAAAAAAAAAeABQAAAAAAAAAAAAeABUAAAAAAAAAAAAeABYAAAAAAAAAAAAfABQAAAAAAAAAAAAfABUAAAAAAAAAAAAfABYAAAAAAAAAAAAgABQAAAAAAAAAAAAgABUAAAAAAAAAAAAgABYAAAAAAAAAAAAhABQAAAAAAAAAAAAhABUAAAAAAAAAAAAhABYAAAAAAAAAAAAiABQAAAAAAAAAAAAiABUAAAAAAAAAAAAiABYAAAAAAAAAAAAjABQAAAAAAAAAAAAjABUAAAAAAAAAAAAjABYAAAAAAAAAAAAkABQAAAAAAAAAAAAkABUAAAAAAAAAAAAkABYAAAAAAAAAAAAlABQAAAAAAAAAAAAlABUAAAAAAAAAAAAlABYAAAAAAAAAAAAmABQAAAAAAAAAAAAmABUAAAAAAAAAAAAmABYAAAAAAAAAAAAnABQAAAAAAAAAAAAnABUAAAAAAAAAAAAnABYAAAAAAAAAAAAoABQAAAAAAAAAAAAoABUAAAAAAAAAAAAoABYAAAAAAAAAAAApABQAAAAAAAAAAAApABUAAAAAAAAAAAApABYAAAAAAAAAAAAWABQAAAAAAAAAAAAWABUAAAAAAAAAAAAWABYAAAAAAAAAAAAbABQAAAAAAAAAAAAbABUAAAAAAAAAAAAbABYAAAAAAAAAAAAXABQAAAAAAAAAAAAXABUAAAAAAAAAAAAXABYAAAAAAAAAAAAYABQAAAAAAAAAAAAYABUAAAAAAAAAAAAYABYAAAAAAAAAAAAZABQAAAAAAAAAAAAZABUAAAAAAAAAAAAZABYAAAAAAAAAAAAaABQAAAAAAAAAAAAaABUAAAAAAAAAAAAaABYAAAAAAAAAAAAPAAAAAAAAAAAAAAAPAAEAAAAAAAAAAAAPAAIAAAAAAAAAAAAQAAAAAAAAAAAAAAAQAAEAAAAAAAAAAAAQAAIAAAAAAAAAAAARAAAAAAAAAAAAAAARAAEAAAAAAAAAAAARAAIAAAAAAAAAAAASAAAAAAAAAAAAAAASAAEAAAAAAAAAAAASAAIAAAAAAAAAAAATAAAAAAAAAAAAAAATAAEAAAAAAAAAAAATAAIAAAAAAAAAAAAUAAAAAAAAAAAAAAAUAAEAAAAAAAAAAAAUAAIAAAAAAAAAAAAVAAAAAAAAAAAAAAAVAAEAAAAAAAAAAAAVAAIAAAAAAAAAAAAWAAAAAAAAAAAAAAAWAAEAAAAAAAAAAAAWAAIAAAAAAAAAAAAXAAAAAAAAAAAAAAAXAAEAAAAAAAAAAAAXAAIAAAAAAAAAAAAYAAAAAAAAAAAAAAAYAAEAAAAAAAAAAAAYAAIAAAAAAAAAAAAZAAAAAAAAAAAAAAAZAAEAAAAAAAAAAAAZAAIAAAAAAAAAAAAaAAAAAAAAAAAAAAAaAAEAAAAAAAAAAAAaAAIAAAAAAAAAAAAbAAAAAAAAAAAAAAAbAAEAAAAAAAAAAAAbAAIAAAAAAAAAAAAcAAAAAAAAAAAAAAAcAAEAAAAAAAAAAAAcAAIAAAAAAAAAAAAdAAAAAAAAAAAAAAAdAAEAAAAAAAAAAAAdAAIAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAEAAAAAAAAAAAAeAAIAAAAAAAAAAAAfAAAAAAAAAAAAAAAfAAEAAAAAAAAAAAAfAAIAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAEAAAAAAAAAAAAgAAIAAAAAAAAAAAAhAAAAAAAAAAAAAAAhAAEAAAAAAAAAAAAhAAIAAAAAAAAAAAAiAAAAAAAAAAAAAAAiAAEAAAAAAAAAAAAiAAIAAAAAAAAAAAAjAAAAAAAAAAAAAAAjAAEAAAAAAAAAAAAjAAIAAAAAAAAAAAAkAAAAAAAAAAAAAAAkAAEAAAAAAAAAAAAkAAIAAAAAAAAAAAAlAAAAAAAAAAAAAAAlAAEAAAAAAAAAAAAlAAIAAAAAAAAAAAAmAAAAAAAAAAAAAAAmAAEAAAAAAAAAAAAmAAIAAAAAAAAAAAAnAAAAAAAAAAAAAAAnAAEAAAAAAAAAAAAnAAIAAAAAAAAAAAAoAAAAAAAAAAAAAAAoAAEAAAAAAAAAAAAoAAIAAAAAAAAAAAApAAAAAAAAAAAAAAApAAEAAAAAAAAAAAApAAIAAAAAAAAAAAAoAAMAAAAAAAAAAAAoAAQAAAAAAAAAAAAoAAUAAAAAAAAAAAAoAAYAAAAAAAAAAAAoAAcAAAAAAAAAAAAoAAgAAAAAAAAAAAAoAAkAAAAAAAAAAAAoAAoAAAAAAAAAAAAoAAsAAAAAAAAAAAAoAAwAAAAAAAAAAAApAAMAAAAAAAAAAAApAAQAAAAAAAAAAAApAAUAAAAAAAAAAAApAAYAAAAAAAAAAAApAAcAAAAAAAAAAAApAAgAAAAAAAAAAAApAAkAAAAAAAAAAAApAAoAAAAAAAAAAAApAAsAAAAAAAAAAAApAAwAAAAAAAAAAAA=") 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) var l1_s1: ReedScene = ReedSceneRegistry.get_scene(9900001)
if l1_s1: if l1_s1:
l1_s1.switch_act_by_id(2) 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://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"] [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://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="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="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://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://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"] [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="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="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="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"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_qnulu"]
size = Vector2(9, 23) size = Vector2(9, 23)
@ -42,7 +43,7 @@ size = Vector2(9, 23)
atlas = ExtResource("2_8nsdm") atlas = ExtResource("2_8nsdm")
region = Rect2(9, 22, 13, 26) region = Rect2(9, 22, 13, 26)
[sub_resource type="Resource" id="Resource_p14kj"] [sub_resource type="Resource" id="Resource_1a1t3"]
script = ExtResource("21_5r2pj") script = ExtResource("21_5r2pj")
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ogl63"] [sub_resource type="RectangleShape2D" id="RectangleShape2D_ogl63"]
@ -181,10 +182,14 @@ metadata/_custom_type_script = "uid://ta2r2bc1nrwe"
[node name="PhantomCamera2D" type="Node2D" parent="."] [node name="PhantomCamera2D" type="Node2D" parent="."]
position = Vector2(50, -75) position = Vector2(50, -75)
script = ExtResource("20_ogl63") script = ExtResource("32_u7cua")
tween_resource = SubResource("Resource_p14kj") tween_resource = SubResource("Resource_1a1t3")
metadata/_custom_type_script = "uid://bhexx6mj1xv3q" 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="."] [node name="HitBox" type="Area2D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
collision_layer = 0 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"] [sub_resource type="Resource" id="Resource_87ddr"]
script = ExtResource("11_d6abr") script = ExtResource("11_d6abr")
amplitude = 30.0 amplitude = 30.0
frequency = 0.5
randomize_noise_seed = 1 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"] [sub_resource type="Resource" id="Resource_rmnw1"]
script = ExtResource("11_d6abr") script = ExtResource("11_d6abr")
@ -181,11 +174,7 @@ amplitude = 40.0
frequency = 30.0 frequency = 30.0
randomize_noise_seed = 1 randomize_noise_seed = 1
noise_seed = 96 noise_seed = 96
positional_noise = true
rotational_noise = true rotational_noise = true
positional_multiplier_x = 1.0
positional_multiplier_y = 1.0
rotational_multiplier = 1.0
[node name="Root" type="Node2D"] [node name="Root" type="Node2D"]
@ -245,7 +234,7 @@ text = "[WASD] to move
[node name="Camera2D" type="Camera2D" parent="."] [node name="Camera2D" type="Camera2D" parent="."]
physics_interpolation_mode = 1 physics_interpolation_mode = 1
position = Vector2(227, -28) position = Vector2(227, -28)
offset = Vector2(2.3068, -7.8485) offset = Vector2(3.7613766, -1.1727414)
ignore_rotation = false ignore_rotation = false
zoom = Vector2(1.5, 1.5) zoom = Vector2(1.5, 1.5)
process_callback = 0 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://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_u86qq"]
[ext_resource type="Script" uid="uid://uvw6pg1ut0ms" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="2_2n1da"] [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="2_e7gxt"] [ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="3_an0dt"]
[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="4_iy6qn"]
[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="Resource" uid="uid://cptfoggk2ok67" path="res://addons/phantom_camera/examples/resources/tween/player_phantom_camera_3d_tween.tres" id="5_0ku52"]
[ext_resource type="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="3_f5qrw"] [ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_prr6u"]
[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://uvw6pg1ut0ms" path="res://addons/phantom_camera/examples/scripts/3D/npc.gd" id="7_nl3ax"]
[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://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="4_moad5"] [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="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="7_jitt8"] [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"] [sub_resource type="Resource" id="Resource_jtk1d"]
script = ExtResource("4_m2vbn") 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"] [sub_resource type="Resource" id="Resource_o161n"]
script = ExtResource("4_m2vbn") 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"] [sub_resource type="BoxMesh" id="BoxMesh_7tjw4"]
size = Vector3(2, 0.5, 4) 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) albedo_color = Color(0.988235, 0.478431, 0.905882, 1)
[sub_resource type="Resource" id="Resource_tpvee"] [sub_resource type="Resource" id="Resource_tpvee"]
script = ExtResource("7_jitt8") script = ExtResource("8_xvqcg")
duration = 0.0 duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_bxbnv"] [sub_resource type="Resource" id="Resource_bxbnv"]
script = ExtResource("4_m2vbn") 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"] [sub_resource type="BoxShape3D" id="BoxShape3D_wcrbb"]
size = Vector3(6.8, 0.1, 5.4) size = Vector3(6.8, 0.1, 5.4)
[sub_resource type="Resource" id="Resource_7ih0k"] [sub_resource type="Resource" id="Resource_7ih0k"]
script = ExtResource("7_jitt8") script = ExtResource("8_xvqcg")
duration = 0.0 duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_4iyps"] [sub_resource type="Resource" id="Resource_4iyps"]
script = ExtResource("4_m2vbn") 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"] [sub_resource type="BoxShape3D" id="BoxShape3D_ctyr8"]
size = Vector3(7.4, 0.1, 3.6) size = Vector3(7.4, 0.1, 3.6)
[sub_resource type="Resource" id="Resource_x5y0u"] [sub_resource type="Resource" id="Resource_x5y0u"]
script = ExtResource("7_jitt8") script = ExtResource("8_xvqcg")
duration = 0.0 duration = 0.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_pgiyx"] [sub_resource type="Resource" id="Resource_pgiyx"]
script = ExtResource("4_m2vbn") 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"] [sub_resource type="BoxShape3D" id="BoxShape3D_ua072"]
size = Vector3(6.8, 0.1, 3.6) size = Vector3(6.8, 0.1, 3.6)
@ -160,16 +104,17 @@ size = Vector3(8, 6, 0.5)
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_wn7ww") script = ExtResource("1_u86qq")
[node name="PlayerGroup" type="Node" parent="."] [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 unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.53871, 0.5, 7.26232) 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) 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) modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move" text = "[WASD] to move"
font = ExtResource("2_e7gxt") font = ExtResource("3_an0dt")
font_size = 48 font_size = 48
[node name="PlayerPhantomCamera3D" type="Node3D" parent="PlayerGroup" node_paths=PackedStringArray("follow_target")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="PlayerGroup" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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) transform = Transform3D(0.999858, 0, 0, 0, 0.94884, 0.315632, 0, -0.315637, 0.948825, -2.53871, 2, 9.76232)
top_level = true top_level = true
script = ExtResource("2_y3dy8") script = ExtResource("4_iy6qn")
priority = 10 priority = 10
follow_mode = 2 follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("4_a27nb") tween_resource = ExtResource("5_0ku52")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_jtk1d") camera_3d_resource = SubResource("Resource_jtk1d")
follow_offset = Vector3(0, 1.5, 2.5) follow_offset = Vector3(0, 1.5, 2.5)
follow_damping = true follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="NPCGroup" type="Node" parent="."] [node name="NPCGroup" type="Node" parent="."]
[node name="NPCPhantomCamera3D" type="Node3D" parent="NPCGroup"] [node name="NPCPhantomCamera3D" type="Node3D" parent="NPCGroup"]
unique_name_in_owner = true 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) 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") script = ExtResource("4_iy6qn")
tween_resource = ExtResource("4_a27nb") tween_resource = ExtResource("5_0ku52")
camera_3d_resource = SubResource("Resource_o161n") camera_3d_resource = SubResource("Resource_o161n")
[node name="NPCDescriptionLabel" type="Label3D" parent="NPCGroup"] [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) transform = Transform3D(1, 0, 0, 0, 0.866026, 0.5, 0, -0.5, 0.866025, -3.04693, 0.367287, 0.953757)
text = "Input Example" text = "Input Example"
font = ExtResource("2_e7gxt") font = ExtResource("3_an0dt")
[node name="NPCDialogueExampleLabel" type="Label3D" parent="NPCGroup"] [node name="NPCDialogueExampleLabel" type="Label3D" parent="NPCGroup"]
unique_name_in_owner = true 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) 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) modulate = Color(1, 0.603922, 0.254902, 1)
text = "Press [ F ] to change camera" text = "Press [ F ] to change camera"
font = ExtResource("2_e7gxt") font = ExtResource("3_an0dt")
[node name="NPCInteractionZoneMesh" type="MeshInstance3D" parent="NPCGroup"] [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) 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"] [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) 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"] [node name="PlayerCollisionShape3D2" type="CollisionShape3D" parent="NPCGroup/NPC"]
transform = Transform3D(1, -2.68591e-26, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 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) 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 text = "Fixed Camera
Example" Example"
font = ExtResource("2_e7gxt") font = ExtResource("3_an0dt")
[node name="NorthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] [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) 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") tween_resource = SubResource("Resource_tpvee")
camera_3d_resource = SubResource("Resource_bxbnv") camera_3d_resource = SubResource("Resource_bxbnv")
[node name="NorthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, -0.9)
priority = 5 priority = 5
script = ExtResource("4_moad5") script = ExtResource("9_hqgwi")
area_pcam = NodePath("../NorthRoomPhantomCamera3D") area_pcam = NodePath("../NorthRoomPhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -276,14 +223,14 @@ shape = SubResource("BoxShape3D_wcrbb")
[node name="EntryRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] [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) 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") tween_resource = SubResource("Resource_7ih0k")
camera_3d_resource = SubResource("Resource_4iyps") camera_3d_resource = SubResource("Resource_4iyps")
[node name="EntryRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.00003, -0.454982, 3.00572)
priority = 5 priority = 5
script = ExtResource("4_moad5") script = ExtResource("9_hqgwi")
area_pcam = NodePath("../EntryRoomPhantomCamera3D") area_pcam = NodePath("../EntryRoomPhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -293,14 +240,14 @@ shape = SubResource("BoxShape3D_ctyr8")
[node name="SouthRoomPhantomCamera3D" type="Node3D" parent="FixedCameraTriggerZone"] [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) 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") tween_resource = SubResource("Resource_x5y0u")
camera_3d_resource = SubResource("Resource_pgiyx") camera_3d_resource = SubResource("Resource_pgiyx")
[node name="SouthRoomTrigger" type="Area3D" parent="FixedCameraTriggerZone" node_paths=PackedStringArray("area_pcam")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3, -0.45, 6.7)
priority = 5 priority = 5
script = ExtResource("4_moad5") script = ExtResource("9_hqgwi")
area_pcam = NodePath("../SouthRoomPhantomCamera3D") area_pcam = NodePath("../SouthRoomPhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -327,7 +274,7 @@ metadata/_edit_lock_ = true
[node name="Environment" type="Node3D" parent="Environment"] [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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.50541, 1.19209e-07)
operation = 2 operation = 2
mesh = SubResource("BoxMesh_242ij") 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://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_g1bv4"] [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_420vh"] [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_oqbub"] [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://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_t4fso"] [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="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://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_i060b"]
[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="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"] [sub_resource type="Resource" id="Resource_wg1pr"]
script = ExtResource("4_oqbub") 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"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_c0upu") albedo_texture = ExtResource("7_iyghi")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -30,12 +20,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_7824u") script = ExtResource("1_6uslv")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("2_g1bv4") script = ExtResource("2_5cpe8")
follow_mode = 5 follow_mode = 5
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("3_420vh") tween_resource = ExtResource("3_422w7")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_wg1pr") camera_3d_resource = SubResource("Resource_wg1pr")
follow_damping = true follow_damping = true
follow_distance = 4.0 follow_distance = 4.0
dead_zone_width = 0.161 dead_zone_width = 0.139
dead_zone_height = 0.386 dead_zone_height = 0.14
show_viewfinder_in_play = true show_viewfinder_in_play = true
spring_length = 4.0 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="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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 8.38147, 0.0440434, 8.36617)
use_collision = true use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285) 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://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_q1ygp"] [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_hpix1"] [ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_ganw1"]
[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_kig2n"]
[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://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://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vqgn5"] [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="5_wr3bq"] [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"] [sub_resource type="Resource" id="Resource_ucp3e"]
script = ExtResource("3_hpix1") script = ExtResource("3_ganw1")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ab013"] [sub_resource type="Resource" id="Resource_ab013"]
script = ExtResource("4_evdoo") 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="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) albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_wr3bq") albedo_texture = ExtResource("7_i1dbs")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -44,12 +31,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_pmeux") script = ExtResource("1_7a3wq")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) 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 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) transform = Transform3D(0.999954, 0, 0, 0, 0.638683, 0.769345, 0, -0.769298, 0.638723, 0, 6.39, 7)
top_level = true top_level = true
script = ExtResource("2_q1ygp") script = ExtResource("2_158c0")
priority = 5 priority = 5
follow_mode = 1 follow_mode = 1
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_ucp3e") tween_resource = SubResource("Resource_ucp3e")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_ab013") camera_3d_resource = SubResource("Resource_ab013")
follow_damping = true follow_damping = true
follow_damping_value = Vector3(0.3, 0.3, 0.3) 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6.39, 7)
enable_gravity = false enable_gravity = false
@ -94,7 +84,7 @@ surface_material_override/0 = SubResource("StandardMaterial3D_cw102")
[node name="Environment" type="Node" parent="."] [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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_3iw7y"]
[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://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="2_m6p13"]
[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="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="3_1eb12"] [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="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://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_i3ale"]
[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="PackedScene" uid="uid://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_5hq8j"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_70gws"] [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"] [sub_resource type="Resource" id="Resource_1iman"]
script = ExtResource("5_70gws") 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="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) albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("3_a5igg") albedo_texture = ExtResource("7_7lab4")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -38,12 +28,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("3_wr1tj") script = ExtResource("1_3iw7y")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) 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="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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_targets")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("2_pi7mp") script = ExtResource("3_65wck")
priority = 5 priority = 5
follow_mode = 3 follow_mode = 3
follow_targets = [NodePath("../PlayerCharacterBody3D2"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")] follow_targets = [NodePath("../PlayerCharacterBody3D"), NodePath("../../NPCs/PlayerMeshInstance3D"), NodePath("../../NPCs/PlayerMeshInstance3D2")]
tween_resource = ExtResource("3_1eb12") tween_resource = ExtResource("4_b0eay")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_1iman") camera_3d_resource = SubResource("Resource_1iman")
follow_damping = true follow_damping = true
@ -71,6 +63,8 @@ auto_follow_distance_min = 5.0
auto_follow_distance_max = 15.0 auto_follow_distance_max = 15.0
auto_follow_distance_divisor = 20.0 auto_follow_distance_divisor = 20.0
spring_length = 5.0 spring_length = 5.0
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="NPCs" type="Node" parent="."] [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="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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18.1236, 1.78638, -1.60318)
use_collision = true use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285) 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://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="3_bd7x3"] [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_od2r4"] [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="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_akuuo"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_hni7n"] [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="4_lfwkm"] [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="5_vdqkm"] [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://bulsh7s0ibmao" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="5_vms5c"] [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="6_obo83"] [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"] [sub_resource type="Resource" id="Resource_ofv2c"]
script = ExtResource("4_hni7n") 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"] [sub_resource type="Resource" id="Resource_01tho"]
script = ExtResource("4_lfwkm") script = ExtResource("6_mkxip")
duration = 1.2 duration = 1.2
transition = 3 transition = 3
ease = 2
[sub_resource type="Resource" id="Resource_syh5m"] [sub_resource type="Resource" id="Resource_syh5m"]
script = ExtResource("4_hni7n") 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"] [sub_resource type="Curve3D" id="Curve3D_b33df"]
_data = { _data = {
@ -60,17 +39,7 @@ transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961) albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_xci4c"] [sub_resource type="Resource" id="Resource_xci4c"]
script = ExtResource("4_hni7n") 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"] [sub_resource type="Curve3D" id="Curve3D_8uw2x"]
_data = { _data = {
@ -97,12 +66,13 @@ albedo_color = Color(0.568403, 0.988235, 0.762724, 0.0901961)
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_lm5n8") script = ExtResource("1_p8ccw")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("3_bd7x3") script = ExtResource("2_8itog")
priority = 10 priority = 10
follow_mode = 2 follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("3_od2r4") tween_resource = ExtResource("3_xqpq0")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_ofv2c") camera_3d_resource = SubResource("Resource_ofv2c")
follow_offset = Vector3(0, 2, 1.5) follow_offset = Vector3(0, 2, 1.5)
follow_damping = true follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerCharacterBody3D2" parent="." instance=ExtResource("5_vms5c")] [node name="PlayerCharacterBody3D" parent="." instance=ExtResource("5_0nadx")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.507, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
[node name="Paths" type="Node" parent="."] [node name="Paths" type="Node" parent="."]
[node name="PathPhantomCamera3D" type="Node3D" parent="Paths" node_paths=PackedStringArray("follow_target", "follow_path")] [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) 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 top_level = true
script = ExtResource("3_bd7x3") script = ExtResource("2_8itog")
priority = 2 priority = 2
follow_mode = 4 follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual") follow_target = NodePath("../../PlayerCharacterBody3D")
follow_path = NodePath("../FollowPath") follow_path = NodePath("../FollowPath")
tween_resource = SubResource("Resource_01tho") tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_syh5m") camera_3d_resource = SubResource("Resource_syh5m")
follow_damping = true follow_damping = true
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="FollowPath" type="Path3D" parent="Paths"] [node name="FollowPath" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.31028, 7.9199, -1.60976) 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")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, -0.45, -6.73666)
priority = 5 priority = 5
script = ExtResource("5_vdqkm") script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D") path_pcam = NodePath("../PathPhantomCamera3D")
metadata/_edit_group_ = true 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")] [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) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 7.9199, -13.4572)
top_level = true top_level = true
visible = false script = ExtResource("2_8itog")
script = ExtResource("3_bd7x3")
priority = 2 priority = 2
follow_mode = 4 follow_mode = 4
follow_target = NodePath("../../PlayerCharacterBody3D2/PlayerVisual") follow_target = NodePath("../../PlayerCharacterBody3D")
follow_path = NodePath("../FollowPath2") follow_path = NodePath("../FollowPath2")
tween_resource = SubResource("Resource_01tho") tween_resource = SubResource("Resource_01tho")
camera_3d_resource = SubResource("Resource_xci4c") camera_3d_resource = SubResource("Resource_xci4c")
follow_damping = true follow_damping = true
follow_damping_value = Vector3(0.6, 0.1, 0.1) 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"] [node name="FollowPath2" type="Path3D" parent="Paths"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.97141, 7.9199, -13.4572) 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")] [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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0420399, 0, -13.7367)
priority = 5 priority = 5
script = ExtResource("5_vdqkm") script = ExtResource("7_g1m51")
path_pcam = NodePath("../PathPhantomCamera3D2") path_pcam = NodePath("../PathPhantomCamera3D2")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -196,49 +171,47 @@ metadata/_edit_group_ = true
[node name="Environment" type="Node" parent="."] [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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) 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) 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) 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) 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) transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, -0.766667, 1, -13)
mesh = SubResource("BoxMesh_7l3dh") 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) transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, -1.01667, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok") 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) transform = Transform3D(0.166667, 0, 0, 0, 3, 0, 0, 0, 6, 1.15, 1, -15.5)
mesh = SubResource("BoxMesh_as6ok") 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) transform = Transform3D(0.333333, 0, 0, 0, 3, 0, 0, 0, 1, 0.9, 1, -13)
mesh = SubResource("BoxMesh_7l3dh") mesh = SubResource("BoxMesh_7l3dh")
[node name="NPCDescriptionLabel" type="Label3D" parent="Environment"] [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) 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" text = "Camera follows player while confined to a Path3D"
font = ExtResource("6_obo83") font = ExtResource("9_rk5lh")
font_size = 64 font_size = 64
[node name="MovementInstructionsLabel" type="Label3D" parent="Environment"] [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) 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) modulate = Color(0.294118, 1, 0.631373, 1)
text = "[WASD] to move" text = "[WASD] to move"
font = ExtResource("6_obo83") font = ExtResource("9_rk5lh")
font_size = 48 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://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_grjck"] [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_j3f4l"] [ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_hldrt"]
[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_pqibl"]
[ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_sielv"] [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="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://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="6_m6ich"]
[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="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"] [sub_resource type="Resource" id="Resource_28vpp"]
script = ExtResource("3_j3f4l") script = ExtResource("3_hldrt")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_axopo"] [sub_resource type="Resource" id="Resource_axopo"]
script = ExtResource("4_sielv") 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"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_1tybo") albedo_texture = ExtResource("7_pagh0")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -36,12 +23,13 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_3tok8") script = ExtResource("1_gt67h")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="Player" node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("2_grjck") script = ExtResource("2_4ltlo")
priority = 10 priority = 10
follow_mode = 2 follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_28vpp") tween_resource = SubResource("Resource_28vpp")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_axopo") camera_3d_resource = SubResource("Resource_axopo")
follow_offset = Vector3(0, 2, 2) follow_offset = Vector3(0, 2, 2)
follow_damping = true 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 unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.2122, 0.5, 8.40162) 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="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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.04727, 0.0440434, 8.36617)
use_collision = true use_collision = true
size = Vector3(4.57784, 1.08809, 3.11285) 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://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://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="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="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="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="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"] [sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("3_l7kg8") 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"] [sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_i42vj"]
dof_blur_far_enabled = true dof_blur_far_enabled = true
@ -43,16 +33,7 @@ ease = 1
[sub_resource type="Resource" id="Resource_jogxh"] [sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("3_l7kg8") script = ExtResource("3_l7kg8")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.0 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"] [sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_fvhx5"]
dof_blur_far_enabled = true dof_blur_far_enabled = true
@ -78,16 +59,6 @@ ease = 1
[sub_resource type="Resource" id="Resource_unpfd"] [sub_resource type="Resource" id="Resource_unpfd"]
script = ExtResource("3_l7kg8") 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"] [sub_resource type="CylinderMesh" id="CylinderMesh_sm466"]
top_radius = 1.51 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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") script = ExtResource("1_s26cy")
priority = 10 priority = 10
follow_mode = 6 follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct") tween_resource = SubResource("Resource_8fhct")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv") camera_3d_resource = SubResource("Resource_7m0fv")
@ -115,13 +86,16 @@ attributes = SubResource("CameraAttributesPractical_i42vj")
follow_damping = true follow_damping = true
follow_distance = 3.5 follow_distance = 3.5
spring_length = 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")] [node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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") script = ExtResource("1_s26cy")
follow_mode = 6 follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18") tween_resource = SubResource("Resource_e7t18")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh") 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_damping_value = Vector3(0, 0, 0)
follow_distance = 1.5 follow_distance = 1.5
spring_length = 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")] [node name="PlayerCharacterBody3D" parent="." instance=ExtResource("4_qcyfd")]
unique_name_in_owner = true 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="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
physics_interpolation_mode = 1 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") attributes = SubResource("CameraAttributesPractical_pst8q")
[node name="PhantomCameraHost" type="Node" parent="MainCamera3D"] [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) 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") mesh = SubResource("CylinderMesh_sm466")
surface_material_override/0 = SubResource("StandardMaterial3D_hp48l") 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://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"] [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://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="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="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"] [sub_resource type="Resource" id="Resource_8fhct"]
script = ExtResource("2_47xf2") script = ExtResource("2_47xf2")
@ -16,35 +16,16 @@ ease = 1
[sub_resource type="Resource" id="Resource_7m0fv"] [sub_resource type="Resource" id="Resource_7m0fv"]
script = ExtResource("5_jt2lp") 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"] [sub_resource type="Resource" id="Resource_e7t18"]
script = ExtResource("2_47xf2") script = ExtResource("2_47xf2")
duration = 0.4 duration = 0.3
transition = 2 transition = 2
ease = 1 ease = 1
[sub_resource type="Resource" id="Resource_jogxh"] [sub_resource type="Resource" id="Resource_jogxh"]
script = ExtResource("5_jt2lp") script = ExtResource("5_jt2lp")
keep_aspect = 1
cull_mask = 1048575
h_offset = 1.0 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"] [sub_resource type="BoxMesh" id="BoxMesh_wsigl"]
size = Vector3(1, 10, 20) size = Vector3(1, 10, 20)
@ -60,30 +41,20 @@ ease = 1
[sub_resource type="Resource" id="Resource_ioijp"] [sub_resource type="Resource" id="Resource_ioijp"]
script = ExtResource("5_jt2lp") 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="Root" type="Node3D"]
[node name="PlayerCharacterBody3D" parent="." instance=ExtResource("7_kut0u")] [node name="PlayerCharacterBody3D" parent="." instance=ExtResource("7_kut0u")]
unique_name_in_owner = true 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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") script = ExtResource("2_whx47")
priority = 10 priority = 10
follow_mode = 6 follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_8fhct") tween_resource = SubResource("Resource_8fhct")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_7m0fv") camera_3d_resource = SubResource("Resource_7m0fv")
@ -91,24 +62,30 @@ follow_damping = true
follow_distance = 3.5 follow_distance = 3.5
vertical_rotation_offset = 0.523599 vertical_rotation_offset = 0.523599
spring_length = 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")] [node name="PlayerAimPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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") script = ExtResource("2_whx47")
follow_mode = 6 follow_mode = 6
follow_target = NodePath("../PlayerCharacterBody3D/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_e7t18") tween_resource = SubResource("Resource_e7t18")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_jogxh") 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 follow_distance = 1.5
spring_length = 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="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true unique_name_in_owner = true
physics_interpolation_mode = 1 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
@ -187,5 +164,3 @@ modulate = Color(0.294118, 1, 0.631373, 1)
text = "[Space] to toggle PCam" text = "[Space] to toggle PCam"
font = ExtResource("7_kg7u1") font = ExtResource("7_kg7u1")
font_size = 48 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_jbmnd"]
[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_t3gk2"]
[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_b2lea"]
[ext_resource type="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="3_dqss1"] [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://cixlwqycoox8h" path="res://addons/phantom_camera/examples/models/3d_cube_dark.tscn" id="4_2i811"] [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="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="4_m3qpq"] [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="5_u5qhp"] [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"] [sub_resource type="Resource" id="Resource_pwcgo"]
script = ExtResource("3_dqss1") script = ExtResource("3_b2lea")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ft2w3"] [sub_resource type="Resource" id="Resource_ft2w3"]
script = ExtResource("4_m3qpq") 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="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) albedo_color = Color(0.227451, 0.337255, 0.576471, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_auy8m"]
albedo_texture = ExtResource("5_u5qhp") albedo_texture = ExtResource("7_0dyt0")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -44,29 +31,33 @@ uv1_world_triplanar = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_lldvu") script = ExtResource("1_jbmnd")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0) transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true metadata/_edit_lock_ = true
[node name="PhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("look_at_target")] [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) 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_8md3q") script = ExtResource("2_t3gk2")
priority = 10 priority = 10
look_at_mode = 2 look_at_mode = 2
look_at_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") look_at_target = NodePath("../PlayerCharacterBody3D")
tween_resource = SubResource("Resource_pwcgo") tween_resource = SubResource("Resource_pwcgo")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_ft2w3") camera_3d_resource = SubResource("Resource_ft2w3")
look_at_damping = true 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="."] [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="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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30.7692, 1.78638, -1.60318)
use_collision = true use_collision = true
size = Vector3(4.57784, 4.57276, 3.11285) 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://bd046eokvcnu2" path="res://addons/phantom_camera/scripts/phantom_camera_host/phantom_camera_host.gd" id="1_25rmy"]
[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://x5g7kf5k2mac" path="res://addons/phantom_camera/examples/scripts/3D/player_controller_first_person.gd" id="2_7nd2u"]
[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://cuffvge5ad4aa" path="res://addons/phantom_camera/scripts/resources/phantom_camera_noise_3d.gd" id="3_t4fhv"]
[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://csjccrhj5wnx7" path="res://addons/phantom_camera/scripts/phantom_camera/phantom_camera_3d.gd" id="4_tnm2f"]
[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="Script" uid="uid://8umksf8e80fw" path="res://addons/phantom_camera/scripts/resources/tween_resource.gd" id="5_4webr"]
[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://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="6_dmm4a"]
[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="7_2vtho"]
[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="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="6_vpla5"] [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_0thai"] [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_i8r8q"] [ext_resource type="FontFile" uid="uid://c4mm3of2mc8o5" path="res://addons/phantom_camera/fonts/Nunito-Black.ttf" id="11_vp57v"]
[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
[sub_resource type="CapsuleMesh" id="CapsuleMesh_yvgu3"] [sub_resource type="CapsuleMesh" id="CapsuleMesh_yvgu3"]
@ -36,56 +21,29 @@ albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
radius = 0.269454 radius = 0.269454
[sub_resource type="Resource" id="Resource_lhgur"] [sub_resource type="Resource" id="Resource_lhgur"]
script = ExtResource("3_f8fcw") script = ExtResource("5_4webr")
duration = 1.0
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_ghjuj"] [sub_resource type="Resource" id="Resource_ghjuj"]
script = ExtResource("4_mjtut") 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"] [sub_resource type="Resource" id="Resource_2l4w0"]
script = ExtResource("4_poyyk") script = ExtResource("3_t4fhv")
amplitude = 40.0 amplitude = 40.0
frequency = 0.2
randomize_noise_seed = 0 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 rotational_multiplier_z = 0.0
positional_multiplier_x = 0.1 positional_multiplier_x = 0.1
positional_multiplier_y = 0.1 positional_multiplier_y = 0.1
positional_multiplier_z = 0.1 positional_multiplier_z = 0.1
[sub_resource type="Resource" id="Resource_6tnhy"] [sub_resource type="Resource" id="Resource_6tnhy"]
script = ExtResource("4_poyyk") script = ExtResource("3_t4fhv")
amplitude = 10.0 frequency = 20.0
frequency = 4.2
randomize_noise_seed = 0 randomize_noise_seed = 0
noise_seed = 928 noise_seed = 928
rotational_noise = true
positional_noise = false
rotational_multiplier_x = 1.0
rotational_multiplier_y = 1.0
rotational_multiplier_z = 0.1 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"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qi01t"]
albedo_texture = ExtResource("6_vpla5") albedo_texture = ExtResource("9_jpkpr")
uv1_triplanar = true uv1_triplanar = true
uv1_world_triplanar = true uv1_world_triplanar = true
@ -101,22 +59,22 @@ expand_margin_bottom = 6.0
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("1_ggfbg") script = ExtResource("1_25rmy")
[node name="PlayerCharacterBody3D" type="CharacterBody3D" parent="."] [node name="PlayerCharacterBody3D" type="CharacterBody3D" parent="."]
unique_name_in_owner = true 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) transform = Transform3D(0.999897, 0.0143636, 0, -0.0143636, 0.999897, 0, 0, 0, 1, -16.46, 0.5, 4.249)
script = ExtResource("6_fbad7") script = ExtResource("2_7nd2u")
run_noise = SubResource("Resource_t3bgw")
[node name="PlayerVisual" type="MeshInstance3D" parent="PlayerCharacterBody3D"] [node name="PlayerVisual" type="MeshInstance3D" parent="PlayerCharacterBody3D"]
unique_name_in_owner = true 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") mesh = SubResource("CapsuleMesh_yvgu3")
surface_material_override/0 = SubResource("StandardMaterial3D_vc6km") 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")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("2_dreow") script = ExtResource("4_tnm2f")
priority = 10 priority = 10
follow_mode = 2 follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D") follow_target = NodePath("../PlayerCharacterBody3D")
@ -141,18 +99,20 @@ tween_on_load = false
camera_3d_resource = SubResource("Resource_ghjuj") camera_3d_resource = SubResource("Resource_ghjuj")
noise = SubResource("Resource_2l4w0") noise = SubResource("Resource_2l4w0")
noise_emitter_layer = 1 noise_emitter_layer = 1
align_transform_with_view = Callable()
align_position_with_view = Callable()
[node name="PlayerPhantomCameraNoiseEmitter3D" type="Node3D" parent="."] [node name="PlayerPhantomCameraNoiseEmitter3D" type="Node3D" parent="."]
unique_name_in_owner = true 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) 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") noise = SubResource("Resource_6tnhy")
duration = 0.1 duration = 0.1
decay_time = 0.1 decay_time = 0.1
[node name="Environment" type="Node" parent="."] [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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true metadata/_edit_lock_ = true
@ -201,8 +161,8 @@ anchor_bottom = 0.5
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
size_flags_vertical = 8 size_flags_vertical = 8
theme_override_fonts/normal_font = ExtResource("10_0thai") theme_override_fonts/normal_font = ExtResource("10_8pr3k")
theme_override_fonts/bold_font = ExtResource("11_i8r8q") theme_override_fonts/bold_font = ExtResource("11_vp57v")
theme_override_font_sizes/normal_font_size = 18 theme_override_font_sizes/normal_font_size = 18
theme_override_font_sizes/bold_font_size = 24 theme_override_font_sizes/bold_font_size = 24
bbcode_enabled = true 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="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_b2yrt"] [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_m2w30"] [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_425ma"] [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_cn3g7"] [ext_resource type="Script" uid="uid://b8hhnqsugykly" path="res://addons/phantom_camera/scripts/resources/camera_3d_resource.gd" id="5_1sgnu"]
[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://cb83in8f0tbb1" path="res://addons/phantom_camera/examples/example_scenes/3D/sub_scenes/playable_character_3d.tscn" id="6_lr46m"]
[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://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="6_wup4d"] [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="8_60rny"] [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"] [sub_resource type="Resource" id="Resource_0dtvs"]
script = ExtResource("5_cn3g7") 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"] [sub_resource type="BoxShape3D" id="BoxShape3D_j6fha"]
size = Vector3(5, 0.1, 4) size = Vector3(5, 0.1, 4)
@ -34,80 +24,35 @@ transparency = 1
albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961) albedo_color = Color(0.988235, 0.478431, 0.905882, 0.0901961)
[sub_resource type="Resource" id="Resource_v8ndi"] [sub_resource type="Resource" id="Resource_v8ndi"]
script = ExtResource("6_wup4d") script = ExtResource("8_qepee")
duration = 0.6 duration = 0.6
transition = 0
ease = 2
[sub_resource type="Resource" id="Resource_kmep1"] [sub_resource type="Resource" id="Resource_kmep1"]
script = ExtResource("5_cn3g7") 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"] [sub_resource type="Resource" id="Resource_uxg44"]
script = ExtResource("6_wup4d") script = ExtResource("8_qepee")
duration = 0.3 duration = 0.3
transition = 1 transition = 1
ease = 2
[sub_resource type="Resource" id="Resource_eu3bc"] [sub_resource type="Resource" id="Resource_eu3bc"]
script = ExtResource("5_cn3g7") 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"] [sub_resource type="Resource" id="Resource_0nci0"]
script = ExtResource("6_wup4d") script = ExtResource("8_qepee")
duration = 0.3 duration = 0.3
transition = 8 transition = 8
ease = 2
[sub_resource type="Resource" id="Resource_u0lff"] [sub_resource type="Resource" id="Resource_u0lff"]
script = ExtResource("5_cn3g7") 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"] [sub_resource type="Resource" id="Resource_50m5g"]
script = ExtResource("6_wup4d") script = ExtResource("8_qepee")
duration = 1.2 duration = 1.2
transition = 10 transition = 10
ease = 2
[sub_resource type="Resource" id="Resource_rexf8"] [sub_resource type="Resource" id="Resource_rexf8"]
script = ExtResource("5_cn3g7") 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="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) transform = Transform3D(1, 0, 0, 0, 0.707107, 0.707107, 0, -0.707107, 0.707107, 0, 8, 0)
metadata/_edit_lock_ = true 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) transform = Transform3D(1000, 0, 0, 0, 1, 0, 0, 0, 1000, 0, -1, 0)
metadata/_edit_lock_ = true metadata/_edit_lock_ = true
[node name="MainCamera3D" type="Camera3D" parent="."] [node name="MainCamera3D" type="Camera3D" parent="."]
unique_name_in_owner = true 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"] [node name="PhantomCameraHost" type="Node" parent="MainCamera3D"]
process_priority = 300 process_priority = 300
process_physics_priority = 300 process_physics_priority = 300
script = ExtResource("2_b2yrt") script = ExtResource("2_d1opf")
[node name="------------------" type="Node" parent="."] [node name="------------------" type="Node" parent="."]
[node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")] [node name="PlayerPhantomCamera3D" type="Node3D" parent="." node_paths=PackedStringArray("follow_target")]
unique_name_in_owner = true 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 top_level = true
script = ExtResource("3_m2w30") script = ExtResource("3_4whss")
priority = 3 priority = 3
follow_mode = 2 follow_mode = 2
follow_target = NodePath("../PlayerCharacterBody3D2/PlayerVisual") follow_target = NodePath("../PlayerCharacterBody3D")
tween_resource = ExtResource("4_425ma") tween_resource = ExtResource("4_8ap1e")
tween_on_load = false tween_on_load = false
camera_3d_resource = SubResource("Resource_0dtvs") camera_3d_resource = SubResource("Resource_0dtvs")
follow_offset = Vector3(0, 2, 2) follow_offset = Vector3(0, 2, 2)
follow_damping = true 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="."] [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")] [node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Linear" node_paths=PackedStringArray("area_pcam")]
priority = 5 priority = 5
script = ExtResource("5_h0ouh") script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D") area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -172,7 +121,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Linear"] [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) 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") tween_resource = SubResource("Resource_v8ndi")
camera_3d_resource = SubResource("Resource_kmep1") camera_3d_resource = SubResource("Resource_kmep1")
@ -183,7 +132,7 @@ Linear
Duration: Duration:
0.6s" 0.6s"
font = ExtResource("8_60rny") font = ExtResource("9_ptb3h")
font_size = 48 font_size = 48
[node name="Sine" type="Node3D" parent="Tweening Example"] [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")] [node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Sine" node_paths=PackedStringArray("area_pcam")]
priority = 5 priority = 5
script = ExtResource("5_h0ouh") script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D") area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -206,7 +155,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Sine"] [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) 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") tween_resource = SubResource("Resource_uxg44")
camera_3d_resource = SubResource("Resource_eu3bc") camera_3d_resource = SubResource("Resource_eu3bc")
@ -217,7 +166,7 @@ Sine
Duration: Duration:
0.3s" 0.3s"
font = ExtResource("8_60rny") font = ExtResource("9_ptb3h")
font_size = 72 font_size = 72
[node name="Circ" type="Node3D" parent="Tweening Example"] [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")] [node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Circ" node_paths=PackedStringArray("area_pcam")]
priority = 5 priority = 5
script = ExtResource("5_h0ouh") script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D") area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -240,7 +189,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Circ"] [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) 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") tween_resource = SubResource("Resource_0nci0")
camera_3d_resource = SubResource("Resource_u0lff") camera_3d_resource = SubResource("Resource_u0lff")
@ -251,7 +200,7 @@ Circ
Duration: Duration:
0.3s" 0.3s"
font = ExtResource("8_60rny") font = ExtResource("9_ptb3h")
font_size = 72 font_size = 72
[node name="Back" type="Node3D" parent="Tweening Example"] [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")] [node name="EntryRoomTrigger" type="Area3D" parent="Tweening Example/Back" node_paths=PackedStringArray("area_pcam")]
priority = 5 priority = 5
script = ExtResource("5_h0ouh") script = ExtResource("7_istoq")
area_pcam = NodePath("../PhantomCamera3D") area_pcam = NodePath("../PhantomCamera3D")
metadata/_edit_group_ = true metadata/_edit_group_ = true
@ -274,7 +223,7 @@ metadata/_edit_group_ = true
[node name="PhantomCamera3D" type="Node3D" parent="Tweening Example/Back"] [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) 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") tween_resource = SubResource("Resource_50m5g")
camera_3d_resource = SubResource("Resource_rexf8") camera_3d_resource = SubResource("Resource_rexf8")
@ -285,7 +234,5 @@ Back
Duration: Duration:
1.2s" 1.2s"
font = ExtResource("8_60rny") font = ExtResource("9_ptb3h")
font_size = 48 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"] [sub_resource type="CapsuleShape3D" id="CapsuleShape3D_8efyg"]
@ -9,8 +9,8 @@
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r3ldp"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_r3ldp"]
albedo_color = Color(0.988235, 0.498039, 0.498039, 1) albedo_color = Color(0.988235, 0.498039, 0.498039, 1)
[node name="PlayerCharacterBody3D2" type="CharacterBody3D"] [node name="PlayerCharacterBody3D" type="CharacterBody3D"]
script = ExtResource("1_6hh6c") script = ExtResource("1_pl87s")
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."] [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"] [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) size = Vector3(0.5, 0.5, 0.3)
[node name="PlayerCharacterBody3D" type="CharacterBody3D"] [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 collision_layer = 2
script = ExtResource("1_0dnfe") script = ExtResource("1_skas8")
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="PlayerArea3D" type="Area3D" parent="."] [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: 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 if body.is_class("TileMapLayer"): # TODO - Using string reference to support Godot 4.2
var tile_map := body 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 tile_coords: Vector2i = tile_map.get_coords_for_body_rid(body_rid)
var cell_data: TileData = tile_map.get_cell_tile_data(tile_coords) 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 @export var path_pcam: PhantomCamera3D
func _ready() -> void: func _ready() -> void:
connect("area_entered", _entered_area) area_shape_entered.connect(_area_shape_entered)
connect("area_exited", _exited_area) area_shape_exited.connect(_area_shape_exited)
func _entered_area(area_3D: Area3D) -> void: func _area_shape_entered(area_rid: RID, area: Area3D, area_shape_index: int, local_shape_index: int) -> void:
if area_3D.get_parent() is CharacterBody3D:
path_pcam.set_priority(20) path_pcam.set_priority(20)
func _area_shape_exited(area_rid: RID, area: Area3D, area_shape_index: int, local_shape_index: int) -> void:
func _exited_area(area_3D: Area3D) -> void:
if area_3D.get_parent() is CharacterBody3D:
path_pcam.set_priority(0) path_pcam.set_priority(0)

View File

@ -6,16 +6,11 @@ extends CharacterBody3D
@onready var _camera: Camera3D @onready var _camera: Camera3D
@onready var _player_visual: Node3D = %PlayerVisual
# Get the gravity from the project settings to be synced with RigidBody nodes. # Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity: float = 9.8 var gravity: float = 9.8
var movement_enabled: bool = true var movement_enabled: bool = true
var _physics_body_trans_last: Transform3D
var _physics_body_trans_current: Transform3D
const KEY_STRINGNAME: StringName = "Key" const KEY_STRINGNAME: StringName = "Key"
const ACTION_STRINGNAME: StringName = "Action" const ACTION_STRINGNAME: StringName = "Action"
@ -56,13 +51,8 @@ func _ready() -> void:
InputMap.add_action(action_val) InputMap.add_action(action_val)
InputMap.action_add_event(action_val, movement_input) InputMap.action_add_event(action_val, movement_input)
_player_visual.top_level = true
func _physics_process(delta: float) -> void: func _physics_process(delta: float) -> void:
_physics_body_trans_last = _physics_body_trans_current
_physics_body_trans_current = global_transform
# Add the gravity. # Add the gravity.
if enable_gravity and not is_on_floor(): if enable_gravity and not is_on_floor():
velocity.y -= gravity * delta velocity.y -= gravity * delta
@ -78,8 +68,6 @@ func _physics_process(delta: float) -> void:
INPUT_MOVE_DOWM_STRINGNAME 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() var direction: Vector3 = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction: if direction:
var move_dir: Vector3 = Vector3.ZERO var move_dir: Vector3 = Vector3.ZERO
@ -94,10 +82,3 @@ func _physics_process(delta: float) -> void:
velocity.z = move_toward(velocity.z, 0, SPEED) velocity.z = move_toward(velocity.z, 0, SPEED)
move_and_slide() 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 @export var max_yaw: float = 360
func _ready() -> void: func _ready() -> void:
super() 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" name="Phantom Camera"
description="Control the movement and dynamically tween 2D & 3D cameras positions. Built for Godot 4. Inspired by Cinemachine." description="Control the movement and dynamically tween 2D & 3D cameras positions. Built for Godot 4. Inspired by Cinemachine."
author="Marcus Skov" author="Marcus Skov"
version="0.9.4" version="0.9.4.1"
script="plugin.gd" script="plugin.gd"

View File

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

View File

@ -410,22 +410,22 @@ var _should_rotate_with_target: bool = false
set = set_limit_bottom, set = set_limit_bottom,
get = get_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, ## automatically apply a limit size instead of manually adjusting the Left,
## Top, Right and Left properties.[br][br] ## Top, Right and Left properties.[br][br]
## [b]TileMap / TileMapLayer[/b][br] ## [b]TileMapLayer[/b][br]
## The Limit will update after the [TileSet] of the [TileMap] / [TileMapLayer] has changed.[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 ## [b]Note:[/b] The limit size will only update after closing the TileMap editor
## bottom panel. ## bottom panel.
## [br][br] ## [br][br]
## [b]CollisionShape2D[/b][br] ## [b]CollisionShape2D[/b][br]
## The limit will update in realtime as the Shape2D changes its size. ## 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. ## 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, set = set_limit_target,
get = get_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] ## The values goes from [param Left], [param Top], [param Right]
## and [param Bottom]. ## and [param Bottom].
@export var limit_margin: Vector4i = Vector4.ZERO: @export var limit_margin: Vector4i = Vector4.ZERO:
@ -549,8 +549,7 @@ func _validate_property(property: Dictionary) -> void:
property.usage = PROPERTY_USAGE_NO_EDITOR property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_offset": if property.name == "follow_offset":
if follow_mode == FollowMode.PATH or \ if follow_mode == FollowMode.GLUED:
follow_mode == FollowMode.GLUED:
property.usage = PROPERTY_USAGE_NO_EDITOR property.usage = PROPERTY_USAGE_NO_EDITOR
if property.name == "follow_damping_value" and not follow_damping: 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.y = limit_top
_limit_sides.z = limit_right _limit_sides.z = limit_right
_limit_sides.w = limit_bottom _limit_sides.w = limit_bottom
elif _limit_node is TileMap or _limit_node.is_class("TileMapLayer"): elif _limit_node is TileMapLayer:
var tile_map := _limit_node 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 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 # Waits for PCam2d's _ready() before trying to validate limit_node_path
if not is_node_ready(): await ready 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)): if is_instance_valid(get_node_or_null(value)):
var prev_limit_node: Node2D = _limit_node var prev_limit_node: Node2D = _limit_node
var new_limit_node: Node2D = get_node(value) var new_limit_node: Node2D = get_node(value)
if prev_limit_node: 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): if prev_limit_node.changed.is_connected(_on_tile_map_changed):
prev_limit_node.changed.disconnect(_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): if not new_limit_node.changed.is_connected(_on_tile_map_changed):
new_limit_node.changed.connect(_on_tile_map_changed) new_limit_node.changed.connect(_on_tile_map_changed)
elif new_limit_node is CollisionShape2D: elif new_limit_node is CollisionShape2D:
@ -1626,7 +1625,7 @@ func set_limit_target(value: NodePath) -> void:
limit_target = "" limit_target = ""
return return
else: else:
printerr("Limit Target is not a TileMap, TileMapLayer or CollisionShape2D node") printerr("Limit Target is not a TileMapLayer or CollisionShape2D node")
return return
elif value == NodePath(""): elif value == NodePath(""):
reset_limit() reset_limit()

View File

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

View File

@ -1296,26 +1296,31 @@ func _set_layer(current_layers: int, layer_number: int, value: bool) -> int:
#region Public Functions #region Public Functions
## Triggers a recalculation to determine which PhantomCamera has the highest priority.
func pcam_priority_updated(pcam: Node) -> void: func pcam_priority_updated(pcam: Node) -> void:
if not is_instance_valid(pcam): return if not is_instance_valid(pcam): return
if not _pcam_is_in_host_layer(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 Engine.is_editor_hint():
if _is_2d: if _is_2d:
if not is_instance_valid(_active_pcam_2d): return
if _active_pcam_2d.priority_override: return if _active_pcam_2d.priority_override: return
if not is_instance_valid(_active_pcam_2d): return
else: else:
if not is_instance_valid(_active_pcam_3d): return
if _active_pcam_3d.priority_override: return if _active_pcam_3d.priority_override: return
if not is_instance_valid(_active_pcam_3d): return
var current_pcam_priority: int = pcam.priority ## Currently active PCam changed Priority
if pcam == _active_pcam_2d or pcam == _active_pcam_3d:
if current_pcam_priority >= _active_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()
## 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 _is_2d:
if pcam != _active_pcam_2d: if pcam != _active_pcam_2d:
_assign_new_active_pcam(pcam) _assign_new_active_pcam(pcam)
@ -1325,13 +1330,6 @@ func pcam_priority_updated(pcam: Node) -> void:
pcam.set_tween_skip(self, false) pcam.set_tween_skip(self, false)
_active_pcam_missing = false _active_pcam_missing = false
if pcam == _active_pcam_2d or pcam == _active_pcam_3d:
if current_pcam_priority <= _active_pcam_priority:
_active_pcam_priority = current_pcam_priority
_find_pcam_with_highest_priority()
else:
_active_pcam_priority = current_pcam_priority
## Updates the viewfinder when a [param PhantomCamera] has its ## Updates the viewfinder when a [param PhantomCamera] has its
## [param priority_ovrride] enabled.[br] ## [param priority_ovrride] enabled.[br]

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: Act = null
var _current_act_id: int = -1 var _current_act_id: int = -1
const DEFAULT_ACT_ID:int = 0
signal act_changed(from_act_id: int, to_act_id: int) signal act_changed(from_act_id: int, to_act_id: int)
func _ready() -> void: func _ready() -> void:
##初始默认把act 切换到Default状态 pass
switch_act_with_id(0)
##通过ID切换act ##通过ID切换act
func switch_act_with_id(act_id: int) -> void: func switch_act_with_id(act_id: int) -> void:
@ -103,7 +105,7 @@ func _editor_generate_default_act() -> void:
) )
return return
var props_root := scene.get_node_or_null(scene.props_root_path) var props_root := scene.get_props_root()
if props_root == null: if props_root == null:
_editor_popup( _editor_popup(
"Props root not found:\n%s" % scene.props_root_path, "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: if scene == null:
return 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: if props_root == null:
return null return null

View File

@ -13,16 +13,14 @@ class_name PropComponent extends Node
##此物件的描述ID无法主动修改由PropManager发信 ##此物件的描述ID无法主动修改由PropManager发信
@export_custom(PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_READ_ONLY) var prop_id: int = -1 @export_custom(PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT | PROPERTY_USAGE_READ_ONLY) var prop_id: int = -1
##初始的默认state_id ##初始的默认state_id
@export var initial_state_id: int = 0 @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 debug_log := false
##是否等待 ##是否等待
@export var should_wait_owner_ready :bool = true @export var should_wait_owner_ready :bool = true
##状态切换的信号 ##状态切换的信号
signal state_changed(from_state: int, to_state: int, ctx: Dictionary) signal state_changed(from_state: int, to_state: int, ctx: Dictionary)
@ -42,11 +40,25 @@ func _enter_tree() -> void:
func _ready() -> void: func _ready() -> void:
_build_state_cache() _build_state_cache()
if not Engine.is_editor_hint(): #if not Engine.is_editor_hint():
if should_wait_owner_ready: await owner.ready #if should_wait_owner_ready:
#await owner.ready
#_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() _init_states()
if _current == null and initial_state_id >= 0:
## 用于检查初始状态复写的Check
func _init_state_check() ->void:
if _current == null and initial_state_id >= 0 and overwrite_init_state:
change_state(initial_state_id, false, { change_state(initial_state_id, false, {
"reason": "INIT", "reason": "INIT",
"instant": true "instant": true

View File

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

View File

@ -7,6 +7,7 @@ class_name ReedPropEffect
enum TargetType { enum TargetType {
OWNER, OWNER,
ChildNode,
NODE_PATH NODE_PATH
} }
@ -19,6 +20,12 @@ enum EffectType {
@export var target_type: TargetType = TargetType.OWNER @export var target_type: TargetType = TargetType.OWNER
##如果选择了NodePath则会读取此字段默认不读取 ##如果选择了NodePath则会读取此字段默认不读取
@export var target_path: 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 @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: match effect_type:
EffectType.SET_VALUE: EffectType.SET_VALUE:
# 你也可以加 has_property 检查,但 Godot 没有统一 API这里先直接 set
target.set(property_name, value) target.set(property_name, value)
EffectType.CALL_FUNC: EffectType.CALL_FUNC:
@ -56,6 +62,9 @@ func _resolve_target(owner: Node, prop_comp: Node) -> Object:
match target_type: match target_type:
TargetType.OWNER: TargetType.OWNER:
return owner return owner
TargetType.ChildNode:
if owner:
return owner.find_child(child_node_name,recursive_found,owned_node_only)
TargetType.NODE_PATH: TargetType.NODE_PATH:
if owner: if owner:
return owner.get_node_or_null(target_path) return owner.get_node_or_null(target_path)

View File

@ -5,8 +5,9 @@
leveln个小关卡n = scene的数量 leveln个小关卡n = scene的数量
Scene Scene
1.Act Manager 1.SceneManager
2.Prop 2.Act Manager
3.Prop
ActManager下ActProp的不同stateAct切换时Prop对应的状态也会切换 ActManager下ActProp的不同stateAct切换时Prop对应的状态也会切换
ActManager的主要作用就是管理这些Act的切换 ActManager的主要作用就是管理这些Act的切换
@ -36,20 +37,25 @@ class_name ReedScene extends Node2D
## ============================== ## ==============================
## Const Config ## Const Config
## ============================== ## ==============================
##Act管理器的命名 ##Act管理器的命名
const ACT_MANAGER_NAME := "ActManager" const ACT_MANAGER_NAME := "ActManager"
##Prop的根节点命名 ##Prop的根节点命名
const PROPS_ROOT_NAME := "Props" const PROPS_ROOT_NAME := "Props"
##场景管理器的根节点命名 ##场景管理器的根节点命名
const SCENE_MANAGER_NAME := "SceneManager" 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 Config
## ============================== ## ==============================
@export var props_root_path: NodePath = ^"Props"
##是否要自動的為Props下的Node添加PropComponent
@export var auto_attach_prop_component := true @export var auto_attach_prop_component := true
@export var debug_log := true ##是否要打印DebugLog
@export var debug_log := false
## ============================== ## ==============================
## Internal State ## Internal State
@ -81,8 +87,22 @@ func _ready() -> void:
_collect_props() _collect_props()
_bind_act_events() _bind_act_events()
if not Engine.is_editor_hint(): 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) ReedSceneRegistry.register_scene(self)
## ============================== ## ==============================
## Resolve References ## Resolve References
## ============================== ## ==============================
@ -103,9 +123,9 @@ func _resolve_act_manager() -> void:
return return
func _resolve_props_root() -> void: 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: 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: func _resolve_scene_manager() -> void:
_scene_manager = get_node_or_null(SCENE_MANAGER_NAME) _scene_manager = get_node_or_null(SCENE_MANAGER_NAME)
@ -114,11 +134,11 @@ func _resolve_scene_manager() -> void:
## ============================== ## ==============================
## Prop Collection ## Prop Collection
## ============================== ## ==============================
func _collect_props() -> void: func _collect_props() -> void:
_prop_map.clear() _prop_map.clear()
if _props_root == null: if _props_root == null:
push_warning("[ReedScene]:Scene[ID:%s] dont have a prop root" % _scene_id_comp.get_scene_id())
return return
for prop in _props_root.get_children(): for prop in _props_root.get_children():
@ -143,6 +163,7 @@ func _collect_props() -> void:
if debug_log: if debug_log:
print("[ReedScene] Registered Prop:", prop_id) print("[ReedScene] Registered Prop:", prop_id)
##獲取到一個Prop的PropComp
func _find_prop_component(prop: Node) -> PropComponent: func _find_prop_component(prop: Node) -> PropComponent:
for child in prop.get_children(): for child in prop.get_children():
if child is PropComponent: 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: func _editor_ensure_scene_nodes() -> void:
_editor_ensure_node(SCENE_MANAGER_NAME, SceneManager) _editor_ensure_node(SCENE_MANAGER_NAME, SceneManager)
_editor_ensure_node(ACT_MANAGER_NAME, ActManager) _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: func _editor_ensure_node(name: String, type: Variant) -> Node:
@ -185,6 +206,28 @@ func _editor_ensure_node(name: String, type: Variant) -> Node:
return 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節點 ##保證存在ID節點
func _editor_ensure_scene_id_comp() -> ReedSceneID: func _editor_ensure_scene_id_comp() -> ReedSceneID:
# 1. 查找已有的 ReedSceneID只找直接子节点 # 1. 查找已有的 ReedSceneID只找直接子节点
@ -212,18 +255,40 @@ func _editor_ensure_scene_id_comp() -> ReedSceneID:
return id_comp return id_comp
## ==============================
## Externel API
## ==============================
## 外部取得Prop映射對
func get_prop_map() -> Dictionary:
return _prop_map
## 切換Act
func switch_act_by_id(act_id: int) -> void: func switch_act_by_id(act_id: int) -> void:
if not _act_manager: if not _act_manager:
push_warning("[ReedScene] ActManager requested before ready.") push_warning("[ReedScene] ActManager requested before ready.")
_act_manager.switch_act_with_id(act_id) _act_manager.switch_act_with_id(act_id)
## 獲取關卡管理器
func get_scene_manager() -> SceneManager: func get_scene_manager() -> SceneManager:
if _scene_manager == null: if _scene_manager == null:
push_warning("[ReedScene] SceneManager requested before ready.") push_warning("[ReedScene] SceneManager requested before ready.")
return _scene_manager return _scene_manager
## 獲取SceneID Comp
func get_scene_id_comp() -> ReedSceneID: func get_scene_id_comp() -> ReedSceneID:
if _scene_id_comp == null: if _scene_id_comp == null:
push_warning("[ReedScene] Scene not has a ID Comp.") push_warning("[ReedScene] Scene not has a ID Comp.")
return _scene_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) warnings.append(msg)
return warnings return warnings
## 獲取Scene id的接口
func get_scene_id() ->int:
return _scene_id

View File

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