2026-01-20 23:58:31 +00:00
|
|
|
[gd_scene load_steps=25 format=3 uid="uid://df3ur5wll8vx7"]
|
2026-01-20 11:09:04 +00:00
|
|
|
|
|
|
|
|
[ext_resource type="PackedScene" uid="uid://4j1tlhfm3p40" path="res://base-environments/transition/subway_train.tscn" id="1_2h2xx"]
|
|
|
|
|
[ext_resource type="Script" uid="uid://dgfje4druu3sw" path="res://base-environments/transition/code/dolly.gd" id="1_5jpg8"]
|
2026-01-20 20:07:41 +00:00
|
|
|
[ext_resource type="Script" uid="uid://cyohujvfoiof7" path="res://base-environments/transition/code/subway_train.gd" id="2_aacjs"]
|
2026-01-20 16:23:11 +00:00
|
|
|
[ext_resource type="AudioStream" uid="uid://cwfr6sgcwg7sl" path="res://base-environments/transition/audio/450918__kyles__metro-subway-montreal-verdun-station-arrive-and-leave-semidistant-from-bridge-over-tracks-overpass.ogg" id="3_4h0n7"]
|
2026-01-20 11:09:04 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_aacjs"]
|
|
|
|
|
shading_mode = 0
|
|
|
|
|
albedo_color = Color(0.03529412, 0.15294118, 0.1882353, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxMesh" id="BoxMesh_aacjs"]
|
|
|
|
|
material = SubResource("StandardMaterial3D_aacjs")
|
|
|
|
|
size = Vector3(1, 50, 150)
|
|
|
|
|
|
2026-01-20 11:09:04 +00:00
|
|
|
[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"]
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_j8pin"]
|
|
|
|
|
size = Vector3(30.020142, 3.5859985, 3.5711975)
|
2026-01-20 20:07:41 +00:00
|
|
|
|
2026-01-20 16:23:11 +00:00
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_aacjs"]
|
|
|
|
|
size = Vector3(31.245972, 4.7752075, 1)
|
|
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_4h0n7"]
|
2026-01-20 23:58:31 +00:00
|
|
|
size = Vector3(16.285, 4.775, 1)
|
2026-01-20 16:23:11 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_xhnml"]
|
2026-01-20 23:58:31 +00:00
|
|
|
size = Vector3(6.041, 4.775, 1)
|
2026-01-20 16:23:11 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_5b47p"]
|
2026-01-20 23:58:31 +00:00
|
|
|
size = Vector3(5.908, 4.775, 1)
|
2026-01-20 16:23:11 +00:00
|
|
|
|
|
|
|
|
[sub_resource type="SphereShape3D" id="SphereShape3D_5jpg8"]
|
|
|
|
|
radius = 2.0
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[sub_resource type="BoxShape3D" id="BoxShape3D_q8slu"]
|
|
|
|
|
size = Vector3(31.194, 0.8, 3.8)
|
|
|
|
|
|
2026-01-20 11:09:04 +00:00
|
|
|
[node name="TrainDolly" type="Node3D"]
|
|
|
|
|
script = ExtResource("1_5jpg8")
|
2026-01-20 11:37:17 +00:00
|
|
|
metadata/_custom_type_script = "uid://dgfje4druu3sw"
|
2026-01-20 11:09:04 +00:00
|
|
|
|
2026-01-20 11:37:17 +00:00
|
|
|
[node name="Destination" type="Node3D" parent="."]
|
2026-01-20 16:23:11 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 150)
|
2026-01-20 23:58:31 +00:00
|
|
|
|
|
|
|
|
[node name="PotemkinsFacade" type="MeshInstance3D" parent="Destination"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.2, 0, 0)
|
|
|
|
|
mesh = SubResource("BoxMesh_aacjs")
|
2026-01-20 11:09:04 +00:00
|
|
|
|
2026-01-20 11:37:17 +00:00
|
|
|
[node name="Origination" type="Node3D" parent="."]
|
2026-01-20 16:23:11 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -150)
|
2026-01-20 11:09:04 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="Subway" type="Node3D" parent="."]
|
2026-01-20 20:07:41 +00:00
|
|
|
script = ExtResource("2_aacjs")
|
2026-01-20 23:58:31 +00:00
|
|
|
metadata/_custom_type_script = "uid://cyohujvfoiof7"
|
2026-01-20 11:09:04 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="WarpEffecScreen" type="MeshInstance3D" parent="Subway"]
|
|
|
|
|
transform = Transform3D(-4.108744e-06, 0.1808367, -2.8743172, -6.330816e-06, -2.8743172, -0.1808367, 42.01, -4.1546687e-07, -3.0837123e-07, 2.4883583, 1.286, 3.9468384)
|
2026-01-20 11:09:04 +00:00
|
|
|
material_override = SubResource("ShaderMaterial_0vobo")
|
|
|
|
|
mesh = SubResource("QuadMesh_ppxbm")
|
2026-01-20 23:58:31 +00:00
|
|
|
skeleton = NodePath("../Collider")
|
2026-01-20 16:23:11 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="EntryDetect" type="Area3D" parent="Subway"]
|
2026-01-20 20:07:41 +00:00
|
|
|
unique_name_in_owner = true
|
2026-01-20 23:58:31 +00:00
|
|
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
2026-01-20 16:23:11 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="InteriorTriggerShape" type="CollisionShape3D" parent="Subway/EntryDetect"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.7977905, 1.3545837, -0.13719177)
|
|
|
|
|
shape = SubResource("BoxShape3D_j8pin")
|
|
|
|
|
debug_color = Color(0.7607843, 0.8117647, 0, 0.7176471)
|
2026-01-20 16:23:11 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="SpotLight3D" type="SpotLight3D" parent="Subway"]
|
|
|
|
|
transform = Transform3D(-0.9620134, -0.0361063, -0.27060416, -2.0788793e-10, 0.9912155, -0.13225639, 0.27300233, -0.12723242, -0.9535627, -1.7471651, 0.40866053, 14.344355)
|
|
|
|
|
light_energy = 5.0
|
|
|
|
|
light_specular = 0.0
|
|
|
|
|
light_bake_mode = 0
|
|
|
|
|
distance_fade_begin = 150.0
|
|
|
|
|
distance_fade_length = 50.0
|
|
|
|
|
spot_range = 200.0
|
|
|
|
|
spot_attenuation = 0.2
|
|
|
|
|
spot_angle = 15.0
|
2026-01-20 16:23:11 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="SubwayTrainAudio" type="AudioStreamPlayer3D" parent="Subway"]
|
2026-01-20 16:23:11 +00:00
|
|
|
unique_name_in_owner = true
|
2026-01-21 00:13:47 +00:00
|
|
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -0.4578781, 0, -6.1605225)
|
2026-01-20 16:23:11 +00:00
|
|
|
stream = ExtResource("3_4h0n7")
|
2026-01-20 17:18:10 +00:00
|
|
|
unit_size = 100.0
|
|
|
|
|
panning_strength = 0.7
|
|
|
|
|
bus = &"sfx"
|
|
|
|
|
playback_type = 1
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="SubwayTrainAudioIntense" type="AudioStreamPlayer3D" parent="Subway"]
|
2026-01-20 19:01:59 +00:00
|
|
|
unique_name_in_owner = true
|
2026-01-21 00:13:47 +00:00
|
|
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0.6660023, 0, 0)
|
2026-01-20 19:01:59 +00:00
|
|
|
stream = ExtResource("3_4h0n7")
|
|
|
|
|
attenuation_model = 1
|
|
|
|
|
unit_size = 15.0
|
|
|
|
|
bus = &"sfx"
|
|
|
|
|
playback_type = 1
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="TrainModel" parent="Subway" instance=ExtResource("1_2h2xx")]
|
|
|
|
|
unique_name_in_owner = true
|
|
|
|
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -3.4114173e-08, 0, -0.7804413)
|
|
|
|
|
script = null
|
2026-01-20 19:01:59 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="Collider" type="AnimatableBody3D" parent="Subway"]
|
|
|
|
|
unique_name_in_owner = true
|
|
|
|
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0, 0, 0)
|
|
|
|
|
input_ray_pickable = false
|
|
|
|
|
sync_to_physics = false
|
2026-01-20 20:07:41 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="FrontWallClosed" type="CollisionShape3D" parent="Subway/Collider"]
|
2026-01-20 20:07:41 +00:00
|
|
|
unique_name_in_owner = true
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8395386, 1.4940796, -1.533)
|
|
|
|
|
shape = SubResource("BoxShape3D_aacjs")
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="FrontWallOpen1" type="CollisionShape3D" parent="Subway/Collider"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.8054885, 1.4940796, -1.4447353)
|
2026-01-20 20:07:41 +00:00
|
|
|
shape = SubResource("BoxShape3D_4h0n7")
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="FrontWallOpen2" type="CollisionShape3D" parent="Subway/Collider"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.442047, 1.4940796, -1.4447353)
|
2026-01-20 20:07:41 +00:00
|
|
|
shape = SubResource("BoxShape3D_xhnml")
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="FrontWallOpen3" type="CollisionShape3D" parent="Subway/Collider"]
|
|
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.829376, 1.4940796, -1.4447353)
|
2026-01-20 20:07:41 +00:00
|
|
|
shape = SubResource("BoxShape3D_5b47p")
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="RearWall" type="CollisionShape3D" parent="Subway/Collider"]
|
2026-01-20 20:07:41 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.344, 1.457)
|
|
|
|
|
shape = SubResource("BoxShape3D_aacjs")
|
|
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="DriverCabin1" type="CollisionShape3D" parent="Subway/Collider"]
|
2026-01-20 20:07:41 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15.448963, 1.0697384, 0)
|
|
|
|
|
shape = SubResource("SphereShape3D_5jpg8")
|
2026-01-20 23:58:31 +00:00
|
|
|
debug_color = Color(0, 0.46666667, 0.54901963, 0.9254902)
|
2026-01-20 20:07:41 +00:00
|
|
|
|
2026-01-20 23:58:31 +00:00
|
|
|
[node name="DriverCabin2" type="CollisionShape3D" parent="Subway/Collider"]
|
2026-01-20 20:07:41 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.730333, 1.0697384, 0)
|
|
|
|
|
shape = SubResource("SphereShape3D_5jpg8")
|
2026-01-20 23:58:31 +00:00
|
|
|
debug_color = Color(0, 0.46666667, 0.54901963, 0.9254902)
|
|
|
|
|
|
|
|
|
|
[node name="TrainFloor" type="CollisionShape3D" parent="Subway/Collider"]
|
|
|
|
|
unique_name_in_owner = true
|
2026-01-21 00:13:47 +00:00
|
|
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0)
|
2026-01-20 23:58:31 +00:00
|
|
|
shape = SubResource("BoxShape3D_q8slu")
|
|
|
|
|
debug_color = Color(0.5375858, 0, 0.22143945, 1)
|