wip: need to repair animations from ref version, no idea what happened

This commit is contained in:
tiger tiger tiger 2026-01-20 13:06:32 +01:00
parent e998d3154b
commit 00c6e13702
14 changed files with 555 additions and 1672 deletions

View File

@ -1,8 +1,7 @@
[gd_scene load_steps=58 format=3 uid="uid://fgp3tbah7msy"]
[gd_scene load_steps=46 format=3 uid="uid://fgp3tbah7msy"]
[ext_resource type="Script" uid="uid://snugj1gnggjj" path="res://base-environments/transition/subway_sequence.gd" id="1_yfan7"]
[ext_resource type="PackedScene" uid="uid://mkccbig41bqb" path="res://logic-scenes/player_controller/player_controller.tscn" id="2_il5go"]
[ext_resource type="PackedScene" uid="uid://4j1tlhfm3p40" path="res://base-environments/transition/subway_train.tscn" id="3_iq74k"]
[ext_resource type="PackedScene" uid="uid://d2j0d88axhfue" path="res://base-environments/transition/stations/dungeon_station.tscn" id="5_rum2v"]
[ext_resource type="Script" uid="uid://dgfje4druu3sw" path="res://base-environments/transition/code/dolly.gd" id="5_yfan7"]
[ext_resource type="VoxelGIData" uid="uid://d0ywd1vewvryc" path="res://base-environments/transition/vfx/dungeon_VoxelGI.res" id="6_ii0j1"]
@ -22,116 +21,6 @@
radius = 1.8393555
height = 26.941559
[sub_resource type="Shader" id="Shader_tpaj8"]
code = "shader_type spatial;
render_mode depth_prepass_alpha;
uniform float time;
uniform sampler2D horizontal_gradient: repeat_disable;
uniform sampler2D horizontal_emission: repeat_disable;
uniform sampler2D vertical_gradient: repeat_disable;
uniform sampler2D vertical_emission: repeat_disable;
void vertex() {
// Called for every vertex the material is visible on.
}
void fragment() {
float anim_progress = time;
//float anim_progress = fract(TIME * 0.25);
ALBEDO = texture(horizontal_gradient, UV.yx).xyz * mix(vec3(1.0), texture(vertical_gradient, UV * vec2(anim_progress)).xyz, anim_progress);
ALPHA = min(clamp(3.0-anim_progress*2.0, 0.0, 1.0), texture(horizontal_gradient, UV.yx).w * texture(vertical_gradient, UV).w * pow(anim_progress, 0.6));
EMISSION = texture(horizontal_emission, UV.yx).xyz * mix(vec3(1.0), texture(vertical_emission, UV * vec2(anim_progress)).xyz, min(1.0, anim_progress));
ROUGHNESS = 0.5;
SPECULAR = 0.4;
METALLIC = 0.3;
}
//void light() {
// // Called for every pixel for every light affecting the material.
// // Uncomment to replace the default light processing function with this one.
//}
"
[sub_resource type="Gradient" id="Gradient_sofnd"]
offsets = PackedFloat32Array(0.190283, 0.237517, 0.252362, 0.263158, 0.358974, 0.620783)
colors = PackedColorArray(0, 0, 0, 1, 0.498876, 0.371803, 0.25703, 1, 0.999199, 0.798087, 0.641907, 1, 0.552793, 0.341064, 0.190397, 1, 0.428199, 0.393103, 0.309389, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_bjefl"]
gradient = SubResource("Gradient_sofnd")
[sub_resource type="Gradient" id="Gradient_csq32"]
offsets = PackedFloat32Array(0, 0.0526316, 0.165992, 0.62753, 0.647773, 0.704453, 0.731444, 1)
colors = PackedColorArray(0.0563103, 0.372397, 0.669528, 1, 0, 0, 0, 0.968627, 0.0844204, 0.319764, 0.485866, 0.796078, 0.0554195, 0.372493, 0.670199, 0.871024, 0, 0, 0, 0.933333, 0.0507, 0.237315, 0.39, 1, 0.0563103, 0.372397, 0.669528, 1, 0.0261, 0.092075, 0.29, 0.894118)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_tpaj8"]
gradient = SubResource("Gradient_csq32")
width = 1024
[sub_resource type="Gradient" id="Gradient_grftg"]
offsets = PackedFloat32Array(0.147099, 0.159244, 0.195682, 0.213225, 0.267206, 0.287449, 0.31444, 0.34143, 0.364372, 0.398111, 0.430499, 0.442645, 0.480432, 0.511471, 1)
colors = PackedColorArray(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0.194349, 0.194349, 0.194349, 1, 0.194349, 0.194349, 0.194349, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_v43sq"]
gradient = SubResource("Gradient_grftg")
[sub_resource type="Gradient" id="Gradient_l33v1"]
offsets = PackedFloat32Array(0.022942, 0.11471, 0.2045054, 0.21741071, 0.25024083, 0.26036772, 0.438596, 0.45614, 0.473684, 0.866397, 1)
colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0.0820244, 0.0820244, 0.0820244, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)
[sub_resource type="GradientTexture1D" id="GradientTexture1D_nnax0"]
gradient = SubResource("Gradient_l33v1")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_0vobo"]
render_priority = 1
shader = SubResource("Shader_tpaj8")
shader_parameter/time = 0.0
shader_parameter/horizontal_gradient = SubResource("GradientTexture1D_tpaj8")
shader_parameter/horizontal_emission = SubResource("GradientTexture1D_bjefl")
shader_parameter/vertical_gradient = SubResource("GradientTexture1D_nnax0")
shader_parameter/vertical_emission = SubResource("GradientTexture1D_v43sq")
[sub_resource type="QuadMesh" id="QuadMesh_ppxbm"]
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_0vobo"]
[sub_resource type="BoxShape3D" id="BoxShape3D_sofnd"]
size = Vector3(8, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_csq32"]
size = Vector3(4, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_grftg"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_l33v1"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_0vobo"]
size = Vector3(4.393, 2.5, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_ppxbm"]
size = Vector3(0.4, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_wgcl8"]
size = Vector3(2.393, 1.0219727, 1.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_0gtr1"]
size = Vector3(4.325035, 0.5001221, 29.45169)
[sub_resource type="BoxShape3D" id="BoxShape3D_8c5ii"]
size = Vector3(0.5, 3, 29.452)
[sub_resource type="BoxShape3D" id="BoxShape3D_symoa"]
size = Vector3(0.5, 3, 16.202)
[sub_resource type="BoxShape3D" id="BoxShape3D_820wi"]
size = Vector3(0.5, 3, 5.547009)
[sub_resource type="BoxShape3D" id="BoxShape3D_e75no"]
size = Vector3(0.5661621, 3, 1.411961)
[sub_resource type="ViewportTexture" id="ViewportTexture_rkl48"]
viewport_path = NodePath("Stations/StationDolly/dungeon_station/SubwayMap3D/MapViewport")
@ -179,6 +68,44 @@ size = Vector3(0.15, 1.2, 1.7)
[sub_resource type="BoxMesh" id="BoxMesh_symoa"]
size = Vector3(0.3, 1, 1.5)
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_rkl48"]
[sub_resource type="BoxShape3D" id="BoxShape3D_yfan7"]
size = Vector3(8, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_il5go"]
size = Vector3(4, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_iq74k"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_biibr"]
size = Vector3(4.392578, 2.5, 0.4)
[sub_resource type="BoxShape3D" id="BoxShape3D_rum2v"]
size = Vector3(4.393, 2.5, 0.6)
[sub_resource type="BoxShape3D" id="BoxShape3D_ii0j1"]
size = Vector3(0.4, 2.5, 0.5)
[sub_resource type="BoxShape3D" id="BoxShape3D_ltric"]
size = Vector3(2.393, 1.0219727, 1.1)
[sub_resource type="BoxShape3D" id="BoxShape3D_rcbu2"]
size = Vector3(4.325035, 0.5001221, 29.45169)
[sub_resource type="BoxShape3D" id="BoxShape3D_bdj4u"]
size = Vector3(0.5, 3, 29.452)
[sub_resource type="BoxShape3D" id="BoxShape3D_j1yes"]
size = Vector3(0.5, 3, 16.202)
[sub_resource type="BoxShape3D" id="BoxShape3D_vomua"]
size = Vector3(0.5, 3, 5.547009)
[sub_resource type="BoxShape3D" id="BoxShape3D_jwt33"]
size = Vector3(0.5661621, 3, 1.411961)
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_wgcl8"]
sky_top_color = Color(0.138464, 0.0447571, 0.169373, 1)
sky_horizon_color = Color(4.62055e-06, 0.722684, 0.905603, 1)
@ -275,279 +202,13 @@ collision_mask = 2
transform = Transform3D(1, 0, 0, 0, -4.371139e-08, -1, 0, 1, -4.371139e-08, -0.45278072, 0.9550209, 3.3956146)
shape = SubResource("CapsuleShape3D_sofnd")
[node name="Train" type="Node3D" parent="."]
visible = false
[node name="Visuals" type="Node3D" parent="Train"]
[node name="Train2" type="Node3D" parent="Train/Visuals"]
unique_name_in_owner = true
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -6.24, 0, -31.131655)
visible = false
[node name="subway_train" parent="Train/Visuals/Train2" instance=ExtResource("3_iq74k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7804413, 0, 0)
[node name="MeshInstance3D8" type="MeshInstance3D" parent="Train/Visuals/Train2"]
transform = Transform3D(-42.01, 4.0756237e-07, 4.3400982e-07, 6.330816e-06, 2.8743172, 0.1808367, 5.9450326e-06, -0.1808367, 2.8743172, -3.9468384, 1.286, 2.488358)
visible = false
material_override = SubResource("ShaderMaterial_0vobo")
mesh = SubResource("QuadMesh_ppxbm")
skeleton = NodePath("../../../GPUParticles3D4")
[node name="Collision" type="Node3D" parent="Train"]
[node name="Body3D" type="StaticBody3D" parent="Train/Collision"]
[node name="WorldBoundary (Ground)" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.1428833, -0.24993896, -32.937317)
shape = SubResource("WorldBoundaryShape3D_0vobo")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, -66.5)
shape = SubResource("BoxShape3D_sofnd")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, 0.25)
shape = SubResource("BoxShape3D_sofnd")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.8523458, 1, -1.1576476)
shape = SubResource("BoxShape3D_csq32")
[node name="CollisionShape3D7" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.567, 1.031, -2)
shape = SubResource("BoxShape3D_grftg")
[node name="CollisionShape3D8" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.567, 1.031, -2)
shape = SubResource("BoxShape3D_l33v1")
[node name="CollisionShape3D9" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 1.031, -2)
shape = SubResource("BoxShape3D_0vobo")
[node name="CollisionShape3D10" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -7.783883)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D11" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -9.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D12" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -17.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D13" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -19.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D14" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -16.102852)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D15" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -27.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -29.45743)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D17" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -26.102852)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D18" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -37.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D19" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -39.457428)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D20" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -36.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D21" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -47.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D22" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -49.457428)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D23" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -46.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D24" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -57.783882)
shape = SubResource("BoxShape3D_ppxbm")
[node name="CollisionShape3D26" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -56.10285)
shape = SubResource("BoxShape3D_wgcl8")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.8618617, 1, -1.1576476)
shape = SubResource("BoxShape3D_csq32")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.0680046, -0.24993896, -32.189793)
shape = SubResource("BoxShape3D_0gtr1")
[node name="CollisionShape3D25" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.9860983, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_8c5ii")
[node name="CollisionShape3D27" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_symoa")
[node name="CollisionShape3D28" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -44.749306)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D29" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -45.8734)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D30" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -19.857431)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D31" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -18.627045)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D32" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -26.163954)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D33" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -27.810856)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D34" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D35" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -22.334576)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D36" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -26.121748)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D37" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D38" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -38.4807)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D40" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D41" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.887142, 1.558737, -42.31008)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D42" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357026, 1.558737, -38.522907)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D43" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357027, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D39" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -5.9222555, -0.24993896, -32.045853)
shape = SubResource("BoxShape3D_0gtr1")
[node name="CollisionShape3D44" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -7.840349, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_8c5ii")
[node name="CollisionShape3D45" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948637, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_symoa")
[node name="CollisionShape3D46" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948647, 1.558737, -19.486341)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D47" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205347, 1.558737, -18.362246)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D48" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948627, 1.558737, -44.37822)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D49" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205344, 1.558737, -45.608604)
shape = SubResource("BoxShape3D_820wi")
[node name="CollisionShape3D50" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -38.071693)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D51" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -36.42479)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D52" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D53" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310548, 1.558737, -41.90107)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D54" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -38.1139)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D55" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D56" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741393, 1.558737, -25.754946)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D57" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D58" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -21.925566)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D59" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211277, 1.558737, -25.71274)
shape = SubResource("BoxShape3D_e75no")
[node name="CollisionShape3D60" type="CollisionShape3D" parent="Train/Collision/Body3D"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211279, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_e75no")
[node name="Track1Dolly" parent="." instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.2, -0.2, -32.5)
visible = false
[node name="Track2Dolly" parent="." instance=ExtResource("17_yfan7")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.742278e-08, 0, 1, 0, 8.742278e-08, 0, -1, -6.2, -0.2, -32.5)
visible = false
[node name="Stations" type="Node3D" parent="."]
unique_name_in_owner = true
@ -621,10 +282,10 @@ render_target_update_mode = 4
unique_name_in_owner = true
[node name="HiddenStations" type="Node3D" parent="Stations"]
visible = false
[node name="uni_station" parent="Stations/HiddenStations" instance=ExtResource("9_bdj4u")]
unique_name_in_owner = true
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/uni_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
@ -664,7 +325,6 @@ mesh = SubResource("BoxMesh_symoa")
[node name="burnout_station" parent="Stations/HiddenStations" instance=ExtResource("11_vomua")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 0, 0)
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/burnout_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.020572662, 1.5449562, -25.981638)
@ -675,7 +335,6 @@ data = ExtResource("12_jwt33")
[node name="volunteer_station" parent="Stations/HiddenStations" instance=ExtResource("13_265nv")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.3, 0, 0, 0)
visible = false
[node name="VoxelGI" type="VoxelGI" parent="Stations/HiddenStations/volunteer_station"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 0.7692308, 0.020572662, 1.5449562, -27.640734)
@ -719,6 +378,247 @@ render_target_update_mode = 4
[node name="SubwayMap" parent="Stations/HiddenStations/volunteer_station/SubwayMap3D/MapViewport" instance=ExtResource("8_rcbu2")]
[node name="Collision" type="StaticBody3D" parent="Stations"]
[node name="World Boundary (Floor)" type="CollisionShape3D" parent="Stations/Collision"]
shape = SubResource("WorldBoundaryShape3D_rkl48")
[node name="CollisionShape3D3" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, -66.5)
shape = SubResource("BoxShape3D_yfan7")
[node name="CollisionShape3D4" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.143, 1, 0.25)
shape = SubResource("BoxShape3D_yfan7")
[node name="CollisionShape3D5" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.8523458, 1, -1.1576476)
shape = SubResource("BoxShape3D_il5go")
[node name="CollisionShape3D7" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 1.567, 1.031, -2)
shape = SubResource("BoxShape3D_iq74k")
[node name="CollisionShape3D8" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.567, 1.031, -2)
shape = SubResource("BoxShape3D_biibr")
[node name="CollisionShape3D9" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 0, 1.031, -2)
shape = SubResource("BoxShape3D_rum2v")
[node name="CollisionShape3D10" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -7.783883)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D11" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -9.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D12" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -17.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D13" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -19.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D14" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -16.102852)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D15" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -27.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D16" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -29.45743)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D17" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -26.102852)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D18" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -37.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D19" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -39.457428)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D20" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -36.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D21" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -47.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D22" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -49.457428)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D23" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -46.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D24" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 2.5282154e-07, 1.031, -57.783882)
shape = SubResource("BoxShape3D_ii0j1")
[node name="CollisionShape3D26" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 3.259746e-07, 0.29198635, -56.10285)
shape = SubResource("BoxShape3D_ltric")
[node name="CollisionShape3D6" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -1.8618617, 1, -1.1576476)
shape = SubResource("BoxShape3D_il5go")
[node name="CollisionShape3D2" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.0680046, -0.24993896, -32.189793)
shape = SubResource("BoxShape3D_rcbu2")
[node name="CollisionShape3D25" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.9860983, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_bdj4u")
[node name="CollisionShape3D27" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -32.189793)
shape = SubResource("BoxShape3D_j1yes")
[node name="CollisionShape3D28" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -44.749306)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D29" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -45.8734)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D30" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.4406133, 1.558737, -19.857431)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D31" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.3510947, 1.558737, -18.627045)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D32" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -26.163954)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D33" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -27.810856)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D34" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D35" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 7.4562984, 1.558737, -22.334576)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D36" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -26.121748)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D37" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, 4.9864135, 1.558737, -24.465235)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D38" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -38.4807)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D40" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.8871417, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D41" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 4.887142, 1.558737, -42.31008)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D42" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357026, 1.558737, -38.522907)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D43" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, 7.357027, 1.558737, -40.179424)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D39" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -5.9222555, -0.24993896, -32.045853)
shape = SubResource("BoxShape3D_rcbu2")
[node name="CollisionShape3D44" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -7.840349, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_bdj4u")
[node name="CollisionShape3D45" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948637, 1.558737, -32.045853)
shape = SubResource("BoxShape3D_j1yes")
[node name="CollisionShape3D46" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948647, 1.558737, -19.486341)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D47" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205347, 1.558737, -18.362246)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D48" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-1, 0, 8.742278e-08, 0, 1, 0, -8.742278e-08, 0, -1, -4.2948627, 1.558737, -44.37822)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D49" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.205344, 1.558737, -45.608604)
shape = SubResource("BoxShape3D_vomua")
[node name="CollisionShape3D50" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -38.071693)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D51" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -36.42479)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D52" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310549, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D53" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -7.310548, 1.558737, -41.90107)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D54" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -38.1139)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D55" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(1.3113416e-07, 0, 1, 0, 1, 0, -1, 0, 1.3113416e-07, -4.840664, 1.558737, -39.770416)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D56" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741393, 1.558737, -25.754946)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D57" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D58" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -4.741394, 1.558737, -21.925566)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D59" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211277, 1.558737, -25.71274)
shape = SubResource("BoxShape3D_jwt33")
[node name="CollisionShape3D60" type="CollisionShape3D" parent="Stations/Collision"]
transform = Transform3D(-2.1855693e-07, 0, -1, 0, 1, 0, 1, 0, -2.1855693e-07, -7.211279, 1.558737, -24.056223)
shape = SubResource("BoxShape3D_jwt33")
[node name="StationPlayer" type="AnimationPlayer" parent="Stations"]
unique_name_in_owner = true
autoplay = "RESET"

View File

@ -10,6 +10,5 @@ _data = {
"octree_size": Vector3(128, 32, 32),
"to_cell_xform": Transform3D(3.6571429, 0, 0, 0, 3.6571429, 0, 0, 0, 3.6571429, 64, 8.609933, 12.8)
}
dynamic_range = 3.0
energy = 2.0
normal_bias = 1.5

View File

@ -1,50 +1,11 @@
[gd_scene load_steps=9 format=3 uid="uid://cg70r0102t8nl"]
[ext_resource type="Script" uid="uid://d2lwghq7ye7ng" path="res://base-environments/youth_room/fairylights_animation_player.gd" id="1_mdd6t"]
[ext_resource type="Texture2D" uid="uid://i75aktvgsdwg" path="res://base-environments/youth_room/import/textures/wires_normal.png" id="1_p3lcj"]
[ext_resource type="Texture2D" uid="uid://chisldkpt6bf5" path="res://base-environments/youth_room/import/textures/wires_albedo.png" id="1_xsr58"]
[ext_resource type="Script" uid="uid://f26vfrf8n4l" path="res://addons/LineRenderer/line_renderer.gd" id="2_javfj"]
[ext_resource type="ArrayMesh" uid="uid://f5fr2e5gq313" path="res://base-environments/youth_room/shaders/fairy_light_diode.res" id="4_qh8yy"]
[sub_resource type="GDScript" id="GDScript_2caij"]
script/source = "
extends Node3D
@export var light_array: Array[Vector3]:
set(points):
light_array = points
if is_inside_tree():
rebuild()
@onready var wires:LineRenderer3D = $wires
@onready var diodes:MultiMeshInstance3D = $diodes
@export var rng_seed:int = 42
var rng = RandomNumberGenerator.new()
@export var size:float = 0.1:
set(new_size):
size = new_size
rebuild()
if is_inside_tree():
wires.end_thickness = size*0.1
wires.start_thickness = size*0.1
# Called when the node enters the scene tree for the first time.
func _ready():
rebuild()
func rebuild():
rng.seed = rng_seed
rng.state = 0
for child in wires.get_children(): child.free()
wires.points = light_array
diodes.multimesh.instance_count = light_array.size()
var meshBuffer:PackedFloat32Array
for point in light_array:
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
base = base.scaled(Vector3(size, size, size))
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
diodes.multimesh.buffer = meshBuffer
"
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5ca5e"]
transparency = 2
alpha_scissor_threshold = 0.5
@ -55,7 +16,7 @@ albedo_texture = ExtResource("1_xsr58")
normal_enabled = true
normal_texture = ExtResource("1_p3lcj")
[sub_resource type="ImmediateMesh" id="ImmediateMesh_30v5y"]
[sub_resource type="ImmediateMesh" id="ImmediateMesh_hnqbx"]
[sub_resource type="MultiMesh" id="MultiMesh_ic3h7"]
transform_format = 1
@ -64,13 +25,13 @@ mesh = ExtResource("4_qh8yy")
buffer = PackedFloat32Array(0.09981685, 0.0048210253, -0.0036542376, -0.545, -0.004285584, 0.09898752, 0.013531633, 0.915, 0.0042696027, -0.013350244, 0.09901284, 1.035, 0.07000746, -0.035884943, 0.061735135, -0.47, 0.052533384, 0.084440574, -0.010489702, 0.855, -0.048365276, 0.03977513, 0.077966265, 0.905, 0.004258701, 0.09203124, -0.038885914, -0.44, -0.0057153255, 0.039081898, 0.09186915, 0.871, 0.09974567, -0.0016899735, 0.00692427, 0.78, 0.021999925, -0.08708059, -0.0439656, -0.385, 0.08009742, 0.041850984, -0.042812362, 0.91, 0.055681296, -0.025796626, 0.0789565, 0.69, 0.09233354, 0.028834114, -0.025359664, -0.38, -0.035966184, 0.08807498, -0.0308096, 0.995, 0.013451844, 0.0375685, 0.091693275, 0.595, 0.041037153, 0.023612177, 0.08808186, -0.39, -0.08183642, -0.033079606, 0.0469951, 0.925, 0.040233698, -0.091368504, 0.005748424, 0.465, 0.096389726, 0.024975834, -0.009231994, -0.364, -0.025152955, 0.09678175, -0.0007887144, 0.86, 0.008737898, 0.0030823578, 0.09956982, 0.211, 0.09051618, -0.035352834, 0.023600822, -0.295, 0.009805123, 0.07139074, 0.06933414, 0.82, -0.04136038, -0.060444523, 0.06808656, 0.06, 0.099969886, -0.00044002375, 0.0024142524, -0.255, 0.00037742994, 0.099965714, 0.0025912046, 0.805, -0.0024248264, -0.0025813123, 0.09993727, -0.15, 0.06669522, -0.074469164, 0.002468294, -0.175, 0.066979624, 0.061372936, 0.04179824, 0.83, -0.03264166, -0.026224172, 0.090811975, -0.355, 0.008275211, 0.052801844, -0.08451915, -0.135, 0.09518374, -0.029311886, -0.008992719, 0.955, -0.029522488, -0.07970432, -0.052684378, -0.515, 0.09839882, -0.010216827, 0.014604448, -0.025, 0.0064255283, 0.09676424, 0.024400702, 0.78, -0.01662486, -0.023071585, 0.09587135, -0.615, -0.034177337, -0.07165746, -0.06080394, 0.115, 0.014493376, 0.059907008, -0.07874703, 0.63, 0.092853926, -0.035726182, -0.010089032, -0.695, -0.023289097, -0.071124874, 0.06632399, 0.245, 0.07954721, -0.053165104, -0.02908116, 0.555, 0.055945147, 0.045986135, 0.06895951, -0.745, -0.05999255, -0.025455302, -0.07584802, 0.37, -0.07084022, 0.060961187, 0.03557245, 0.595, 0.03718277, 0.07507172, -0.054604758, -0.805, 0.010777453, 0.09121187, 0.03955051, 0.455, 0.027344523, -0.04096749, 0.08702841, 0.745, 0.09558308, 0.0014354527, -0.029356688, -0.84, 0.0745873, 0.007008575, -0.06623908, 0.505, -0.03662421, 0.08737851, -0.03199474, 0.89, 0.055636343, 0.048123557, 0.067740105, -0.87, -0.052477725, -0.040816348, -0.07470016, 0.445, -0.07717951, -0.014203754, 0.061980464, 1.175, -0.035908382, 0.090179145, -0.024048049, -0.87, 0.065261625, -0.074675135, 0.012827498, 0.26, -0.071961984, -0.06638678, -0.020353615, 1.28, 0.023714853, 0.004052181, -0.0970628, -0.815, 0.04776166, -0.086053446, 0.017709581, 0.125, -0.045023393, -0.0066644074, 0.08904202, 1.35, -0.075443484, -0.050501395, -0.04192721, -0.8, 0.05265527, -0.07790997, -0.034021474, -0.037, -0.057078417, -0.0027407527, -0.08206426, 1.479, 0.06300379, 0.06263008, -0.04591292, -0.834, 0.07262851, 0.053707976, 0.042901676, -0.2, -0.03499957, 0.082609534, -0.044166677, 1.601, -0.0591619, 0.017062197, 0.07879563, -0.851, 0.058154207, 0.02977618, -0.07570646, -0.359, -0.046415366, 0.0885717, -0.00081792625, 1.769, 0.06681094, 0.035615087, 0.06532889, -0.85, 0.08759906, -0.04253812, 0.022735743, -0.5, 0.033643764, 0.0876653, 0.034393217, 1.949, -0.034561586, -0.022478973, 0.091105394, -0.85, 0.09468309, -0.029932225, -0.011797212, -0.594, 0.019968888, 0.025923345, 0.09449457, 2.126, -0.0252261, -0.09182615, 0.030522157, -0.85, 0.062641285, -0.07662324, 0.014316082, -0.634, 0.07794788, 0.0616799, -0.010941619, 2.238, -0.0004463233, 0.01801305, 0.098363265, -0.85, 0.051075388, -0.039760582, 0.07622598, -0.634, -0.015580878, 0.0829139, 0.053689104, 2.035, -0.08454904, -0.0392986, 0.03615355, -0.85, -0.055891007, -0.07219604, -0.040791273, -0.614, -0.07006708, 0.014808285, 0.06979484, 1.875, -0.044348616, 0.06759029, -0.058862157, -0.85, -0.05453172, 0.05173852, -0.06595012, -0.65, 0.038997572, 0.085303895, 0.034676112, 1.655, 0.07419893, -0.006809469, -0.06669445, -0.85, 0.08583314, 0.043052655, -0.027913136, -0.65, 0.030251084, -0.0864024, -0.04024298, 1.475, -0.04144329, 0.026097784, -0.08718578, -0.87)
[node name="fairylights" type="Node3D"]
script = SubResource("GDScript_2caij")
script = ExtResource("1_mdd6t")
light_array = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
[node name="wires" type="MeshInstance3D" parent="."]
material_override = SubResource("StandardMaterial3D_5ca5e")
gi_mode = 0
mesh = SubResource("ImmediateMesh_30v5y")
mesh = SubResource("ImmediateMesh_hnqbx")
script = ExtResource("2_javfj")
points = Array[Vector3]([Vector3(0, 0, 0), Vector3(0, 1, 0)])
start_thickness = 0.01

View File

@ -0,0 +1,37 @@
extends Node3D
@export var light_array: Array[Vector3]:
set(points):
light_array = points
if is_inside_tree():
rebuild()
@onready var wires:LineRenderer3D = $wires
@onready var diodes:MultiMeshInstance3D = $diodes
@export var rng_seed:int = 42
var rng = RandomNumberGenerator.new()
@export var size:float = 0.1:
set(new_size):
size = new_size
rebuild()
if is_inside_tree():
wires.end_thickness = size*0.1
wires.start_thickness = size*0.1
# Called when the node enters the scene tree for the first time.
func _ready():
rebuild()
func rebuild():
rng.seed = rng_seed
rng.state = 0
for child in wires.get_children(): child.free()
wires.points = light_array
diodes.multimesh.instance_count = light_array.size()
var meshBuffer:PackedFloat32Array
for point in light_array:
var base:Basis = Basis(Vector3(rng.randf_range(-1, 1), rng.randf_range(-1, 1), rng.randf_range(-1, 1)).normalized(), rng.randf_range(0, PI*2))
base = base.scaled(Vector3(size, size, size))
meshBuffer.append_array([base.x.x, base.x.y, base.x.z, point.x, base.y.x, base.y.y, base.y.z, point.y, base.z.x, base.z.y, base.z.z, point.z])
diodes.multimesh.buffer = meshBuffer

View File

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

View File

@ -1,4 +1,4 @@
[gd_resource type="ShaderMaterial" format=3 uid="uid://ct7uc5i5yp5qf"]
[gd_resource type="ShaderMaterial" load_steps=5 format=3 uid="uid://ct7uc5i5yp5qf"]
[ext_resource type="Texture2D" uid="uid://c61ekclk8loxn" path="res://base-environments/youth_room/import/textures/red_plaster_weathered_rough_4k.png" id="1_2nxvx"]
[ext_resource type="Texture2D" uid="uid://kf0vfm4sf0o3" path="res://base-environments/youth_room/import/textures/red_plaster_weathered_nor_gl_4k.png" id="2_80i0p"]

View File

@ -1,4 +1,4 @@
[gd_resource type="VisualShader" format=3 uid="uid://bcuduhlnij5mc"]
[gd_resource type="VisualShader" load_steps=10 format=3 uid="uid://bcuduhlnij5mc"]
[sub_resource type="VisualShaderNodeFloatOp" id="VisualShaderNodeFloatOp_pq5me"]
default_input_values = [0, 1.0, 1, 3.0]
@ -26,6 +26,90 @@ operator = 2
operator = 8
[resource]
code = "shader_type spatial;
render_mode blend_add, depth_draw_opaque, depth_test_default, cull_back, diffuse_lambert, specular_schlick_ggx;
uniform vec4 glass_tint : source_color;
uniform vec4 lightcolor : source_color;
void fragment() {
// ColorParameter:3
vec4 n_out3p0 = glass_tint;
// FloatConstant:2
float n_out2p0 = 0.000000;
// Input:5
vec2 n_out5p0 = UV;
// VectorDecompose:6
float n_out6p0 = vec3(n_out5p0, 0.0).x;
float n_out6p1 = vec3(n_out5p0, 0.0).y;
float n_out6p2 = vec3(n_out5p0, 0.0).z;
// FloatOp:11
float n_in11p1 = 3.00000;
float n_out11p0 = pow(n_out6p1, n_in11p1);
// ColorParameter:4
vec4 n_out4p0 = lightcolor;
// Fresnel:7
float n_in7p3 = 1.00000;
float n_out7p0 = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), n_in7p3);
// VectorOp:8
vec3 n_out8p0 = vec3(n_out4p0.xyz) * vec3(n_out7p0);
vec3 n_out9p0;
// ColorOp:9
{
float base = vec3(n_out11p0).x;
float blend = n_out8p0.x;
if (base < 0.5) {
n_out9p0.x = (base * (2.0 * blend));
} else {
n_out9p0.x = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
{
float base = vec3(n_out11p0).y;
float blend = n_out8p0.y;
if (base < 0.5) {
n_out9p0.y = (base * (2.0 * blend));
} else {
n_out9p0.y = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
{
float base = vec3(n_out11p0).z;
float blend = n_out8p0.z;
if (base < 0.5) {
n_out9p0.z = (base * (2.0 * blend));
} else {
n_out9p0.z = (1.0 - (1.0 - base) * (1.0 - 2.0 * (blend - 0.5)));
}
}
// Output:0
ALBEDO = vec3(n_out3p0.xyz);
ROUGHNESS = n_out2p0;
EMISSION = n_out9p0;
}
"
modes/blend = 1
nodes/fragment/2/node = SubResource("VisualShaderNodeFloatConstant_2mt73")
nodes/fragment/2/position = Vector2(40, 260)

View File

@ -0,0 +1,13 @@
extends AnimationPlayer
func _ready() -> void:
Scenes.scene_finished.connect(lights_on)
Scenes.scene_starting.connect(lights_off)
func lights_off(id: int = -1, _repeat: bool = false):
if id == Scenes.id.YOUTH_VOICE_TRAINING:
await get_tree().create_timer(10).timeout
queue("lights_out")
func lights_on(_id: int = -1, _repeat: bool = false):
queue("light_up")

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
[gd_resource type="FontFile" format=4 uid="uid://cb66e4mqysgf8"]
[gd_resource type="FontFile" load_steps=11 format=4 uid="uid://cb66e4mqysgf8"]
[sub_resource type="Image" id="Image_2g64l"]
data = {
@ -95,15 +95,6 @@ data = PackedByteArray("AAEAAAAOAIAAAwBgT1MvMjZDFt8AAAF8AAAAYGNtYXDfxMwUAAAB3AAA
font_name = "Annie Use Your Telescope"
style_name = "Regular"
msdf_pixel_range = 8
cache/0/variation_coordinates = {}
cache/0/face_index = 0
cache/0/embolden = 0.0
cache/0/transform = Transform2D(1, 0, 0, 1, 0, 0)
cache/0/spacing_top = 0
cache/0/spacing_bottom = 0
cache/0/spacing_space = 0
cache/0/spacing_glyph = 0
cache/0/baseline_offset = 0.0
cache/0/16/0/ascent = 17.0
cache/0/16/0/descent = 7.0
cache/0/16/0/underline_position = 1.59375

View File

@ -71,7 +71,6 @@ var substring_sizes: Array[int]
func _ready() -> void:
print_debug("StoryPlayable.gd: %s._ready()" % self.name)
super._ready()
animation_player.play("RESET")
State.settings_changed.connect(func(): story_array = story_array)
skip_control = %SkipControl
if skip_control is SkipControl and not Engine.is_editor_hint():
@ -80,6 +79,7 @@ func _ready() -> void:
# Clunky rebuild...
story_array = story_array
progress = progress
if animation_player.has_animation("RESET"): animation_player.play("RESET")
func _rebuild():
print_debug("StoryPlayable.gd: %s._rebuild()" % self.name)

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=17 format=3 uid="uid://mkccbig41bqb"]
[gd_scene load_steps=18 format=3 uid="uid://mkccbig41bqb"]
[ext_resource type="Script" uid="uid://bk618uyhghswx" path="res://logic-scenes/player_controller/player_controller.gd" id="1_0b4mi"]
[ext_resource type="Texture2D" uid="uid://d005qvnbnishb" path="res://import/interface-elements/cursor_grab.png" id="2_x6v75"]
@ -6,6 +6,10 @@
[sub_resource type="PhysicsMaterial" id="10"]
friction = 0.0
[sub_resource type="CapsuleMesh" id="CapsuleMesh_x6v75"]
radius = 0.3
height = 1.0
[sub_resource type="SeparationRayShape3D" id="SeparationRayShape3D_hpoj0"]
length = 1.5
@ -616,6 +620,12 @@ physics_material_override = SubResource("10")
can_sleep = false
script = ExtResource("1_0b4mi")
[node name="ShadowCaster" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.54540473, 0)
cast_shadow = 3
gi_mode = 2
mesh = SubResource("CapsuleMesh_x6v75")
[node name="Yaw" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.22534, 0)

View File

@ -15,7 +15,7 @@ compatibility/default_parent_skeleton_in_mesh_instance_3d=true
[application]
config/name="Frame of Mind"
run/main_scene="uid://fgp3tbah7msy"
run/main_scene="uid://ccdfkvtu6sb36"
config/use_custom_user_dir=true
config/features=PackedStringArray("4.5", "Forward Plus")
boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)