From 205551af5aa00fe5f06037005af9e06f09b16b43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vojte=CC=8Cch=20Struha=CC=81r?= Date: Wed, 18 Jun 2025 23:12:28 +0200 Subject: [PATCH] B fly in - draft --- scenes/portal_door.tscn | 4 ++-- scenes/world.tscn | 34 +++++++++++++++++++++++----------- scripts/cinematic_camera.gd | 5 +++-- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/scenes/portal_door.tscn b/scenes/portal_door.tscn index db0a8db..5064206 100644 --- a/scenes/portal_door.tscn +++ b/scenes/portal_door.tscn @@ -72,10 +72,10 @@ tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true tracks/0/path = NodePath("Door_8_Round2:rotation") -tracks/0/interp = 1 +tracks/0/interp = 2 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.5), +"times": PackedFloat32Array(0, 0.9), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [Vector3(0, -3.14159, 0), Vector3(0, -1.39626, 0)] diff --git a/scenes/world.tscn b/scenes/world.tscn index 476b3bf..d95ca7f 100644 --- a/scenes/world.tscn +++ b/scenes/world.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=4 uid="uid://dtbrnxalat1d4"] +[gd_scene load_steps=30 format=4 uid="uid://dtbrnxalat1d4"] [ext_resource type="PackedScene" uid="uid://wsu3b5udqtdu" path="res://meshes/village/Wall_UnevenBrick_Straight.gltf" id="1_4mrxx"] [ext_resource type="Texture2D" uid="uid://bgc5rl13dopuj" path="res://addons/proton_scatter/demos/assets/textures/sky_2.png" id="1_w7kh3"] @@ -82,13 +82,15 @@ size = Vector3(1.5, 2.5, 1) [sub_resource type="Curve3D" id="Curve3D_lakw3"] _data = { -"points": PackedVector3Array(0, 0, 0, 0, 0, 0, -0.489602, 2, 1.0528, 1.33258, 0, -1.33258, -1.33258, 0, 1.33258, -4.78907, 1, 2.00823, 1.96116, 0, -1.70973, -1.96116, 0, 1.70973, -8.76168, 0, 8.84715, 2.26288, 0, 1.33258, -2.26288, 0, -1.33258, -20.4532, 0, 9.17401, 0.301716, 0, 4.92804, -0.301716, 0, -4.92804, -24.9035, 0, 0.851653, -2.7406, 0, 1.83544, 2.7406, 0, -1.83544, -19.9503, 0, -8.37586, -3.04231, 0, -1.9863, 3.04231, 0, 1.9863, -8.98796, 0, -8.225, 0, 0, 0, 0, 0, 0, -6.02108, -1.2, -0.757503), -"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0) +"points": PackedVector3Array(2.30277, -4.88758e-05, 0.023995, -2.30277, 4.88758e-05, -0.023995, -6.02108, -1.2, -0.757503, 0.745, 0, 0.146, -0.745, 0, -0.146, -13.1853, -1.19995, -0.866791, 0.327271, -0.24122, 0.254905, -0.327271, 0.24122, -0.254905, -13.9874, 1.22199, -3.13804, 1.02478, -0.0626392, -0.0668271, -1.02478, 0.0626392, 0.0668271, -17.4659, 1.27507, -3.95528, 0.175049, 0.143319, -1.7492, -0.175049, -0.143319, 1.7492, -19.179, 1.57885, -1.43674, -1.29596, -0.060075, -0.378506, 1.29596, 0.060075, 0.378506, -16.5875, -1.26983, 1.01233), +"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0) } -point_count = 8 +point_count = 6 + +[sub_resource type="Curve3D" id="Curve3D_7t5mc"] [node name="World" type="Node3D"] -metadata/movie_file = "captures/a_.png" +metadata/movie_file = "captures/b_.png" [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_o8fc1") @@ -266,17 +268,16 @@ shape = SubResource("BoxShape3D_7t5mc") [node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"] shape = SubResource("WorldBoundaryShape3D_dss4m") -[node name="CinematicCamera" type="Camera3D" parent="." node_paths=PackedStringArray("path", "follower", "target")] +[node name="CinematicCamera" type="Camera3D" parent="." node_paths=PackedStringArray("path", "target")] cull_mask = 524287 current = true script = ExtResource("18_lakw3") -travel_time = 10.0 -path = NodePath("../A_FlyAround") -follower = NodePath("../A_FlyAround/PathFollow3D") +travel_time = 15.0 +path = NodePath("../B_Camera") target = NodePath("../Target") [node name="Target" type="MeshInstance3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.12776, 0.638181, -3.20715) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 996.473, 0.638, -2.74) layers = 524288 mesh = SubResource("SphereMesh_lakw3") @@ -285,7 +286,18 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.0132, 3, -2.29886) curve = SubResource("Curve3D_lakw3") [node name="PathFollow3D" type="PathFollow3D" parent="A_FlyAround"] -transform = Transform3D(-0.216929, -0.21614, 0.951955, 1.49011e-08, 0.975179, 0.221412, -0.976186, 0.0480309, -0.211544, -0.489602, 2, 1.0528) +transform = Transform3D(0.0104181, 2.12225e-05, 0.999827, 0, 0.999999, -2.12211e-05, -0.999827, 2.21137e-07, 0.0104181, -6.02108, -1.2, -0.757503) + +[node name="B_Camera" type="Path3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1015.01, 3, -2.299) +curve = SubResource("Curve3D_lakw3") + +[node name="PathFollow3D" type="PathFollow3D" parent="B_Camera"] +transform = Transform3D(0.0104181, 2.12225e-05, 0.999827, 0, 0.999999, -2.12211e-05, -0.999827, 2.21137e-07, 0.0104181, -6.02108, -1.2, -0.757503) + +[node name="B_Target" type="Path3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 996.473, 0.638, -2.74) +curve = SubResource("Curve3D_7t5mc") [connection signal="body_entered" from="DoorOpener" to="House_Small/PortalDoor" method="open"] [connection signal="body_entered" from="DoorOpener" to="HouseBig" method="open_door"] diff --git a/scripts/cinematic_camera.gd b/scripts/cinematic_camera.gd index 2b7ae1b..6324862 100644 --- a/scripts/cinematic_camera.gd +++ b/scripts/cinematic_camera.gd @@ -2,16 +2,17 @@ extends Camera3D @export_range(1, 100, 0.1, "suffix:s") var travel_time: float @export var path: Path3D -@export var follower: PathFollow3D +var follower: PathFollow3D @export var target: MeshInstance3D func _ready() -> void: assert (path != null) + follower = path.get_node("PathFollow3D") assert(follower != null) assert(target != null) var t = get_tree().create_tween() - t.set_trans(Tween.TRANS_CUBIC) + t.set_trans(Tween.TRANS_QUAD) t.set_ease(Tween.EASE_IN_OUT) t.tween_property(follower, "progress_ratio", 1, travel_time) t.tween_callback(get_tree().quit.bind(0))