[gd_scene load_steps=22 format=3 uid="uid://fgp3s28h7msy"] [ext_resource type="Script" uid="uid://snugj1gnggjj" path="res://base-environments/transition/subway_sequence.gd" id="1_qkqxa"] [ext_resource type="PackedScene" uid="uid://dotekvpr6rytk" path="res://base-environments/transition/import/subway_train.glb" id="2_0gtr1"] [ext_resource type="Script" uid="uid://br1w2nt4pj8lt" path="res://vfx/post_processing/post_process_shader_template.gd" id="3_asqp6"] [ext_resource type="Script" uid="uid://mgertkn5ub0g" path="res://dev-util/hdr_sdr_switch.gd" id="4_1dsor"] [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 = fract(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 = 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, anim_progress); ROUGHNESS = 0.6; SPECULAR = 0.4; } //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.215924, 0.226721, 0.259109, 0.268556, 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="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) ground_bottom_color = Color(0.578219, 0.40697, 0.222187, 1) ground_horizon_color = Color(0.138283, 0.487665, 0.674041, 1) ground_curve = 0.165643 ground_energy_multiplier = 0.2 [sub_resource type="Sky" id="Sky_5ahgt"] sky_material = SubResource("ProceduralSkyMaterial_wgcl8") [sub_resource type="Environment" id="Environment_8c5ii"] background_mode = 2 sky = SubResource("Sky_5ahgt") reflected_light_source = 2 tonemap_mode = 4 ssil_radius = 7.0 ssil_intensity = 2.0 sdfgi_read_sky_light = false sdfgi_energy = 0.7 glow_enabled = true glow_levels/2 = 0.05 glow_levels/3 = 0.1 glow_levels/4 = 0.2 glow_levels/5 = 0.4 glow_levels/6 = 0.5 glow_normalized = true glow_intensity = 0.5 glow_strength = 0.7 glow_mix = 1.0 glow_bloom = 0.2 glow_blend_mode = 1 glow_hdr_threshold = 0.5 glow_hdr_luminance_cap = 50.0 fog_enabled = true fog_light_color = Color(0.036443412, 0.15397307, 0.18791193, 1) fog_density = 0.02 fog_height = 0.25 fog_height_density = 0.5 volumetric_fog_density = 0.03 volumetric_fog_albedo = Color(0.395, 0.6122501, 0.79, 1) adjustment_enabled = true [sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_symoa"] exposure_multiplier = 1.555 [sub_resource type="CompositorEffect" id="CompositorEffect_820wi"] resource_local_to_scene = false resource_name = "" enabled = true effect_callback_type = 4 needs_motion_vectors = false needs_normal_roughness = false script = ExtResource("3_asqp6") shader_code = "//color.rgb = pow(color.rgb, vec3(1.3)); color.rgb = max(vec3(0.0), pow(color.rgb, vec3(1.6, 1.5, 1.4)) * vec3(5.0, 4.0, 4.0) + vec3(-0.01, 0.01, -0.0)); //float gray = color.r * 0.2125 + color.g * 0.7154 + color.b * 0.0721; //color.rgb = vec3(gray);" metadata/_custom_type_script = "uid://br1w2nt4pj8lt" [sub_resource type="Compositor" id="Compositor_e75no"] compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_820wi")]) [node name="Transition" type="Node3D"] script = ExtResource("1_qkqxa") [node name="Train" type="Node3D" parent="."] [node name="Visuals" type="Node3D" parent="Train"] [node name="subway_train" parent="Train/Visuals" instance=ExtResource("2_0gtr1")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2.728592, 0, -6.3515224) [node name="MeshInstance3D8" type="MeshInstance3D" parent="Train/Visuals/subway_train"] transform = Transform3D(42.0103, -2.6645353e-15, 2.842171e-14, 0, 2.8739078, 0.18081096, -4.5474735e-13, -0.18081096, 2.8739078, -14.763592, 1.286, 1.8485231) material_override = SubResource("ShaderMaterial_0vobo") mesh = SubResource("QuadMesh_ppxbm") skeleton = NodePath("../../../GPUParticles3D4") [node name="Collider" type="Node3D" parent="Train"] [node name="Station" type="Node3D" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."] environment = SubResource("Environment_8c5ii") camera_attributes = SubResource("CameraAttributesPractical_symoa") compositor = SubResource("Compositor_e75no") script = ExtResource("4_1dsor")