HDR prototyping
This commit is contained in:
parent
8a5f05cd77
commit
6ba9a4d71f
BIN
design/subway/subway.blend (Stored with Git LFS)
BIN
design/subway/subway.blend (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,30 @@
|
|||
[remap]
|
||||
|
||||
importer="2d_array_texture"
|
||||
type="CompressedTexture2DArray"
|
||||
uid="uid://c10f1lvpdwof1"
|
||||
path.bptc="res://.godot/imported/first_platform.exr-bf0aee728bd8ca619cebb9a324548516.bptc.ctexarray"
|
||||
path.astc="res://.godot/imported/first_platform.exr-bf0aee728bd8ca619cebb9a324548516.astc.ctexarray"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://base-environments/transition/first_platform.exr"
|
||||
dest_files=["res://.godot/imported/first_platform.exr-bf0aee728bd8ca619cebb9a324548516.bptc.ctexarray", "res://.godot/imported/first_platform.exr-bf0aee728bd8ca619cebb9a324548516.astc.ctexarray"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/channel_pack=1
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
slices/horizontal=1
|
||||
slices/vertical=3
|
||||
Binary file not shown.
|
|
@ -0,0 +1,777 @@
|
|||
[gd_scene load_steps=48 format=3 uid="uid://dgxujvk66rka6"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://cb4m4oe32guqi" path="res://base-environments/transition/import/first_station.glb" id="1_yerc2"]
|
||||
[ext_resource type="Shader" uid="uid://sxauef61xfpx" path="res://base-environments/transition/time_sparks.gdshader" id="2_4y17u"]
|
||||
[ext_resource type="PackedScene" uid="uid://bk1l1a7eae838" path="res://base-environments/transition/misc/subway_map.tscn" id="2_5npvd"]
|
||||
[ext_resource type="Texture2D" uid="uid://cxsne8gg5fmca" path="res://base-environments/transition/shaders/time_spark.png" id="3_cbtb8"]
|
||||
[ext_resource type="VoxelGIData" uid="uid://bxv4p0cx0u1vu" path="res://base-environments/transition/test_gi.res" id="4_nmgvo"]
|
||||
[ext_resource type="Material" uid="uid://dmmkkclq8xlvu" path="res://base-environments/transition/shaders/platform_foam.tres" id="5_32vcv"]
|
||||
[ext_resource type="Texture2D" uid="uid://c7ks4lvp3aw64" path="res://base-environments/transition/misc/annalena_graffiti_albedo.png" id="7_tid2w"]
|
||||
[ext_resource type="Texture2D" uid="uid://byovh27jwtbhh" path="res://base-environments/transition/misc/annalena_graffiti_orm.png" id="8_xh1hp"]
|
||||
[ext_resource type="Texture2D" uid="uid://jtr7v163pfy7" path="res://base-environments/transition/misc/blender_graffiti_albedo.png" id="9_bvylv"]
|
||||
[ext_resource type="Texture2D" uid="uid://cwjr0xq64hdsw" path="res://base-environments/transition/misc/blender_graffiti_orm.png" id="10_xrnct"]
|
||||
[ext_resource type="Material" uid="uid://d3rfe7mryshj1" path="res://base-environments/transition/import/next_room_peak.tres" id="11_sy31e"]
|
||||
[ext_resource type="PackedScene" uid="uid://dotekvpr6rytk" path="res://base-environments/transition/import/subway_train.glb" id="12_dgbje"]
|
||||
[ext_resource type="VoxelGIData" uid="uid://fjy2ca233sp4" path="res://base-environments/transition/subway_car_gi.res" id="13_f5y2f"]
|
||||
[ext_resource type="AudioStream" uid="uid://cr77al1x73vyb" path="res://base-environments/transition/vfx/harbour waves calm 01.mp3" id="14_awhi4"]
|
||||
[ext_resource type="AudioStream" uid="uid://xn5qegs2ckea" path="res://base-environments/transition/vfx/SUBWAY_02.ogg" id="15_iyklq"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_sjsoq"]
|
||||
viewport_path = NodePath("first_station/MeshInstance3D/SubViewport")
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_cb8p6"]
|
||||
resource_local_to_scene = true
|
||||
albedo_texture = SubResource("ViewportTexture_sjsoq")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_d1dx0"]
|
||||
size = Vector2(1.505, 1)
|
||||
|
||||
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_nspcl"]
|
||||
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_nspcl")
|
||||
|
||||
[sub_resource type="Environment" id="Environment_hovki"]
|
||||
background_mode = 2
|
||||
sky = SubResource("Sky_5ahgt")
|
||||
reflected_light_source = 2
|
||||
tonemap_mode = 2
|
||||
tonemap_exposure = 1.5
|
||||
sdfgi_energy = 0.2
|
||||
glow_enabled = true
|
||||
glow_levels/2 = 0.2
|
||||
glow_levels/3 = 0.5
|
||||
glow_levels/4 = 0.5
|
||||
glow_levels/6 = 1.0
|
||||
glow_levels/7 = 0.3
|
||||
glow_strength = 0.7
|
||||
glow_mix = 1.0
|
||||
glow_bloom = 0.5
|
||||
glow_blend_mode = 1
|
||||
glow_hdr_threshold = 1.74
|
||||
glow_hdr_luminance_cap = 66.78
|
||||
fog_light_color = Color(0.0449019, 0.147257, 0.213563, 1)
|
||||
fog_height = 0.25
|
||||
fog_height_density = 0.5
|
||||
volumetric_fog_enabled = true
|
||||
volumetric_fog_albedo = Color(0.3792, 0.60514, 0.79, 1)
|
||||
adjustment_enabled = true
|
||||
adjustment_contrast = 1.02
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4tj6b"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("2_4y17u")
|
||||
shader_parameter/spark_texture = ExtResource("3_cbtb8")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_hrj0e"]
|
||||
offsets = PackedFloat32Array(0.0322581, 0.285714, 0.617512, 0.746544, 0.903226)
|
||||
colors = PackedColorArray(0, 0.38, 0.240667, 0.0431373, 0.34, 0.12, 1, 0.258824, 0.76, 0.486147, 0.4104, 0.368627, 0.94, 0.82156, 0.5452, 0.717647, 0.83, 0, 0.2075, 0.827451)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7joox"]
|
||||
gradient = SubResource("Gradient_hrj0e")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_08fxi"]
|
||||
offsets = PackedFloat32Array(0, 0.617512, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_0or17"]
|
||||
gradient = SubResource("Gradient_08fxi")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_hvcdc"]
|
||||
lifetime_randomness = 0.5
|
||||
particle_flag_align_y = true
|
||||
emission_shape_scale = Vector3(1, 1.5, 1.5)
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 2.0
|
||||
direction = Vector3(0, 0, 1)
|
||||
spread = 0.0
|
||||
initial_velocity_max = 1.0
|
||||
gravity = Vector3(0, 0, 0)
|
||||
scale_min = 0.3
|
||||
scale_max = 2.0
|
||||
color_ramp = SubResource("GradientTexture1D_0or17")
|
||||
color_initial_ramp = SubResource("GradientTexture1D_7joox")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_oo2l3"]
|
||||
size = Vector2(1, 150)
|
||||
orientation = 0
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_f5y2f"]
|
||||
exposure_multiplier = 0.8
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_weiut"]
|
||||
offsets = PackedFloat32Array(0, 0.99726)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_7odmj"]
|
||||
gradient = SubResource("Gradient_weiut")
|
||||
|
||||
[sub_resource type="Curve" id="Curve_txpdm"]
|
||||
_data = [Vector2(0, 0.598214), 0.0, 0.123397, 0, 0, Vector2(0.986395, 0.991072), 1.47656, 0.0, 0, 0]
|
||||
point_count = 2
|
||||
|
||||
[sub_resource type="CurveTexture" id="CurveTexture_2imtd"]
|
||||
curve = SubResource("Curve_txpdm")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_gayoc"]
|
||||
emission_shape_offset = Vector3(1.74, 0, 0)
|
||||
emission_shape_scale = Vector3(0.3, 0.3, 40)
|
||||
emission_shape = 3
|
||||
emission_box_extents = Vector3(1, 1, 1)
|
||||
angle_min = -180.0
|
||||
angle_max = 180.0
|
||||
direction = Vector3(0, 10, 1)
|
||||
spread = 0.0
|
||||
initial_velocity_min = 6.0
|
||||
initial_velocity_max = 10.0
|
||||
gravity = Vector3(-10, -9.8, 5)
|
||||
damping_min = 4.0
|
||||
damping_max = 8.0
|
||||
scale_min = 0.3
|
||||
scale_max = 1.75
|
||||
scale_curve = SubResource("CurveTexture_2imtd")
|
||||
color_initial_ramp = SubResource("GradientTexture1D_7odmj")
|
||||
turbulence_enabled = true
|
||||
turbulence_noise_strength = 0.1
|
||||
turbulence_influence_min = 0.01
|
||||
turbulence_influence_max = 0.05
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_8c2us"]
|
||||
orientation = 2
|
||||
|
||||
[sub_resource type="Animation" id="Animation_dgbje"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.785, 2.75, -0.535)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-0.671952, 0, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("../MeshInstance3D:material_override:emission_energy_multiplier")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [3.0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../MeshInstance3D:material_override:emission")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(0.0748178, 0.134808, 0.168364, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../Control/Sprite2D:self_modulate")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../GPUParticles3D:emitting")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("../AudioStreamPlayer2:volume_db")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("../AudioStreamPlayer:volume_db")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [0.0]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_irpux"]
|
||||
resource_name = "trailer"
|
||||
length = 15.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".:position")
|
||||
tracks/0/interp = 2
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0.633329, 2.42333, 4.86666, 10.4333, 14.6999),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.785, 2.75, -0.535), Vector3(0.89, 1.895, -1.695), Vector3(0.82, 1.245, -2.975), Vector3(0.82, 1.11, -5.74), Vector3(1.525, 1.12, -8.26)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath(".:rotation")
|
||||
tracks/1/interp = 2
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0.913329, 3.53333, 4.55333, 5.63333, 7.13666, 9.83333, 12.1705, 14.8928),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(-1.0472, 0, 0), Vector3(-0.671952, 0, 0), Vector3(-0.593412, 0, 0), Vector3(-0.125664, -0.701622, 0.0785398), Vector3(-0.125664, 0.235619, -0.0523599), Vector3(0, -0.235619, 0), Vector3(0, -2.26718, -0.127409), Vector3(0, -0.235619, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("../MeshInstance3D:material_override:emission_energy_multiplier")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(4.69333, 10.6133),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [1.0, 3.0]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("../MeshInstance3D:material_override:emission")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(8.2, 10.6333),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(0.0748178, 0.134808, 0.168364, 1), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/4/type = "audio"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("../AudioStreamPlayer")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.0,
|
||||
"stream": ExtResource("14_awhi4")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.0666667)
|
||||
}
|
||||
tracks/4/use_blend = true
|
||||
tracks/5/type = "audio"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("../AudioStreamPlayer2")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 0.664513,
|
||||
"stream": ExtResource("15_iyklq")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.076102)
|
||||
}
|
||||
tracks/5/use_blend = true
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("../Control/Sprite2D:self_modulate")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0.533333, 3.7, 13.3494, 14.3),
|
||||
"transitions": PackedFloat32Array(1, 1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Color(1, 1, 1, 1), Color(1, 1, 1, 0), Color(1, 1, 1, 0), Color(1, 1, 1, 1)]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("../GPUParticles3D:emitting")
|
||||
tracks/7/interp = 0
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0.3, 7.26164),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("../AudioStreamPlayer2:volume_db")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(13.8333, 15),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, -80.0]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("../AudioStreamPlayer:volume_db")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(13.8667, 15),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [0.0, -80.0]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_sy31e"]
|
||||
_data = {
|
||||
&"RESET": SubResource("Animation_dgbje"),
|
||||
&"trailer": SubResource("Animation_irpux")
|
||||
}
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_dgbje"]
|
||||
exposure_multiplier = 2.0
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_f5y2f"]
|
||||
emission_enabled = true
|
||||
emission = Color(0.250458, 0.274236, 0.577358, 1)
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_awhi4"]
|
||||
|
||||
[sub_resource type="Shader" id="Shader_iyklq"]
|
||||
code = "shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_always, cull_back;
|
||||
uniform sampler2D DEPTH_TEXTURE: hint_depth_texture;
|
||||
uniform vec3 fog_color: source_color = vec3(0);
|
||||
uniform float density: hint_range(0.0, 0.2) = .05;
|
||||
|
||||
|
||||
void fragment() {
|
||||
|
||||
float depth = texture(DEPTH_TEXTURE, SCREEN_UV).r;
|
||||
depth = PROJECTION_MATRIX[3][2] / (depth + PROJECTION_MATRIX[2][2]);
|
||||
depth += VERTEX.z;
|
||||
depth = clamp(depth * density, 0.0, 1.0);
|
||||
|
||||
ALBEDO = fog_color;
|
||||
ALPHA = pow(depth, 0.5);
|
||||
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tpaj8"]
|
||||
render_priority = 1
|
||||
shader = SubResource("Shader_iyklq")
|
||||
shader_parameter/fog_color = Color(0.0392674, 0.120682, 0.141248, 1)
|
||||
shader_parameter/density = 0.05
|
||||
|
||||
[sub_resource type="PlaneMesh" id="PlaneMesh_bjefl"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dgbje"]
|
||||
emission_enabled = true
|
||||
emission = Color(1, 0, 0, 1)
|
||||
emission_energy_multiplier = 10.0
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_ckmi5"]
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_iyklq"]
|
||||
gradient = SubResource("Gradient_ckmi5")
|
||||
width = 100
|
||||
height = 100
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
|
||||
[node name="first_station" parent="." instance=ExtResource("1_yerc2")]
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="first_station"]
|
||||
transform = Transform3D(0, 0, 1.46175, 0, 1.46175, 0, -1.46175, 0, 0, 0.124229, 1.13951, -12.668)
|
||||
visible = false
|
||||
material_override = SubResource("StandardMaterial3D_cb8p6")
|
||||
mesh = SubResource("QuadMesh_d1dx0")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="first_station/MeshInstance3D"]
|
||||
size = Vector2i(2896, 2048)
|
||||
|
||||
[node name="SubwayMap" parent="first_station/MeshInstance3D/SubViewport" instance=ExtResource("2_5npvd")]
|
||||
|
||||
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
||||
environment = SubResource("Environment_hovki")
|
||||
|
||||
[node name="OmniLight3D" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -10.1989)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D13" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -0.5, 0.866025, 0, -0.866025, -0.5, -0.252596, 2.54413, -5.1989)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D2" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -15.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D3" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -20.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D4" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -25.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D5" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -30.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D6" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -35.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D7" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -40.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D8" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -45.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D9" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -50.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D10" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -55.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D11" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -60.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="OmniLight3D12" type="SpotLight3D" parent="WorldEnvironment"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -0.252596, 2.54413, -65.2744)
|
||||
light_color = Color(0.978917, 0.789534, 0.685226, 1)
|
||||
light_size = 0.6
|
||||
light_specular = 0.0
|
||||
light_bake_mode = 1
|
||||
shadow_enabled = true
|
||||
shadow_blur = 6.0
|
||||
spot_range = 7.0
|
||||
spot_angle = 80.0
|
||||
spot_angle_attenuation = 0.517633
|
||||
|
||||
[node name="GPUParticles3D" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.8785, 1.08384, -32.4645)
|
||||
sorting_offset = 100.0
|
||||
material_override = SubResource("ShaderMaterial_4tj6b")
|
||||
emitting = false
|
||||
amount = 10
|
||||
lifetime = 10.0
|
||||
explosiveness = 0.5
|
||||
randomness = 0.55
|
||||
visibility_aabb = AABB(-4, -4, -30, 8, 8, 60)
|
||||
draw_order = 3
|
||||
process_material = SubResource("ParticleProcessMaterial_hvcdc")
|
||||
draw_pass_1 = SubResource("QuadMesh_oo2l3")
|
||||
|
||||
[node name="GPUParticles3D2" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.65518, 1.08384, -32.4645)
|
||||
visible = false
|
||||
sorting_offset = 100.0
|
||||
material_override = SubResource("ShaderMaterial_4tj6b")
|
||||
amount = 5
|
||||
lifetime = 10.0
|
||||
explosiveness = 0.5
|
||||
randomness = 0.55
|
||||
visibility_aabb = AABB(-4, -4, -30, 8, 8, 60)
|
||||
draw_order = 3
|
||||
process_material = SubResource("ParticleProcessMaterial_hvcdc")
|
||||
draw_pass_1 = SubResource("QuadMesh_oo2l3")
|
||||
|
||||
[node name="VoxelGI" type="VoxelGI" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.53159, -32.7307)
|
||||
subdiv = 2
|
||||
size = Vector3(20, 7.1879, 99.7711)
|
||||
camera_attributes = SubResource("CameraAttributesPractical_f5y2f")
|
||||
data = ExtResource("4_nmgvo")
|
||||
|
||||
[node name="GPUParticles3D3" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.18283, 0.258846, -32.3954)
|
||||
visible = false
|
||||
material_override = ExtResource("5_32vcv")
|
||||
amount = 1000
|
||||
lifetime = 1.5
|
||||
speed_scale = 0.2
|
||||
explosiveness = 0.4
|
||||
randomness = 1.0
|
||||
visibility_aabb = AABB(-4, -4, -30, 8, 8, 60)
|
||||
local_coords = true
|
||||
draw_order = 3
|
||||
process_material = SubResource("ParticleProcessMaterial_gayoc")
|
||||
draw_pass_1 = SubResource("PlaneMesh_8c2us")
|
||||
|
||||
[node name="GPUParticles3D4" type="GPUParticles3D" parent="."]
|
||||
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -6.80088, 0.258846, -32.3954)
|
||||
visible = false
|
||||
material_override = ExtResource("5_32vcv")
|
||||
gi_mode = 2
|
||||
visibility_range_begin_margin = 1.0
|
||||
amount = 1000
|
||||
lifetime = 1.5
|
||||
speed_scale = 0.22
|
||||
explosiveness = 0.4
|
||||
randomness = 1.0
|
||||
visibility_aabb = AABB(-4, -4, -30, 8, 8, 60)
|
||||
local_coords = true
|
||||
draw_order = 3
|
||||
process_material = SubResource("ParticleProcessMaterial_gayoc")
|
||||
draw_pass_1 = SubResource("PlaneMesh_8c2us")
|
||||
|
||||
[node name="Decal" type="Decal" parent="."]
|
||||
transform = Transform3D(1.29235, 0, -5.64905e-08, -5.64905e-08, 2.46928e-15, -1.29235, 0, 1.29235, 2.46928e-15, 0.0490856, 1.34774, -66.1623)
|
||||
visible = false
|
||||
size = Vector3(4, 2, 2)
|
||||
texture_albedo = ExtResource("7_tid2w")
|
||||
texture_orm = ExtResource("8_xh1hp")
|
||||
|
||||
[node name="Decal2" type="Decal" parent="."]
|
||||
transform = Transform3D(1.59383, 0, -6.96684e-08, -6.96684e-08, 3.0453e-15, -1.59383, 0, 1.59383, 3.0453e-15, 0.0490856, 1.16765, -65.1685)
|
||||
size = Vector3(4, 2, 2)
|
||||
texture_albedo = ExtResource("9_bvylv")
|
||||
texture_orm = ExtResource("10_xrnct")
|
||||
albedo_mix = 0.92
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.782608, 0.622515, 0, -0.622515, 0.782608, 0.785, 2.75, -0.535)
|
||||
fov = 45.0
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="Camera3D"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_sy31e")
|
||||
}
|
||||
autoplay = "trailer"
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
material_override = ExtResource("11_sy31e")
|
||||
|
||||
[node name="subway_train" parent="." instance=ExtResource("12_dgbje")]
|
||||
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -6.44337, -0.125, -8.52174)
|
||||
visible = false
|
||||
|
||||
[node name="VoxelGI" type="VoxelGI" parent="subway_train"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -25.5427, 1.26147, 5.72205e-06)
|
||||
subdiv = 3
|
||||
size = Vector3(31.2329, 4.60791, 4.26172)
|
||||
camera_attributes = SubResource("CameraAttributesPractical_dgbje")
|
||||
data = ExtResource("13_f5y2f")
|
||||
|
||||
[node name="MeshInstance3D2" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-1.09, 0, 3.35223e-06, 0, 1.514, 0, -9.52908e-08, 0, -38.345, -6.62142, -0.527946, -27.073)
|
||||
visible = false
|
||||
material_override = SubResource("StandardMaterial3D_f5y2f")
|
||||
mesh = SubResource("PlaneMesh_awhi4")
|
||||
|
||||
[node name="MeshInstance3D3" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(3.52244, 0, 0, 0, -1.2314e-07, 2.81712, 0, -2.81712, -1.2314e-07, -6.37235, 1.22511, 0.165661)
|
||||
material_override = SubResource("ShaderMaterial_tpaj8")
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_bjefl")
|
||||
skeleton = NodePath("../MeshInstance3D2")
|
||||
|
||||
[node name="MeshInstance3D4" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(3.52244, 0, 0, 0, -1.2314e-07, 2.81712, 0, -2.81712, -1.2314e-07, 6.372, 1.225, 0.166)
|
||||
material_override = SubResource("ShaderMaterial_tpaj8")
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_bjefl")
|
||||
skeleton = NodePath("../MeshInstance3D2")
|
||||
|
||||
[node name="MeshInstance3D6" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.2314e-07, 2.81712, -3.07942e-07, 2.81712, 1.2314e-07, 6.372, 1.22511, -66.2916)
|
||||
material_override = SubResource("ShaderMaterial_tpaj8")
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_bjefl")
|
||||
skeleton = NodePath("../MeshInstance3D2")
|
||||
|
||||
[node name="MeshInstance3D7" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(-3.52244, -2.4628e-07, -1.07652e-14, 0, -1.2314e-07, 2.81712, -3.07942e-07, 2.81712, 1.2314e-07, -6.37235, 1.225, -66.292)
|
||||
material_override = SubResource("ShaderMaterial_tpaj8")
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_bjefl")
|
||||
skeleton = NodePath("../MeshInstance3D2")
|
||||
|
||||
[node name="MeshInstance3D5" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(3.52244, 0, 0, 0, -2.21081, 1.74599, 0, -1.74599, -2.21081, 0, 4.91844, 1.52058)
|
||||
material_override = SubResource("ShaderMaterial_tpaj8")
|
||||
gi_mode = 0
|
||||
mesh = SubResource("PlaneMesh_bjefl")
|
||||
skeleton = NodePath("../MeshInstance3D2")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -6.66292, -0.4523, -24.7506)
|
||||
visible = false
|
||||
material_override = SubResource("StandardMaterial3D_dgbje")
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
autoplay = true
|
||||
mix_target = 1
|
||||
bus = &"waves"
|
||||
|
||||
[node name="AudioStreamPlayer2" type="AudioStreamPlayer3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.91435, 0, -13.0111)
|
||||
autoplay = true
|
||||
panning_strength = 0.9
|
||||
bus = &"waves"
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
layout_mode = 3
|
||||
anchors_preset = 0
|
||||
offset_right = 40.0
|
||||
offset_bottom = 40.0
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Control"]
|
||||
scale = Vector2(100, 100)
|
||||
texture = SubResource("GradientTexture2D_iyklq")
|
||||
File diff suppressed because one or more lines are too long
BIN
src/base-environments/transition/import/first_station.glb (Stored with Git LFS)
BIN
src/base-environments/transition/import/first_station.glb (Stored with Git LFS)
Binary file not shown.
|
|
@ -15,9 +15,11 @@ dest_files=["res://.godot/imported/first_station.glb-6a12519729615267f30d0bbe877
|
|||
|
||||
nodes/root_type=""
|
||||
nodes/root_name=""
|
||||
nodes/root_script=null
|
||||
nodes/apply_root_scale=true
|
||||
nodes/root_scale=1.0
|
||||
nodes/import_as_skeleton_bones=false
|
||||
nodes/use_name_suffixes=true
|
||||
nodes/use_node_type_suffixes=true
|
||||
meshes/ensure_tangents=true
|
||||
meshes/generate_lods=true
|
||||
|
|
@ -32,19 +34,25 @@ animation/trimming=false
|
|||
animation/remove_immutable_tracks=true
|
||||
animation/import_rest_as_RESET=false
|
||||
import_script/path=""
|
||||
materials/extract=0
|
||||
materials/extract_format=0
|
||||
materials/extract_path=""
|
||||
_subresources={
|
||||
"materials": {
|
||||
"Banco": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/Banco.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/Banco.tres",
|
||||
"use_external/path": "uid://424btrdxx1jn"
|
||||
},
|
||||
"FluorescenteLuz": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/FluorescenteLuz.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/FluorescenteLuz.tres",
|
||||
"use_external/path": "uid://b6t2jc424d33h"
|
||||
},
|
||||
"LuzTunelLarga": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/LuzTunelLarga.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/LuzTunelLarga.tres",
|
||||
"use_external/path": "uid://ioeejfu3wmam"
|
||||
},
|
||||
"Material.003": {
|
||||
"use_external/enabled": true,
|
||||
|
|
@ -52,7 +60,8 @@ _subresources={
|
|||
},
|
||||
"ParedTunel": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/ParedTunel.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/ParedTunel.tres",
|
||||
"use_external/path": "uid://bcim2jku0oi5s"
|
||||
},
|
||||
"beam_metal": {
|
||||
"use_external/enabled": true,
|
||||
|
|
@ -64,19 +73,23 @@ _subresources={
|
|||
},
|
||||
"escalator_paneling": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/escalator_paneling.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/escalator_paneling.tres",
|
||||
"use_external/path": "uid://cbw2wfs45olip"
|
||||
},
|
||||
"escalator_rim": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/escalator_rim.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/escalator_rim.tres",
|
||||
"use_external/path": "uid://ldo63jlqd5td"
|
||||
},
|
||||
"escalator_steps": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/escalator_steps.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/escalator_steps.tres",
|
||||
"use_external/path": "uid://bhvlmumjhbj2u"
|
||||
},
|
||||
"green_pillar": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/green_pillar.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/green_pillar.tres",
|
||||
"use_external/path": "uid://b5dojscygn3go"
|
||||
},
|
||||
"metal": {
|
||||
"use_external/enabled": true,
|
||||
|
|
@ -88,55 +101,68 @@ _subresources={
|
|||
},
|
||||
"pipeage": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/pipeage.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/pipeage.tres",
|
||||
"use_external/path": "uid://idiy0k4l0pck"
|
||||
},
|
||||
"pipeage.001": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/pipeage.001.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/pipeage.001.tres",
|
||||
"use_external/path": "uid://dm44x4w5rxejw"
|
||||
},
|
||||
"rails": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/rails.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/rails.tres",
|
||||
"use_external/path": "uid://br7xd223mip1g"
|
||||
},
|
||||
"river_of_time": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/river_of_time.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/river_of_time.tres",
|
||||
"use_external/path": "uid://cf2sgjrkn6kor"
|
||||
},
|
||||
"signal_lights": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/signal_lights.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/signal_lights.tres",
|
||||
"use_external/path": "uid://c2ybk0gr3jbv3"
|
||||
},
|
||||
"sink": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/sink.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/sink.tres",
|
||||
"use_external/path": "uid://ymsxij54stua"
|
||||
},
|
||||
"speakers": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/speakers.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/speakers.tres",
|
||||
"use_external/path": "uid://b18iocnscjdie"
|
||||
},
|
||||
"station_ceiling": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/station_ceiling.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/station_ceiling.tres",
|
||||
"use_external/path": "uid://c7ueklebq08f7"
|
||||
},
|
||||
"station_floor": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/station_floor.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/station_floor.tres",
|
||||
"use_external/path": "uid://duhe1nn0uwulo"
|
||||
},
|
||||
"station_metal": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/station_metal.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/station_metal.tres",
|
||||
"use_external/path": "uid://ywkkddtxjrxj"
|
||||
},
|
||||
"station_tiles": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/textures/station_tiles.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/textures/station_tiles.tres",
|
||||
"use_external/path": "uid://b3wybjajg4dr3"
|
||||
},
|
||||
"tactile_paving": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/tactile_paving.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/tactile_paving.tres",
|
||||
"use_external/path": "uid://ciml57ca083bi"
|
||||
},
|
||||
"unlit_station_tiles": {
|
||||
"use_external/enabled": true,
|
||||
"use_external/path": "res://base-environments/transition/import/unlit_station_tiles.tres"
|
||||
"use_external/fallback_path": "res://base-environments/transition/import/unlit_station_tiles.tres",
|
||||
"use_external/path": "uid://b6tr83kldm1ty"
|
||||
}
|
||||
},
|
||||
"meshes": {
|
||||
|
|
@ -146,6 +172,7 @@ _subresources={
|
|||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": false,
|
||||
"save_to_file/fallback_path": "",
|
||||
"save_to_file/path": ""
|
||||
},
|
||||
"first_station_escalator_stairs": {
|
||||
|
|
@ -162,6 +189,7 @@ _subresources={
|
|||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": false,
|
||||
"save_to_file/fallback_path": "",
|
||||
"save_to_file/path": ""
|
||||
},
|
||||
"first_station_raised_ceiling": {
|
||||
|
|
@ -170,6 +198,7 @@ _subresources={
|
|||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": false,
|
||||
"save_to_file/fallback_path": "",
|
||||
"save_to_file/path": ""
|
||||
},
|
||||
"first_station_station_ceiling": {
|
||||
|
|
@ -178,6 +207,7 @@ _subresources={
|
|||
"generate/shadow_meshes": 0,
|
||||
"lods/normal_merge_angle": 60.0,
|
||||
"save_to_file/enabled": false,
|
||||
"save_to_file/fallback_path": "",
|
||||
"save_to_file/path": ""
|
||||
},
|
||||
"first_station_water": {
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@ cull_mode = 2
|
|||
albedo_color = Color(0, 0, 0, 1)
|
||||
metallic = 1.0
|
||||
emission_enabled = true
|
||||
emission = Color(1, 1, 1, 1)
|
||||
emission = Color(0.0748178, 0.134808, 0.168364, 1)
|
||||
emission_energy_multiplier = 3.0
|
||||
|
|
|
|||
BIN
src/base-environments/transition/import/textures/ceiling_lightmap.png (Stored with Git LFS)
Normal file
BIN
src/base-environments/transition/import/textures/ceiling_lightmap.png (Stored with Git LFS)
Normal file
Binary file not shown.
|
|
@ -0,0 +1,42 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dgron8fjelbc5"
|
||||
path.s3tc="res://.godot/imported/ceiling_lightmap.png-5293cb6a05e7ed5940e01829ee43515d.s3tc.ctex"
|
||||
path.etc2="res://.godot/imported/ceiling_lightmap.png-5293cb6a05e7ed5940e01829ee43515d.etc2.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://base-environments/transition/import/textures/ceiling_lightmap.png"
|
||||
dest_files=["res://.godot/imported/ceiling_lightmap.png-5293cb6a05e7ed5940e01829ee43515d.s3tc.ctex", "res://.godot/imported/ceiling_lightmap.png-5293cb6a05e7ed5940e01829ee43515d.etc2.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
|
@ -1,7 +1,8 @@
|
|||
[gd_resource type="StandardMaterial3D" load_steps=4 format=3 uid="uid://c7ueklebq08f7"]
|
||||
[gd_resource type="StandardMaterial3D" load_steps=5 format=3 uid="uid://c7ueklebq08f7"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://kgh07207gjeb" path="res://base-environments/transition/import/textures/StationCeiling_baseColor.jpeg" id="1_ouhv1"]
|
||||
[ext_resource type="Texture2D" uid="uid://bsr2wsb2o2yqn" path="res://base-environments/transition/import/textures/StationCeiling_metallicRoughness.png" id="2_vf24e"]
|
||||
[ext_resource type="Texture2D" uid="uid://dgron8fjelbc5" path="res://base-environments/transition/import/textures/ceiling_lightmap.png" id="2_yuvg6"]
|
||||
[ext_resource type="Texture2D" uid="uid://twlm701hfhk5" path="res://base-environments/transition/import/textures/StationCeiling_normal.png" id="3_k7xpx"]
|
||||
|
||||
[resource]
|
||||
|
|
@ -12,5 +13,8 @@ metallic_texture = ExtResource("2_vf24e")
|
|||
metallic_texture_channel = 1
|
||||
roughness_texture = ExtResource("2_vf24e")
|
||||
roughness_texture_channel = 1
|
||||
emission_enabled = true
|
||||
emission_on_uv2 = true
|
||||
emission_texture = ExtResource("2_yuvg6")
|
||||
normal_enabled = true
|
||||
normal_texture = ExtResource("3_k7xpx")
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// NOTE: Shader automatically converted from Godot Engine 4.3.stable's StandardMaterial3D.
|
||||
|
||||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
|
||||
render_mode blend_add, depth_draw_opaque, cull_back, diffuse_burley, specular_schlick_ggx;
|
||||
|
||||
uniform sampler2D spray_texture;
|
||||
uniform sampler2D lifetime_gradient;
|
||||
|
|
@ -66,7 +66,7 @@ void fragment() {
|
|||
float mask = max(0, pow((1.3 - length(0.5-UV)*2.5), 2.0-passtrough.y));
|
||||
//ALPHA = min(1.0, max(0, texture(spray_texture, UV*0.7 - TIME*0.5 - COLOR.xy).x * sin(pow(passtrough.y, 4.0)*PI) + texture(spray_texture, uv).y -0.5) * 2.0 * sin(pow(passtrough.y, 0.3)*PI) * max(0, pow((1.3 - length(0.5-UV) * 2.0), 1.0+passtrough.y)));
|
||||
ALPHA = min(1.0, max(0.0, (foam + mist) * mask)) * min(-VERTEX.z/3.0, 1.0);
|
||||
ALBEDO = texture(lifetime_gradient, vec2(passtrough.y, 0.5)).xyz * .7;
|
||||
ALBEDO = texture(lifetime_gradient, vec2(passtrough.y, 0.5)).xyz * .2;
|
||||
BACKLIGHT = ALBEDO;
|
||||
//EMISSION = COLOR.xyz * max(0, (1.5-pow(passtrough.y, 0.3)*2.0));
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -8,6 +8,7 @@
|
|||
[ext_resource type="ArrayMesh" uid="uid://bsxcltpxwi5c2" path="res://base-environments/youth_room/shaders/lava-metal.res" id="5_4c8kc"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7uei1"]
|
||||
cull_mode = 2
|
||||
albedo_color = Color(0.933333, 0.933333, 0.933333, 1)
|
||||
metallic = 1.0
|
||||
roughness = 0.4
|
||||
|
|
@ -19,20 +20,23 @@ shader_parameter/glass_tint = Color(0.631373, 0.584314, 0.376471, 1)
|
|||
shader_parameter/lightcolor = Color(1.5, 2, 0.76, 1)
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_r18tr"]
|
||||
colors = PackedColorArray(0.705882, 6.36471, 0.211765, 1, 0.279697, 0.985193, 0.315141, 1)
|
||||
interpolation_mode = 2
|
||||
offsets = PackedFloat32Array(0, 0.28945625, 1)
|
||||
colors = PackedColorArray(1.5942307, 4.415934, 0.81375957, 1, 0.3708496, 1.8247963, 0.11428163, 1, 0.24156003, 0.99, 0.15840003, 1)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_42bqf"]
|
||||
gradient = SubResource("Gradient_r18tr")
|
||||
use_hdr = true
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_31q3g"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("4_y2lnx")
|
||||
shader_parameter/gradient = SubResource("GradientTexture2D_42bqf")
|
||||
shader_parameter/drop_size = 0.015
|
||||
shader_parameter/stretch_compensatioon = 35.0
|
||||
shader_parameter/fill = 0.655
|
||||
shader_parameter/speed = 0.01
|
||||
shader_parameter/brightness = 1.0
|
||||
shader_parameter/stretch_compensatioon = 40.0
|
||||
shader_parameter/fill = 0.65
|
||||
shader_parameter/speed = 0.015
|
||||
shader_parameter/brightness = 2.0
|
||||
|
||||
[sub_resource type="Animation" id="Animation_0ijgr"]
|
||||
length = 0.001
|
||||
|
|
@ -115,7 +119,7 @@ skeleton = NodePath("")
|
|||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
root_node = NodePath("../raising")
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_88lyq")
|
||||
&"": SubResource("AnimationLibrary_88lyq")
|
||||
}
|
||||
autoplay = "lavalamp"
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,31 @@
|
|||
[gd_scene load_steps=10 format=3 uid="uid://bcdye1g10mnhq"]
|
||||
|
||||
[ext_resource type="AudioStream" uid="uid://bvoiq2iplmdly" path="res://base-environments/volunteer_room/sounds/roomTheme_Fmaj_105bpm.ogg" id="1_voojx"]
|
||||
[ext_resource type="Script" uid="uid://bso71xkb3xqnb" path="res://dev-util/audio-track.gd" id="2_llw42"]
|
||||
[ext_resource type="Script" uid="uid://qgitde4nibng" path="res://dev-util/filler-track.gd" id="4_u5yqc"]
|
||||
[ext_resource type="Script" uid="uid://cmp8dth4cvo28" path="res://dev-util/music_mix_helper.gd" id="5_q6wlk"]
|
||||
[ext_resource type="Script" uid="uid://7v24sdisnbia" path="res://dev-util/bpm_timer.gd" id="6_cv4e8"]
|
||||
[ext_resource type="Script" uid="uid://c05ftj6kxhpil" path="res://dev-util/music_mixer.gd" id="10_cqqvs"]
|
||||
|
||||
[sub_resource type="AudioStreamPolyphonic" id="AudioStreamPolyphonic_cv4e8"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_cv4e8"]
|
||||
script = ExtResource("2_llw42")
|
||||
audio = ExtResource("1_voojx")
|
||||
metadata/_custom_type_script = "uid://bso71xkb3xqnb"
|
||||
|
||||
[sub_resource type="AudioStream" id="AudioStream_cn15y"]
|
||||
script = ExtResource("10_cqqvs")
|
||||
tracks = Array[ExtResource("2_llw42")]([SubResource("Resource_cv4e8")])
|
||||
metadata/_custom_type_script = "uid://c05ftj6kxhpil"
|
||||
|
||||
[node name="MixedAudioHelper" type="AudioStreamPlayer"]
|
||||
stream = SubResource("AudioStreamPolyphonic_cv4e8")
|
||||
bus = &"music"
|
||||
script = ExtResource("5_q6wlk")
|
||||
actual_stream = SubResource("AudioStream_cn15y")
|
||||
metadata/_custom_type_script = "uid://cmp8dth4cvo28"
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
wait_time = 0.5
|
||||
script = ExtResource("6_cv4e8")
|
||||
|
|
@ -72,27 +72,27 @@ var noise: Noise = FastNoiseLite.new()
|
|||
@export var void_active: bool = true
|
||||
|
||||
func _ready():
|
||||
reduce_motion_changed(State.reduce_motion)
|
||||
reduce_motion_changed(State.reduce_motion)
|
||||
|
||||
func _process(delta):
|
||||
if void_active and not State.reduce_motion:
|
||||
noise_position += delta * noise_speed
|
||||
if void_active and not State.reduce_motion:
|
||||
noise_position += delta * noise_speed
|
||||
|
||||
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
|
||||
var random_position = Vector2(noise.get_noise_1d(noise_position*2), noise.get_noise_1d(-noise_position))
|
||||
|
||||
random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10
|
||||
random_position = random_position.normalized() * pow(random_position.length()*2, noise_power) * 10
|
||||
|
||||
position = initial_position - random_position
|
||||
position = initial_position - random_position
|
||||
|
||||
rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01
|
||||
rotation = noise.get_noise_1d(noise_position*7) * random_position.length() * 0.01
|
||||
|
||||
particles.position = random_position
|
||||
particles.position = random_position
|
||||
|
||||
else: position = initial_position
|
||||
else: position = initial_position
|
||||
|
||||
func reduce_motion_changed(value:bool):
|
||||
$GPUParticles2D.visible = !value
|
||||
$Sprite2D.visible = value
|
||||
$GPUParticles2D.visible = !value
|
||||
$Sprite2D.visible = value
|
||||
"
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_nyks3"]
|
||||
|
|
@ -821,8 +821,6 @@ offset_right = -424.0
|
|||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
script = ExtResource("1_aby4n")
|
||||
story_array = PackedStringArray("Why do i still have this junk lying around? its not like I want to do ju jutsu ever again. I just fucked it.", "I mean I did enjoy it while it lasted. Being able to properly hit people was great.", "It gave me the confidence to intimidate students, that were begging to get folded and - as I only once actually got to do that - it also was a great vent for anger. ", "I mean my tits just about killed me during warmup and the changing room really didn\'t need mirrors - thank you I know my hips are fat and disgusting - but at least there was Lukas.", "He was such a huge nerd. He studied math in his third semester and could talk for hours about his passion.", "Also: my math grades pretty much leaped for my final year in high school thanks to him.", "He also helped me so much with jiu jitsu, as he properly floored me when I slipped up. ", "So Fighting for wins with him was actually rewarding even tho more often than not I ended up having to tap out.", "We also had my first proper kiss. I thought I loved him. But now?", "He was weird that evening. Even more huggy and hyperactive than usual.", "We were under my bed, reading my secret comic stash when I got tired of the floor and told him we should go upstairs.", "We had a play fight on my mattress. I\'ve never seen him fight like this.", "His fingers Curled across my Skin without grabbing me, like he would normally do. And he let me win", "… with this smirk on his face.", "I rolled over exhausted when suddenly he sat on top of me, a pearl of sweat dropped from his nose on my throat.", "He started undoing his shirt.", "Do you have condoms?", "Yes, of course everybody has Why did he ask that?", "I saw my body lying on the bed, getting undressed. I was drifting away, towards the stars.", "My body didn\'t move. It didn\'t say a word when the butterflies tried to escape from its stomach as he kissed it.", "I … observed him from afar. He … didn\'t seem to notice, that I had left.", "That I didn\'t return to kiss him goodbye. That I didn\'t hug him when he went home.", "My hands knocked on my brother’s door. He let me lie on his carpet.", "I slowly returned.", "\"How did it go?, Fabian asked.", "\"It was moist”, I said.", "“That usually helps.”", "He laughed awkwardly. I just wanted to also laugh, but curled into a ball and cried.", "It took him a while to say something. “I … you … it\'s fine Lisa. I know it hurts the first time.”", "He gently stroked the back I was curling towards him.", "That was good. He was a sweet angel. Why must he be so bad at comforting?")
|
||||
paragraph_lengths = PackedInt32Array(3, 6, 8, 9, 10, 12, 15, 16, 17, 18, 20, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 32, 31, 30)
|
||||
progress = 17.0
|
||||
|
||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||
|
|
@ -915,6 +913,7 @@ frame = 2
|
|||
script = SubResource("GDScript_80sa6")
|
||||
noise_speed = 2.79007
|
||||
noise_power = 4.56721
|
||||
void_active = null
|
||||
|
||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"]
|
||||
emitting = false
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ operator = 8
|
|||
|
||||
[resource]
|
||||
code = "shader_type spatial;
|
||||
render_mode blend_add, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
shader_type spatial;
|
||||
render_mode blend_mix, depth_draw_opaque, diffuse_lambert, specular_schlick_ggx, unshaded;
|
||||
render_mode blend_mix, depth_draw_opaque, diffuse_lambert, specular_schlick_ggx;
|
||||
|
||||
uniform sampler2D gradient;
|
||||
uniform float drop_size;
|
||||
uniform float stretch_compensatioon;
|
||||
uniform float fill;
|
||||
uniform float speed;
|
||||
uniform float brightness;
|
||||
uniform sampler2D gradient: repeat_disable;
|
||||
uniform float drop_size = 0.015;
|
||||
uniform float stretch_compensatioon = 40;
|
||||
uniform float fill = 0.65;
|
||||
uniform float speed = 0.015;
|
||||
uniform float brightness = 2;
|
||||
|
||||
void fragment() {
|
||||
|
||||
|
|
@ -18,7 +18,8 @@ void fragment() {
|
|||
dist += 1.5 / distance(vec2(NORMAL.x/stretch_compensatioon, UV.y), vec2(0.0, fill));
|
||||
dist += 1.5 / distance(vec2(NORMAL.x/stretch_compensatioon, UV2.x), vec2(0.0, 1.1));
|
||||
|
||||
ALBEDO = texture(gradient, UV2).xyz*brightness;
|
||||
ALBEDO = texture(gradient, UV2).xyz * .3;
|
||||
//ALBEDO = vec3(0.0);
|
||||
ALPHA = float(int(dist > 1.0/drop_size));
|
||||
|
||||
EMISSION = texture(gradient, UV2).xyz * brightness;
|
||||
}
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -22,8 +22,9 @@ vec2 rotateUV(vec2 uv, vec2 pivot, float rotation)
|
|||
//clamp(, .0, 1.0
|
||||
|
||||
void fragment() {
|
||||
//ALBEDO = vec3(0.);
|
||||
ALBEDO = vec3(.0,
|
||||
texture(starlight_textures,UV*1.5).x * 2.0*pow(max(sin(TIME + 10.0 * texture(starlight_textures,UV).y), .0), 5.0),
|
||||
max(.0, texture(starlight_textures,UV*1.5).x - .1) * 10.0*pow(max(sin(TIME + 20.0 * texture(starlight_textures,UV).y), .1), 5.0),
|
||||
texture(starlight_textures,
|
||||
clamp(
|
||||
UV / nebula_scale + drift_compensation + 1.0 *
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=117 format=4 uid="uid://b3b0gyvklqn50"]
|
||||
[gd_scene load_steps=120 format=4 uid="uid://b3b0gyvklqn50"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://belkrno67sft0" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"]
|
||||
|
|
@ -32,6 +32,7 @@
|
|||
[ext_resource type="PackedScene" uid="uid://bpjympn3ps3wo" path="res://logic-scenes/luna/luna_imported.tscn" id="27_pb1jl"]
|
||||
[ext_resource type="Material" uid="uid://ct7uc5i5yp5qf" path="res://base-environments/youth_room/import/materials/wall.tres" id="28_oiweb"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwc2wp7tckm7t" path="res://base-environments/youth_room/outside.tscn" id="32_2vgep"]
|
||||
[ext_resource type="Script" uid="uid://br1w2nt4pj8lt" path="res://vfx/post_processing/post_process_shader_template.gd" id="32_corra"]
|
||||
[ext_resource type="Shader" uid="uid://d324neibxpomg" path="res://base-environments/intro_scene/shaders/stars.gdshader" id="32_k5rvd"]
|
||||
[ext_resource type="ArrayMesh" uid="uid://jjrvf8px2ut3" path="res://base-environments/youth_room/shaders/winfow_frames.res" id="32_w6oa5"]
|
||||
[ext_resource type="Texture2D" uid="uid://dabnlcnuticww" path="res://base-environments/intro_scene/textures/sky_textures_2.png" id="33_mvrs2"]
|
||||
|
|
@ -1452,7 +1453,9 @@ sky_rotation = Vector3(0, 0.352557, 0)
|
|||
ambient_light_source = 3
|
||||
ambient_light_color = Color(1, 1, 1, 1)
|
||||
reflected_light_source = 1
|
||||
tonemap_mode = 2
|
||||
tonemap_mode = 1
|
||||
tonemap_exposure = 0.7
|
||||
tonemap_white = 3.0
|
||||
ssr_max_steps = 512
|
||||
ssr_depth_tolerance = 0.01
|
||||
ssao_enabled = true
|
||||
|
|
@ -1466,9 +1469,7 @@ ssil_intensity = 0.5
|
|||
ssil_normal_rejection = 0.8
|
||||
sdfgi_use_occlusion = true
|
||||
sdfgi_read_sky_light = false
|
||||
sdfgi_min_cell_size = 0.00976562
|
||||
sdfgi_cascade0_distance = 0.625
|
||||
sdfgi_max_distance = 10.0
|
||||
sdfgi_min_cell_size = 0.009765625
|
||||
glow_enabled = true
|
||||
glow_levels/2 = 0.3
|
||||
glow_levels/7 = 2.0
|
||||
|
|
@ -1484,6 +1485,7 @@ fog_height = 1.0
|
|||
fog_height_density = 0.1
|
||||
|
||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"]
|
||||
exposure_multiplier = 2.5
|
||||
auto_exposure_enabled = true
|
||||
auto_exposure_scale = 0.2
|
||||
dof_blur_far_distance = 0.4
|
||||
|
|
@ -1493,6 +1495,23 @@ dof_blur_near_transition = 2.0
|
|||
dof_blur_amount = 0.0
|
||||
auto_exposure_min_sensitivity = 100.0
|
||||
|
||||
[sub_resource type="CompositorEffect" id="CompositorEffect_ea6x8"]
|
||||
resource_local_to_scene = false
|
||||
resource_name = ""
|
||||
enabled = true
|
||||
effect_callback_type = 4
|
||||
needs_motion_vectors = false
|
||||
needs_normal_roughness = false
|
||||
script = ExtResource("32_corra")
|
||||
shader_code = "//color.rgb = pow(color.rgb, vec3(1.3));
|
||||
color.rgb = max(vec3(0), pow(color.rgb, vec3(1.1, 1.2, 1.2)) * vec3(1.2, 1.1, 1.2) + vec3(-0.003, -0.001, 0.004));
|
||||
// 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_bgk6f"]
|
||||
compositor_effects = Array[CompositorEffect]([SubResource("CompositorEffect_ea6x8")])
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_wb8kg"]
|
||||
script/source = "extends WorldEnvironment
|
||||
|
||||
|
|
@ -1834,6 +1853,8 @@ volume_db = -80.0
|
|||
bus = &"music"
|
||||
|
||||
[node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")]
|
||||
story_array = PackedStringArray()
|
||||
paragraph_lengths = PackedInt32Array(1)
|
||||
|
||||
[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||
stream = ExtResource("10_wwwdq")
|
||||
|
|
@ -1841,13 +1862,19 @@ volume_db = -80.0
|
|||
bus = &"music"
|
||||
|
||||
[node name="JuiJutsu" parent="logic/ScenePlayer" instance=ExtResource("12_x3dlb")]
|
||||
story_array = PackedStringArray()
|
||||
paragraph_lengths = PackedInt32Array(1)
|
||||
|
||||
[node name="voice_training" parent="logic/ScenePlayer" instance=ExtResource("13_v3447")]
|
||||
story_array = PackedStringArray()
|
||||
paragraph_lengths = PackedInt32Array(1)
|
||||
|
||||
[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||
bus = &"music"
|
||||
|
||||
[node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")]
|
||||
story_array = PackedStringArray()
|
||||
paragraph_lengths = PackedInt32Array(1)
|
||||
|
||||
[node name="starlight_mesh" type="MeshInstance3D" parent="logic/ScenePlayer"]
|
||||
transform = Transform3D(0.999, 0, 0, 0, 0.999, 0, 0, 0, 0.999, 0, 0, 0)
|
||||
|
|
@ -1893,7 +1920,7 @@ light_size = 1.0
|
|||
light_cull_mask = 4294967293
|
||||
|
||||
[node name="Luna_frame-of-mind" parent="logic/ScenePlayer" instance=ExtResource("27_pb1jl")]
|
||||
transform = Transform3D(0.958898, 0, 0.283747, 0, 1, 0, -0.283747, 0, 0.958898, -10.1552, 14.9384, -16.2182)
|
||||
transform = Transform3D(0.95889795, 0, 0.28374717, 0, 1, 0, -0.28374717, 0, 0.95889795, -10.1552, 14.9384, -16.2182)
|
||||
visible = false
|
||||
|
||||
[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/Luna_frame-of-mind"]
|
||||
|
|
@ -2228,7 +2255,7 @@ light_specular = 0.2
|
|||
shadow_enabled = true
|
||||
|
||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"]
|
||||
transform = Transform3D(0.821674, 0.447187, -0.353377, -0.413796, 0.894413, 0.169693, 0.39195, 0.00679388, 0.919961, 0.866179, 2.88055, 4.51936)
|
||||
transform = Transform3D(0.82167387, 0.4471866, -0.3533773, -0.41379577, 0.8944132, 0.1696928, 0.3919504, 0.0067938757, 0.9199609, 0.866179, 2.88055, 4.51936)
|
||||
visible = false
|
||||
light_color = Color(0.81982, 0.935491, 0.980381, 1)
|
||||
light_energy = 20.0
|
||||
|
|
@ -2358,21 +2385,20 @@ skeleton = NodePath("")
|
|||
|
||||
[node name="ReflectionProbe" type="ReflectionProbe" parent="visuals/vfx/lava-lamp"]
|
||||
transform = Transform3D(0.866853, 0, -0.498563, 0, 1, 0, 0.498563, 0, 0.866853, -0.0356357, 0.0416123, 0.020328)
|
||||
visible = false
|
||||
max_distance = 7.0
|
||||
size = Vector3(2, 2, 2)
|
||||
|
||||
[node name="OmniLight3D" type="SpotLight3D" parent="visuals/vfx/lava-lamp"]
|
||||
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0.0113046, 0.199004, -0.00212491)
|
||||
light_color = Color(0.282353, 0.45098, 0.258824, 1)
|
||||
transform = Transform3D(0.9999999, 0, 0, 0, -4.3711395e-08, -1, 0, 0.9999999, -4.3711385e-08, 0.011304617, 0.187006, -0.0021249056)
|
||||
light_color = Color(0.21945003, 0.45, 0.189, 1)
|
||||
light_energy = 1.5
|
||||
light_size = 0.2
|
||||
light_specular = 0.1
|
||||
light_size = 0.05
|
||||
light_specular = 0.3
|
||||
light_bake_mode = 1
|
||||
spot_range = 1.5
|
||||
spot_attenuation = 1.1487
|
||||
spot_angle = 126.18
|
||||
spot_angle_attenuation = 0.68302
|
||||
spot_attenuation = 1.2
|
||||
spot_angle = 137.58
|
||||
spot_angle_attenuation = 1.6358016
|
||||
script = SubResource("GDScript_yn0pl")
|
||||
|
||||
[node name="youth_room" parent="visuals" instance=ExtResource("1_jf3oi")]
|
||||
|
|
@ -2380,6 +2406,7 @@ script = SubResource("GDScript_yn0pl")
|
|||
[node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["scene_actors"]]
|
||||
environment = SubResource("Environment_pllnm")
|
||||
camera_attributes = SubResource("CameraAttributesPractical_26mp0")
|
||||
compositor = SubResource("Compositor_bgk6f")
|
||||
script = SubResource("GDScript_wb8kg")
|
||||
|
||||
[node name="window_frames" type="MeshInstance3D" parent="WorldEnvironment"]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,731 @@
|
|||
[gd_scene load_steps=37 format=3 uid="uid://dxxiyefijv48j"]
|
||||
|
||||
[ext_resource type="Texture2D" uid="uid://d3ewjumh0b0g6" path="res://logic-scenes/main menu/logo.png" id="1_61qpo"]
|
||||
[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="1_t34p3"]
|
||||
[ext_resource type="Texture2D" uid="uid://sfo05h6uah7b" path="res://import/interface-elements/USK_12.svg" id="2_ncfee"]
|
||||
[ext_resource type="Texture2D" uid="uid://bdyg065h8vcdi" path="res://base-environments/youth_room/shaders/starlight-textures.png" id="2_s1yf2"]
|
||||
[ext_resource type="Texture2D" uid="uid://buo4ntxw1vofu" path="res://addons/input_prompts/icons/keyboard/w.png" id="4_8e30h"]
|
||||
[ext_resource type="Script" uid="uid://bbs1u7ojno7xo" path="res://addons/input_prompts/action_prompt/action_prompt.gd" id="5_6w5b4"]
|
||||
[ext_resource type="Texture2D" uid="uid://yakqusko3p3h" path="res://addons/input_prompts/icons/keyboard/a.png" id="7_g425y"]
|
||||
[ext_resource type="Texture2D" uid="uid://b0kuadlp4jw6j" path="res://addons/input_prompts/icons/keyboard/d.png" id="8_kj67n"]
|
||||
[ext_resource type="Texture2D" uid="uid://bwhf0tx67yj7a" path="res://addons/input_prompts/icons/keyboard/s.png" id="9_xo70c"]
|
||||
[ext_resource type="Script" uid="uid://0h0lrkntx0uh" path="res://logic-scenes/main menu/pause_menu.gd" id="10_g425y"]
|
||||
[ext_resource type="PackedScene" uid="uid://u0bwjr5l6nkh" path="res://logic-scenes/main menu/privacy_settings.tscn" id="10_jirkf"]
|
||||
[ext_resource type="PackedScene" uid="uid://g2a27jwdapai" path="res://logic-scenes/card_burner/card_burner.tscn" id="10_kj67n"]
|
||||
[ext_resource type="Script" uid="uid://sa15wakvpj2e" path="res://dev-util/bug_button.gd" id="11_kj67n"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3wlecqvelh22" path="res://logic-scenes/main menu/acessability_settings.tscn" id="11_kt5p7"]
|
||||
[ext_resource type="PackedScene" uid="uid://citwb7f4dl3l1" path="res://thank-you.tscn" id="13_xo70c"]
|
||||
[ext_resource type="AudioStream" uid="uid://cho5neuxkvpyh" path="res://base-environments/youth_room/audio/Voice Loop.wav" id="14_k41g6"]
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_t34p3"]
|
||||
script/source = "extends Node3D
|
||||
|
||||
var has_stage = false
|
||||
|
||||
var room = preload(\"res://base-environments/youth_room/youth_room.tscn\")
|
||||
var loaded_room: RoomTemplate
|
||||
|
||||
func _ready() -> void:
|
||||
State.take_stage(self)
|
||||
load_room()
|
||||
State.settings_initialised = true
|
||||
State.show_content_notes = false
|
||||
State.text_language = 1
|
||||
State.speech_language = 1
|
||||
$Menu/VBoxContainer2/PressStart.grab_focus()
|
||||
Scenes.sign_up_for_sequence(prepare_transition, Scenes.id.TRANSITION, 0)
|
||||
Scenes.sign_up_for_sequence(transition, Scenes.id.TRANSITION, 2)
|
||||
if OS.get_locale_language() == \"de\":
|
||||
$Menu/VBoxContainer/SpeechButton.select(1)
|
||||
|
||||
func prepare_transition(_id):
|
||||
await get_tree().process_frame
|
||||
Scenes.continue_sequence(self)
|
||||
|
||||
await get_tree().create_timer(5.0).timeout
|
||||
loaded_room.prepare_transition()
|
||||
ResourceLoader.load_threaded_request(\"res://base-environments/transition/first_platform.tscn\")
|
||||
|
||||
func transition(_id, _repeat):
|
||||
#$TextureRect.texture = get_tree().root.get_texture()
|
||||
#$TextureRect.visible = true
|
||||
loaded_room.unload()
|
||||
var packed_second_room:PackedScene = ResourceLoader.load_threaded_get(\"res://base-environments/transition/first_platform.tscn\")
|
||||
loaded_room.queue_free()
|
||||
%Room.add_child(packed_second_room.instantiate())
|
||||
await get_tree().create_timer(15.5).timeout
|
||||
$AudioStreamPlayer/AnimationPlayer.play(\"ending\")
|
||||
$ending.show()
|
||||
$ending.mouse_filter = Control.MOUSE_FILTER_STOP
|
||||
%Room.get_child(0).queue_free()
|
||||
|
||||
func load_room():
|
||||
for child in %Room.get_children():
|
||||
child.queue_free()
|
||||
|
||||
loaded_room = room.instantiate()
|
||||
%Room.add_child(loaded_room)
|
||||
|
||||
var in_game: bool
|
||||
func _on_start_button_pressed():
|
||||
in_game = true
|
||||
var new_save = SaveGame.new()
|
||||
if DirAccess.dir_exists_absolute( State.user_saves_path ):
|
||||
var usr_dir = DirAccess.open(State.user_saves_path)
|
||||
for path in usr_dir.get_files():
|
||||
if path.ends_with(\".json\"):
|
||||
var found_save: = SaveGame.new(\"%s/%s\" % [State.user_saves_path, path.get_basename()])
|
||||
if found_save.is_demo:
|
||||
new_save = found_save
|
||||
break
|
||||
|
||||
State.active_save_game = new_save
|
||||
var vis_tween = get_tree().create_tween()
|
||||
vis_tween.tween_property(%Menu, \"modulate\", Color(1,1,1,0), .3)
|
||||
await vis_tween.finished
|
||||
%Menu.visible = false
|
||||
%Menu.mouse_filter = Control.MouseFilter.MOUSE_FILTER_PASS
|
||||
loaded_room.start_room()
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Input.is_action_just_pressed(\"reset_demo\"):
|
||||
_on_reset()
|
||||
|
||||
func _on_reset():
|
||||
load_room()
|
||||
%Menu.modulate = Color.WHITE
|
||||
%Menu.mouse_filter = Control.MouseFilter.MOUSE_FILTER_STOP
|
||||
%Menu.visible = true
|
||||
|
||||
|
||||
func _on_cn_box_toggled(toggled_on: bool) -> void:
|
||||
State.show_content_notes = toggled_on
|
||||
|
||||
func _on_motion_box_toggled(toggled_on: bool) -> void:
|
||||
State.reduce_motion = toggled_on
|
||||
|
||||
func _on_text_button_item_selected(index: int) -> void:
|
||||
match index:
|
||||
0:
|
||||
State.text_language = 1
|
||||
1:
|
||||
State.text_language = 2
|
||||
|
||||
func _on_speech_button_item_selected(index: int) -> void:
|
||||
State.speech_language = index + 1
|
||||
%TextButton.select(1)
|
||||
|
||||
func _unhandled_input(event: InputEvent) -> void:
|
||||
if event is InputEvent and in_game:
|
||||
if event.is_action_pressed(\"ui_menu\") and not %Accessibility.is_active:
|
||||
toggle_pause_menu()
|
||||
|
||||
func show_accessibility_settings():
|
||||
%AccessibilityContainer.show()
|
||||
%Accessibility.is_active = true
|
||||
await %Accessibility.leave_stage
|
||||
%AccessibilityContainer.hide()
|
||||
|
||||
func toggle_pause_menu():
|
||||
if not get_tree().paused:
|
||||
get_tree().paused = true
|
||||
%PauseContainer.show()
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
else:
|
||||
get_tree().paused = false
|
||||
%PauseContainer.hide()
|
||||
|
||||
if State.stage_list[0] is Player:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
|
||||
"
|
||||
|
||||
[sub_resource type="Shader" id="Shader_jirkf"]
|
||||
code = "shader_type canvas_item;
|
||||
render_mode blend_premul_alpha;
|
||||
|
||||
uniform float nebula_brightness = 4;
|
||||
uniform vec2 nebula_scale = vec2(1.5);
|
||||
uniform sampler2D starlight_noise: repeat_enable;
|
||||
uniform sampler2D starlight_textures;
|
||||
uniform float rotation_speed = 0.02;
|
||||
uniform vec2 rotation_pivot = vec2(.8);
|
||||
uniform vec2 drift_compensation = vec2(0.1, -0.2);
|
||||
uniform float noise_strength = 0.2;
|
||||
|
||||
// https://gist.github.com/ayamflow/c06bc0c8a64f985dd431bd0ac5b557cd
|
||||
vec2 rotateUV(vec2 uv, vec2 pivot, float rotation)
|
||||
{
|
||||
return vec2(
|
||||
cos(rotation) * (uv.x - pivot.x) + sin(rotation) * (uv.y - pivot.y) + pivot.x,
|
||||
cos(rotation) * (uv.y - pivot.y) - sin(rotation) * (uv.x - pivot.x) + pivot.y
|
||||
);
|
||||
}
|
||||
|
||||
//clamp(, .0, 1.0
|
||||
|
||||
void fragment() {
|
||||
COLOR *= vec4(.0,
|
||||
texture(starlight_textures,fract(UV*2.0)).x * 2.0*pow(max(sin(TIME + 10.0 * texture(starlight_textures,UV).y), .0), 5.0),
|
||||
texture(starlight_textures,
|
||||
clamp(
|
||||
UV / nebula_scale + drift_compensation + 1.0 *
|
||||
texture(starlight_noise, rotateUV(
|
||||
UV / nebula_scale + noise_strength * texture(starlight_noise, rotateUV(UV, -rotation_pivot, TIME*rotation_speed)).yz,
|
||||
rotation_pivot, TIME*rotation_speed)
|
||||
).xz,
|
||||
.0, 1.0))
|
||||
.z * nebula_brightness,
|
||||
clamp(pow(COLOR.x * 2.5 - (texture(starlight_noise, UV*2.0+TIME*.02).x + 0.8), 1.5), .0, 1.0)
|
||||
) * COLOR.w;
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_k41g6"]
|
||||
shader = SubResource("Shader_jirkf")
|
||||
shader_parameter/nebula_brightness = 2.4
|
||||
shader_parameter/nebula_scale = Vector2(1.3, 1.6)
|
||||
shader_parameter/starlight_noise = ExtResource("1_t34p3")
|
||||
shader_parameter/starlight_textures = ExtResource("2_s1yf2")
|
||||
shader_parameter/rotation_speed = 0.02
|
||||
shader_parameter/rotation_pivot = Vector2(0.8, 0.8)
|
||||
shader_parameter/drift_compensation = Vector2(0.1, -0.2)
|
||||
shader_parameter/noise_strength = 0.2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_kt5p7"]
|
||||
interpolation_color_space = 2
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_jirkf"]
|
||||
gradient = SubResource("Gradient_kt5p7")
|
||||
width = 2048
|
||||
height = 1536
|
||||
fill = 1
|
||||
fill_from = Vector2(0.538462, 0.491453)
|
||||
fill_to = Vector2(1.3, -0.3)
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_kt5p7"]
|
||||
device = -1
|
||||
physical_keycode = 87
|
||||
unicode = 119
|
||||
|
||||
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_mivr6"]
|
||||
device = -1
|
||||
axis = 1
|
||||
axis_value = -1.0
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_52c3j"]
|
||||
device = -1
|
||||
physical_keycode = 65
|
||||
unicode = 97
|
||||
|
||||
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_b7q2n"]
|
||||
device = -1
|
||||
axis_value = -1.0
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_qhf78"]
|
||||
device = -1
|
||||
physical_keycode = 68
|
||||
unicode = 100
|
||||
|
||||
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_gatj6"]
|
||||
device = -1
|
||||
axis_value = 1.0
|
||||
|
||||
[sub_resource type="InputEventKey" id="InputEventKey_ol51q"]
|
||||
device = -1
|
||||
physical_keycode = 83
|
||||
unicode = 115
|
||||
|
||||
[sub_resource type="InputEventJoypadMotion" id="InputEventJoypadMotion_2rqk2"]
|
||||
device = -1
|
||||
axis = 1
|
||||
axis_value = 1.0
|
||||
|
||||
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kt5p7"]
|
||||
bg_color = Color(0.0288289, 0.0448641, 0.121276, 1)
|
||||
border_width_left = 10
|
||||
border_width_top = 10
|
||||
border_width_right = 10
|
||||
border_width_bottom = 10
|
||||
border_color = Color(0.0288289, 0.0448641, 0.121276, 1)
|
||||
corner_radius_top_left = 20
|
||||
corner_radius_top_right = 20
|
||||
corner_radius_bottom_right = 20
|
||||
corner_radius_bottom_left = 20
|
||||
expand_margin_left = 20.0
|
||||
expand_margin_right = 20.0
|
||||
|
||||
[sub_resource type="Shader" id="Shader_gatj6"]
|
||||
code = "shader_type canvas_item;
|
||||
render_mode blend_premul_alpha;
|
||||
|
||||
uniform float nebula_brightness = 4;
|
||||
uniform vec2 nebula_scale = vec2(1.5);
|
||||
uniform sampler2D starlight_noise: repeat_enable;
|
||||
uniform sampler2D starlight_textures;
|
||||
uniform float rotation_speed = 0.02;
|
||||
uniform vec2 rotation_pivot = vec2(.8);
|
||||
uniform vec2 drift_compensation = vec2(0.1, -0.2);
|
||||
uniform float noise_strength = 0.2;
|
||||
|
||||
// https://gist.github.com/ayamflow/c06bc0c8a64f985dd431bd0ac5b557cd
|
||||
vec2 rotateUV(vec2 uv, vec2 pivot, float rotation)
|
||||
{
|
||||
return vec2(
|
||||
cos(rotation) * (uv.x - pivot.x) + sin(rotation) * (uv.y - pivot.y) + pivot.x,
|
||||
cos(rotation) * (uv.y - pivot.y) - sin(rotation) * (uv.x - pivot.x) + pivot.y
|
||||
);
|
||||
}
|
||||
|
||||
//clamp(, .0, 1.0
|
||||
|
||||
void fragment() {
|
||||
COLOR *= vec4(.0,
|
||||
texture(starlight_textures,fract(UV*2.0)).x * 2.0*pow(max(sin(TIME + 10.0 * texture(starlight_textures,UV).y), .0), 5.0),
|
||||
texture(starlight_textures,
|
||||
clamp(
|
||||
UV / nebula_scale + drift_compensation + 1.0 *
|
||||
texture(starlight_noise, rotateUV(
|
||||
UV / nebula_scale + noise_strength * texture(starlight_noise, rotateUV(UV, -rotation_pivot, TIME*rotation_speed)).yz,
|
||||
rotation_pivot, TIME*rotation_speed)
|
||||
).xz,
|
||||
.0, 1.0))
|
||||
.z * nebula_brightness,
|
||||
clamp(pow(COLOR.x * 2.5 - (texture(starlight_noise, UV*2.0+TIME*.02).x + 0.8), 1.5), .0, 1.0)
|
||||
) * COLOR.w;
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ol51q"]
|
||||
shader = SubResource("Shader_gatj6")
|
||||
shader_parameter/nebula_brightness = 2.4
|
||||
shader_parameter/nebula_scale = Vector2(1.3, 1.6)
|
||||
shader_parameter/starlight_noise = ExtResource("1_t34p3")
|
||||
shader_parameter/starlight_textures = ExtResource("2_s1yf2")
|
||||
shader_parameter/rotation_speed = 0.02
|
||||
shader_parameter/rotation_pivot = Vector2(0.8, 0.8)
|
||||
shader_parameter/drift_compensation = Vector2(0.1, -0.2)
|
||||
shader_parameter/noise_strength = 0.2
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_2rqk2"]
|
||||
interpolation_color_space = 2
|
||||
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_w8m28"]
|
||||
gradient = SubResource("Gradient_2rqk2")
|
||||
width = 2048
|
||||
height = 1536
|
||||
fill = 1
|
||||
fill_from = Vector2(0.538462, 0.491453)
|
||||
fill_to = Vector2(1.3, -0.3)
|
||||
|
||||
[sub_resource type="Animation" id="Animation_kt5p7"]
|
||||
resource_name = "ending"
|
||||
length = 120.0
|
||||
tracks/0/type = "audio"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath(".")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"clips": [{
|
||||
"end_offset": 0.0,
|
||||
"start_offset": 8.34472,
|
||||
"stream": ExtResource("14_k41g6")
|
||||
}],
|
||||
"times": PackedFloat32Array(0.517639)
|
||||
}
|
||||
tracks/0/use_blend = true
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mivr6"]
|
||||
_data = {
|
||||
&"ending": SubResource("Animation_kt5p7")
|
||||
}
|
||||
|
||||
[node name="DemoMain" type="Node3D"]
|
||||
process_mode = 3
|
||||
script = SubResource("GDScript_t34p3")
|
||||
|
||||
[node name="Room" type="Node3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
|
||||
[node name="Menu" type="Control" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 3
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="Panel" type="Panel" parent="Menu"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="TextureRect3" type="TextureRect" parent="Menu/Panel"]
|
||||
material = SubResource("ShaderMaterial_k41g6")
|
||||
layout_mode = 0
|
||||
offset_left = 2073.0
|
||||
offset_top = 1497.0
|
||||
offset_right = 4353.0
|
||||
offset_bottom = 3530.0
|
||||
rotation = -3.14159
|
||||
texture = SubResource("GradientTexture2D_jirkf")
|
||||
|
||||
[node name="TextureRect2" type="TextureRect" parent="Menu/Panel"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -395.0
|
||||
offset_top = -447.0
|
||||
offset_right = 1011.0
|
||||
offset_bottom = 959.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
scale = Vector2(0.2, 0.2)
|
||||
texture = ExtResource("2_ncfee")
|
||||
|
||||
[node name="Label" type="Label" parent="Menu/Panel/TextureRect2"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 7
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -988.0
|
||||
offset_top = 99.0002
|
||||
offset_right = -590.0
|
||||
offset_bottom = 187.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 0
|
||||
scale = Vector2(5, 5)
|
||||
text = "*Als Messe-Demo geprüft. Entspricht angestrebtem finalen Rating."
|
||||
horizontal_alignment = 1
|
||||
autowrap_mode = 2
|
||||
|
||||
[node name="VBoxContainer2" type="VBoxContainer" parent="Menu"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -256.0
|
||||
offset_top = -281.5
|
||||
offset_right = 256.0
|
||||
offset_bottom = 281.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Menu/VBoxContainer2"]
|
||||
custom_minimum_size = Vector2(512, 512)
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 4
|
||||
texture = ExtResource("1_61qpo")
|
||||
expand_mode = 2
|
||||
|
||||
[node name="PressStart" type="Button" parent="Menu/VBoxContainer2"]
|
||||
layout_mode = 2
|
||||
theme_override_font_sizes/font_size = 45
|
||||
text = "Start the Demo!"
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="Menu"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -392.0
|
||||
offset_top = -310.0
|
||||
offset_right = -78.0
|
||||
offset_bottom = -92.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
|
||||
[node name="Label" type="Label" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "Accessibility"
|
||||
|
||||
[node name="CNBox" type="CheckBox" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "show Content Notes"
|
||||
|
||||
[node name="MotionBox" type="CheckBox" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "reduce motion and flickering"
|
||||
|
||||
[node name="A11Y" type="Button" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "More Options"
|
||||
|
||||
[node name="Label3" type="Label" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "Spoken Text"
|
||||
|
||||
[node name="SpeechButton" type="OptionButton" parent="Menu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
selected = 0
|
||||
item_count = 2
|
||||
popup/item_0/text = "englisch"
|
||||
popup/item_0/id = 0
|
||||
popup/item_1/text = "deutsch"
|
||||
popup/item_1/id = 1
|
||||
|
||||
[node name="Label2" type="Label" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "Written Text"
|
||||
|
||||
[node name="TextButton" type="OptionButton" parent="Menu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
selected = 0
|
||||
item_count = 2
|
||||
popup/item_0/text = "englisch"
|
||||
popup/item_0/id = 1
|
||||
popup/item_1/text = "deutsch"
|
||||
popup/item_1/id = 2
|
||||
|
||||
[node name="Button" type="Button" parent="Menu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Privacy Info"
|
||||
|
||||
[node name="Control" type="Control" parent="Menu"]
|
||||
layout_mode = 1
|
||||
anchors_preset = 2
|
||||
anchor_top = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_top = -40.0
|
||||
offset_right = 40.0
|
||||
grow_vertical = 0
|
||||
|
||||
[node name="ActionPrompt" type="TextureRect" parent="Menu/Control"]
|
||||
texture_filter = 1
|
||||
layout_mode = 0
|
||||
offset_left = 134.0
|
||||
offset_top = -282.0
|
||||
offset_right = 234.0
|
||||
offset_bottom = -182.0
|
||||
texture = ExtResource("4_8e30h")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("5_6w5b4")
|
||||
action = "player_forwards"
|
||||
icon = 4
|
||||
events = Array[InputEvent]([SubResource("InputEventKey_kt5p7"), SubResource("InputEventJoypadMotion_mivr6")])
|
||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
||||
|
||||
[node name="ActionPrompt2" type="TextureRect" parent="Menu/Control"]
|
||||
texture_filter = 1
|
||||
layout_mode = 0
|
||||
offset_left = 70.0
|
||||
offset_top = -187.0
|
||||
offset_right = 170.0
|
||||
offset_bottom = -87.0
|
||||
texture = ExtResource("7_g425y")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("5_6w5b4")
|
||||
action = "player_left"
|
||||
icon = 4
|
||||
events = Array[InputEvent]([SubResource("InputEventKey_52c3j"), SubResource("InputEventJoypadMotion_b7q2n")])
|
||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
||||
|
||||
[node name="ActionPrompt4" type="TextureRect" parent="Menu/Control"]
|
||||
texture_filter = 1
|
||||
layout_mode = 0
|
||||
offset_left = 247.0
|
||||
offset_top = -187.0
|
||||
offset_right = 347.0
|
||||
offset_bottom = -87.0
|
||||
texture = ExtResource("8_kj67n")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("5_6w5b4")
|
||||
action = "player_right"
|
||||
icon = 4
|
||||
events = Array[InputEvent]([SubResource("InputEventKey_qhf78"), SubResource("InputEventJoypadMotion_gatj6")])
|
||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
||||
|
||||
[node name="ActionPrompt3" type="TextureRect" parent="Menu/Control"]
|
||||
texture_filter = 1
|
||||
layout_mode = 0
|
||||
offset_left = 158.0
|
||||
offset_top = -187.0
|
||||
offset_right = 258.0
|
||||
offset_bottom = -87.0
|
||||
texture = ExtResource("9_xo70c")
|
||||
stretch_mode = 5
|
||||
script = ExtResource("5_6w5b4")
|
||||
action = "player_backwards"
|
||||
icon = 4
|
||||
events = Array[InputEvent]([SubResource("InputEventKey_ol51q"), SubResource("InputEventJoypadMotion_2rqk2")])
|
||||
metadata/_custom_type_script = "uid://bbs1u7ojno7xo"
|
||||
|
||||
[node name="Label" type="Label" parent="Menu/Control"]
|
||||
layout_mode = 0
|
||||
offset_left = 72.0
|
||||
offset_top = -89.0
|
||||
offset_right = 374.0
|
||||
offset_bottom = -40.0
|
||||
theme_type_variation = &"HeaderMedium"
|
||||
text = "Move trough the room"
|
||||
|
||||
[node name="PrivacyPanel" type="PanelContainer" parent="Menu"]
|
||||
visible = false
|
||||
layout_mode = 1
|
||||
anchors_preset = 8
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
offset_left = -701.5
|
||||
offset_top = -464.5
|
||||
offset_right = 701.5
|
||||
offset_bottom = 464.5
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_kt5p7")
|
||||
|
||||
[node name="PrivacyAndDataProtection" parent="Menu/PrivacyPanel" instance=ExtResource("10_jirkf")]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="."]
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="CardBurner" parent="." instance=ExtResource("10_kj67n")]
|
||||
visible = false
|
||||
|
||||
[node name="PauseContainer" type="CenterContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="PauseContainer"]
|
||||
material = SubResource("ShaderMaterial_ol51q")
|
||||
layout_mode = 2
|
||||
texture = SubResource("GradientTexture2D_w8m28")
|
||||
|
||||
[node name="PauseMenu" type="PanelContainer" parent="PauseContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
script = ExtResource("10_g425y")
|
||||
|
||||
[node name="VBoxContainer" type="VBoxContainer" parent="PauseContainer/PauseMenu"]
|
||||
layout_mode = 2
|
||||
|
||||
[node name="Label" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
theme_type_variation = &"HeaderLarge"
|
||||
text = "Game Paused"
|
||||
|
||||
[node name="ResumeButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Resume"
|
||||
|
||||
[node name="A11Y" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "Accessibility"
|
||||
|
||||
[node name="BugButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
script = ExtResource("11_kj67n")
|
||||
metadata/_custom_type_script = "uid://sa15wakvpj2e"
|
||||
|
||||
[node name="ToMenuButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "Return to Menu"
|
||||
|
||||
[node name="ToSettingsButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "Open Settings"
|
||||
|
||||
[node name="ToDesktopButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Quit to Desktop"
|
||||
|
||||
[node name="HSeparator" type="HSeparator" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
custom_minimum_size = Vector2(0, 20)
|
||||
layout_mode = 2
|
||||
|
||||
[node name="FindHelplineButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "Find Help-Lines"
|
||||
|
||||
[node name="Label2" type="Label" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
layout_mode = 2
|
||||
text = "opens findahelpline.com"
|
||||
horizontal_alignment = 1
|
||||
|
||||
[node name="SkipStoryButton" type="Button" parent="PauseContainer/PauseMenu/VBoxContainer"]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
layout_mode = 2
|
||||
text = "Skip this Story"
|
||||
|
||||
[node name="ending" parent="." instance=ExtResource("13_xo70c")]
|
||||
visible = false
|
||||
mouse_filter = 2
|
||||
|
||||
[node name="AccessibilityContainer" type="CenterContainer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
visible = false
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
|
||||
[node name="AccessibilityPanel" type="PanelContainer" parent="AccessibilityContainer"]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
theme_override_styles/panel = SubResource("StyleBoxFlat_kt5p7")
|
||||
|
||||
[node name="Accessibility" parent="AccessibilityContainer/AccessibilityPanel" instance=ExtResource("11_kt5p7")]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="AudioStreamPlayer"]
|
||||
libraries = {
|
||||
&"": SubResource("AnimationLibrary_mivr6")
|
||||
}
|
||||
|
||||
[connection signal="pressed" from="Menu/VBoxContainer2/PressStart" to="." method="_on_start_button_pressed"]
|
||||
[connection signal="toggled" from="Menu/VBoxContainer/CNBox" to="." method="_on_cn_box_toggled"]
|
||||
[connection signal="toggled" from="Menu/VBoxContainer/MotionBox" to="." method="_on_motion_box_toggled"]
|
||||
[connection signal="pressed" from="Menu/VBoxContainer/A11Y" to="." method="show_accessibility_settings"]
|
||||
[connection signal="item_selected" from="Menu/VBoxContainer/SpeechButton" to="." method="_on_speech_button_item_selected"]
|
||||
[connection signal="item_selected" from="Menu/VBoxContainer/TextButton" to="." method="_on_text_button_item_selected"]
|
||||
[connection signal="pressed" from="Menu/VBoxContainer/Button" to="Menu/PrivacyPanel" method="show"]
|
||||
[connection signal="leave_stage" from="Menu/PrivacyPanel/PrivacyAndDataProtection" to="Menu/PrivacyPanel" method="hide"]
|
||||
[connection signal="pressed" from="PauseContainer/PauseMenu/VBoxContainer/A11Y" to="." method="show_accessibility_settings"]
|
||||
|
|
@ -0,0 +1 @@
|
|||
extends WorldEnvironment
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://mgertkn5ub0g
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
extends Node
|
||||
|
||||
func steamInitEx() -> Dictionary: return {"status": -1}
|
||||
|
||||
func steamShutdown(): pass
|
||||
|
||||
func setAchievement(_ach_name: String): pass
|
||||
|
||||
func storeStats(): pass
|
||||
|
||||
func isSteamRunningOnSteamDeck() -> bool: return false
|
||||
|
||||
func resetAllStats(_flag: bool): pass
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://ddw2bjoy7dka
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -13,7 +13,7 @@ config_version=5
|
|||
config/name="Frame of Mind"
|
||||
run/main_scene="uid://cd63barv73rfx"
|
||||
config/use_custom_user_dir=true
|
||||
config/features=PackedStringArray("4.4", "Forward Plus")
|
||||
config/features=PackedStringArray("4.5", "Forward Plus")
|
||||
boot_splash/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)
|
||||
boot_splash/fullsize=false
|
||||
boot_splash/image="res://splash.png"
|
||||
|
|
@ -25,6 +25,7 @@ State="*res://singletons/global_state.gd"
|
|||
Scenes="*res://singletons/scene_reference.gd"
|
||||
Steamworks="*res://dev-util/steamworks.gd"
|
||||
PromptManager="*res://addons/input_prompts/input_prompt_manager.gd"
|
||||
Steam="*res://dev-util/steam.gd"
|
||||
|
||||
[debug]
|
||||
|
||||
|
|
@ -37,8 +38,11 @@ gdscript/warnings/native_method_override=0
|
|||
window/size/viewport_width=1920
|
||||
window/size/viewport_height=1080
|
||||
window/size/mode=3
|
||||
window/hdr/enabled=true
|
||||
window/hdr/prefer_high_precision=true
|
||||
window/stretch/mode="canvas_items"
|
||||
window/stretch/aspect="expand"
|
||||
display_server/driver.linuxbsd="wayland"
|
||||
mouse_cursor/custom_image="res://import/interface-elements/cursor.png"
|
||||
|
||||
[editor]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,147 @@
|
|||
@tool
|
||||
extends CompositorEffect
|
||||
class_name PostProcessShader
|
||||
|
||||
const template_shader: String = """
|
||||
#version 450
|
||||
|
||||
// Invocations in the (x, y, z) dimension
|
||||
layout(local_size_x = 8, local_size_y = 8, local_size_z = 1) in;
|
||||
|
||||
layout(rgba16f, set = 0, binding = 0) uniform image2D color_image;
|
||||
|
||||
// Our push constant
|
||||
layout(push_constant, std430) uniform Params {
|
||||
vec2 raster_size;
|
||||
vec2 reserved;
|
||||
} params;
|
||||
|
||||
// The code we want to execute in each invocation
|
||||
void main() {
|
||||
ivec2 uv = ivec2(gl_GlobalInvocationID.xy);
|
||||
ivec2 size = ivec2(params.raster_size);
|
||||
|
||||
if (uv.x >= size.x || uv.y >= size.y) {
|
||||
return;
|
||||
}
|
||||
|
||||
vec4 color = imageLoad(color_image, uv);
|
||||
|
||||
#COMPUTE_CODE
|
||||
|
||||
imageStore(color_image, uv, color);
|
||||
}
|
||||
"""
|
||||
|
||||
@export_multiline var shader_code: String = "":
|
||||
set(value):
|
||||
mutex.lock()
|
||||
shader_code = value
|
||||
shader_is_dirty = true
|
||||
mutex.unlock()
|
||||
|
||||
var rd: RenderingDevice
|
||||
var shader: RID
|
||||
var pipeline: RID
|
||||
|
||||
var mutex: Mutex = Mutex.new()
|
||||
var shader_is_dirty: bool = true
|
||||
|
||||
func _init():
|
||||
effect_callback_type = EFFECT_CALLBACK_TYPE_POST_TRANSPARENT
|
||||
rd = RenderingServer.get_rendering_device()
|
||||
|
||||
func _notification(what):
|
||||
if what == NOTIFICATION_PREDELETE:
|
||||
if shader.is_valid():
|
||||
# Freeing our shader will also free any dependents such as the pipeline!
|
||||
rd.free_rid(shader)
|
||||
|
||||
func _check_shader() -> bool:
|
||||
if not rd:
|
||||
return false
|
||||
|
||||
var new_shader_code: String = ""
|
||||
|
||||
# Check if our shader is dirty.
|
||||
mutex.lock()
|
||||
if shader_is_dirty:
|
||||
new_shader_code = shader_code
|
||||
shader_is_dirty = false
|
||||
mutex.unlock()
|
||||
|
||||
# We don't have a (new) shader?
|
||||
if new_shader_code.is_empty():
|
||||
return pipeline.is_valid()
|
||||
|
||||
# Apply template.
|
||||
new_shader_code = template_shader.replace("#COMPUTE_CODE", new_shader_code);
|
||||
|
||||
# Out with the old.
|
||||
if shader.is_valid():
|
||||
rd.free_rid(shader)
|
||||
shader = RID()
|
||||
pipeline = RID()
|
||||
|
||||
# In with the new.
|
||||
var shader_source: RDShaderSource = RDShaderSource.new()
|
||||
shader_source.language = RenderingDevice.SHADER_LANGUAGE_GLSL
|
||||
shader_source.source_compute = new_shader_code
|
||||
var shader_spirv: RDShaderSPIRV = rd.shader_compile_spirv_from_source(shader_source)
|
||||
|
||||
if shader_spirv.compile_error_compute != "":
|
||||
push_error(shader_spirv.compile_error_compute)
|
||||
push_error("In: " + new_shader_code)
|
||||
return false
|
||||
|
||||
shader = rd.shader_create_from_spirv(shader_spirv)
|
||||
if not shader.is_valid():
|
||||
return false
|
||||
|
||||
pipeline = rd.compute_pipeline_create(shader)
|
||||
return pipeline.is_valid()
|
||||
|
||||
func _render_callback(p_effect_callback_type, p_render_data):
|
||||
if rd and p_effect_callback_type == EFFECT_CALLBACK_TYPE_POST_TRANSPARENT and _check_shader():
|
||||
# Get our render scene buffers object, this gives us access to our render buffers.
|
||||
# Note that implementation differs per renderer hence the need for the cast.
|
||||
var render_scene_buffers: RenderSceneBuffersRD = p_render_data.get_render_scene_buffers()
|
||||
if render_scene_buffers:
|
||||
# Get our render size, this is the 3D render resolution!
|
||||
var size = render_scene_buffers.get_internal_size()
|
||||
if size.x == 0 and size.y == 0:
|
||||
return
|
||||
|
||||
# We can use a compute shader here.
|
||||
var x_groups = (size.x - 1) / 8 + 1
|
||||
var y_groups = (size.y - 1) / 8 + 1
|
||||
var z_groups = 1
|
||||
|
||||
# Push constant.
|
||||
var push_constant: PackedFloat32Array = PackedFloat32Array()
|
||||
push_constant.push_back(size.x)
|
||||
push_constant.push_back(size.y)
|
||||
push_constant.push_back(0.0)
|
||||
push_constant.push_back(0.0)
|
||||
|
||||
# Loop through views just in case we're doing stereo rendering. No extra cost if this is mono.
|
||||
var view_count = render_scene_buffers.get_view_count()
|
||||
for view in range(view_count):
|
||||
# Get the RID for our color image, we will be reading from and writing to it.
|
||||
var input_image = render_scene_buffers.get_color_layer(view)
|
||||
|
||||
# Create a uniform set.
|
||||
# This will be cached; the cache will be cleared if our viewport's configuration is changed.
|
||||
var uniform: RDUniform = RDUniform.new()
|
||||
uniform.uniform_type = RenderingDevice.UNIFORM_TYPE_IMAGE
|
||||
uniform.binding = 0
|
||||
uniform.add_id(input_image)
|
||||
var uniform_set = UniformSetCacheRD.get_cache(shader, 0, [ uniform ])
|
||||
|
||||
# Run our compute shader.
|
||||
var compute_list:= rd.compute_list_begin()
|
||||
rd.compute_list_bind_compute_pipeline(compute_list, pipeline)
|
||||
rd.compute_list_bind_uniform_set(compute_list, uniform_set, 0)
|
||||
rd.compute_list_set_push_constant(compute_list, push_constant.to_byte_array(), push_constant.size() * 4)
|
||||
rd.compute_list_dispatch(compute_list, x_groups, y_groups, z_groups)
|
||||
rd.compute_list_end()
|
||||
|
|
@ -0,0 +1 @@
|
|||
uid://br1w2nt4pj8lt
|
||||
Loading…
Reference in New Issue