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_type=""
|
||||||
nodes/root_name=""
|
nodes/root_name=""
|
||||||
|
nodes/root_script=null
|
||||||
nodes/apply_root_scale=true
|
nodes/apply_root_scale=true
|
||||||
nodes/root_scale=1.0
|
nodes/root_scale=1.0
|
||||||
nodes/import_as_skeleton_bones=false
|
nodes/import_as_skeleton_bones=false
|
||||||
|
nodes/use_name_suffixes=true
|
||||||
nodes/use_node_type_suffixes=true
|
nodes/use_node_type_suffixes=true
|
||||||
meshes/ensure_tangents=true
|
meshes/ensure_tangents=true
|
||||||
meshes/generate_lods=true
|
meshes/generate_lods=true
|
||||||
|
|
@ -32,19 +34,25 @@ animation/trimming=false
|
||||||
animation/remove_immutable_tracks=true
|
animation/remove_immutable_tracks=true
|
||||||
animation/import_rest_as_RESET=false
|
animation/import_rest_as_RESET=false
|
||||||
import_script/path=""
|
import_script/path=""
|
||||||
|
materials/extract=0
|
||||||
|
materials/extract_format=0
|
||||||
|
materials/extract_path=""
|
||||||
_subresources={
|
_subresources={
|
||||||
"materials": {
|
"materials": {
|
||||||
"Banco": {
|
"Banco": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"FluorescenteLuz": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"LuzTunelLarga": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"Material.003": {
|
||||||
"use_external/enabled": true,
|
"use_external/enabled": true,
|
||||||
|
|
@ -52,7 +60,8 @@ _subresources={
|
||||||
},
|
},
|
||||||
"ParedTunel": {
|
"ParedTunel": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"beam_metal": {
|
||||||
"use_external/enabled": true,
|
"use_external/enabled": true,
|
||||||
|
|
@ -64,19 +73,23 @@ _subresources={
|
||||||
},
|
},
|
||||||
"escalator_paneling": {
|
"escalator_paneling": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"escalator_rim": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"escalator_steps": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"green_pillar": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"metal": {
|
||||||
"use_external/enabled": true,
|
"use_external/enabled": true,
|
||||||
|
|
@ -88,55 +101,68 @@ _subresources={
|
||||||
},
|
},
|
||||||
"pipeage": {
|
"pipeage": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"pipeage.001": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"rails": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"river_of_time": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"signal_lights": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"sink": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"speakers": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"station_ceiling": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"station_floor": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"station_metal": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"station_tiles": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"tactile_paving": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"unlit_station_tiles": {
|
||||||
"use_external/enabled": true,
|
"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": {
|
"meshes": {
|
||||||
|
|
@ -146,6 +172,7 @@ _subresources={
|
||||||
"generate/shadow_meshes": 0,
|
"generate/shadow_meshes": 0,
|
||||||
"lods/normal_merge_angle": 60.0,
|
"lods/normal_merge_angle": 60.0,
|
||||||
"save_to_file/enabled": false,
|
"save_to_file/enabled": false,
|
||||||
|
"save_to_file/fallback_path": "",
|
||||||
"save_to_file/path": ""
|
"save_to_file/path": ""
|
||||||
},
|
},
|
||||||
"first_station_escalator_stairs": {
|
"first_station_escalator_stairs": {
|
||||||
|
|
@ -162,6 +189,7 @@ _subresources={
|
||||||
"generate/shadow_meshes": 0,
|
"generate/shadow_meshes": 0,
|
||||||
"lods/normal_merge_angle": 60.0,
|
"lods/normal_merge_angle": 60.0,
|
||||||
"save_to_file/enabled": false,
|
"save_to_file/enabled": false,
|
||||||
|
"save_to_file/fallback_path": "",
|
||||||
"save_to_file/path": ""
|
"save_to_file/path": ""
|
||||||
},
|
},
|
||||||
"first_station_raised_ceiling": {
|
"first_station_raised_ceiling": {
|
||||||
|
|
@ -170,6 +198,7 @@ _subresources={
|
||||||
"generate/shadow_meshes": 0,
|
"generate/shadow_meshes": 0,
|
||||||
"lods/normal_merge_angle": 60.0,
|
"lods/normal_merge_angle": 60.0,
|
||||||
"save_to_file/enabled": false,
|
"save_to_file/enabled": false,
|
||||||
|
"save_to_file/fallback_path": "",
|
||||||
"save_to_file/path": ""
|
"save_to_file/path": ""
|
||||||
},
|
},
|
||||||
"first_station_station_ceiling": {
|
"first_station_station_ceiling": {
|
||||||
|
|
@ -178,6 +207,7 @@ _subresources={
|
||||||
"generate/shadow_meshes": 0,
|
"generate/shadow_meshes": 0,
|
||||||
"lods/normal_merge_angle": 60.0,
|
"lods/normal_merge_angle": 60.0,
|
||||||
"save_to_file/enabled": false,
|
"save_to_file/enabled": false,
|
||||||
|
"save_to_file/fallback_path": "",
|
||||||
"save_to_file/path": ""
|
"save_to_file/path": ""
|
||||||
},
|
},
|
||||||
"first_station_water": {
|
"first_station_water": {
|
||||||
|
|
|
||||||
|
|
@ -6,5 +6,5 @@ cull_mode = 2
|
||||||
albedo_color = Color(0, 0, 0, 1)
|
albedo_color = Color(0, 0, 0, 1)
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
emission_enabled = true
|
emission_enabled = true
|
||||||
emission = Color(1, 1, 1, 1)
|
emission = Color(0.0748178, 0.134808, 0.168364, 1)
|
||||||
emission_energy_multiplier = 3.0
|
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://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://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"]
|
[ext_resource type="Texture2D" uid="uid://twlm701hfhk5" path="res://base-environments/transition/import/textures/StationCeiling_normal.png" id="3_k7xpx"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
|
|
@ -12,5 +13,8 @@ metallic_texture = ExtResource("2_vf24e")
|
||||||
metallic_texture_channel = 1
|
metallic_texture_channel = 1
|
||||||
roughness_texture = ExtResource("2_vf24e")
|
roughness_texture = ExtResource("2_vf24e")
|
||||||
roughness_texture_channel = 1
|
roughness_texture_channel = 1
|
||||||
|
emission_enabled = true
|
||||||
|
emission_on_uv2 = true
|
||||||
|
emission_texture = ExtResource("2_yuvg6")
|
||||||
normal_enabled = true
|
normal_enabled = true
|
||||||
normal_texture = ExtResource("3_k7xpx")
|
normal_texture = ExtResource("3_k7xpx")
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
// NOTE: Shader automatically converted from Godot Engine 4.3.stable's StandardMaterial3D.
|
// NOTE: Shader automatically converted from Godot Engine 4.3.stable's StandardMaterial3D.
|
||||||
|
|
||||||
shader_type spatial;
|
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 spray_texture;
|
||||||
uniform sampler2D lifetime_gradient;
|
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));
|
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, 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);
|
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;
|
BACKLIGHT = ALBEDO;
|
||||||
//EMISSION = COLOR.xyz * max(0, (1.5-pow(passtrough.y, 0.3)*2.0));
|
//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"]
|
[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"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_7uei1"]
|
||||||
|
cull_mode = 2
|
||||||
albedo_color = Color(0.933333, 0.933333, 0.933333, 1)
|
albedo_color = Color(0.933333, 0.933333, 0.933333, 1)
|
||||||
metallic = 1.0
|
metallic = 1.0
|
||||||
roughness = 0.4
|
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)
|
shader_parameter/lightcolor = Color(1.5, 2, 0.76, 1)
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_r18tr"]
|
[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"]
|
[sub_resource type="GradientTexture2D" id="GradientTexture2D_42bqf"]
|
||||||
gradient = SubResource("Gradient_r18tr")
|
gradient = SubResource("Gradient_r18tr")
|
||||||
|
use_hdr = true
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_31q3g"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_31q3g"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("4_y2lnx")
|
shader = ExtResource("4_y2lnx")
|
||||||
shader_parameter/gradient = SubResource("GradientTexture2D_42bqf")
|
shader_parameter/gradient = SubResource("GradientTexture2D_42bqf")
|
||||||
shader_parameter/drop_size = 0.015
|
shader_parameter/drop_size = 0.015
|
||||||
shader_parameter/stretch_compensatioon = 35.0
|
shader_parameter/stretch_compensatioon = 40.0
|
||||||
shader_parameter/fill = 0.655
|
shader_parameter/fill = 0.65
|
||||||
shader_parameter/speed = 0.01
|
shader_parameter/speed = 0.015
|
||||||
shader_parameter/brightness = 1.0
|
shader_parameter/brightness = 2.0
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_0ijgr"]
|
[sub_resource type="Animation" id="Animation_0ijgr"]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
|
|
@ -115,7 +119,7 @@ skeleton = NodePath("")
|
||||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
root_node = NodePath("../raising")
|
root_node = NodePath("../raising")
|
||||||
libraries = {
|
libraries = {
|
||||||
"": SubResource("AnimationLibrary_88lyq")
|
&"": SubResource("AnimationLibrary_88lyq")
|
||||||
}
|
}
|
||||||
autoplay = "lavalamp"
|
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")
|
||||||
|
|
@ -821,8 +821,6 @@ offset_right = -424.0
|
||||||
grow_horizontal = 2
|
grow_horizontal = 2
|
||||||
grow_vertical = 2
|
grow_vertical = 2
|
||||||
script = ExtResource("1_aby4n")
|
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
|
progress = 17.0
|
||||||
|
|
||||||
[node name="PanelContainer" type="PanelContainer" parent="."]
|
[node name="PanelContainer" type="PanelContainer" parent="."]
|
||||||
|
|
@ -915,6 +913,7 @@ frame = 2
|
||||||
script = SubResource("GDScript_80sa6")
|
script = SubResource("GDScript_80sa6")
|
||||||
noise_speed = 2.79007
|
noise_speed = 2.79007
|
||||||
noise_power = 4.56721
|
noise_power = 4.56721
|
||||||
|
void_active = null
|
||||||
|
|
||||||
[node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"]
|
[node name="GPUParticles2D" type="GPUParticles2D" parent="PanelContainer/card/BackgroundSprite"]
|
||||||
emitting = false
|
emitting = false
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ operator = 8
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
code = "shader_type spatial;
|
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 glass_tint : source_color;
|
||||||
uniform vec4 lightcolor : source_color;
|
uniform vec4 lightcolor : source_color;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
shader_type spatial;
|
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 sampler2D gradient: repeat_disable;
|
||||||
uniform float drop_size;
|
uniform float drop_size = 0.015;
|
||||||
uniform float stretch_compensatioon;
|
uniform float stretch_compensatioon = 40;
|
||||||
uniform float fill;
|
uniform float fill = 0.65;
|
||||||
uniform float speed;
|
uniform float speed = 0.015;
|
||||||
uniform float brightness;
|
uniform float brightness = 2;
|
||||||
|
|
||||||
void fragment() {
|
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, UV.y), vec2(0.0, fill));
|
||||||
dist += 1.5 / distance(vec2(NORMAL.x/stretch_compensatioon, UV2.x), vec2(0.0, 1.1));
|
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));
|
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
|
//clamp(, .0, 1.0
|
||||||
|
|
||||||
void fragment() {
|
void fragment() {
|
||||||
|
//ALBEDO = vec3(0.);
|
||||||
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,
|
texture(starlight_textures,
|
||||||
clamp(
|
clamp(
|
||||||
UV / nebula_scale + drift_compensation + 1.0 *
|
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="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"]
|
[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="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="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="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="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="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"]
|
[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_source = 3
|
||||||
ambient_light_color = Color(1, 1, 1, 1)
|
ambient_light_color = Color(1, 1, 1, 1)
|
||||||
reflected_light_source = 1
|
reflected_light_source = 1
|
||||||
tonemap_mode = 2
|
tonemap_mode = 1
|
||||||
|
tonemap_exposure = 0.7
|
||||||
|
tonemap_white = 3.0
|
||||||
ssr_max_steps = 512
|
ssr_max_steps = 512
|
||||||
ssr_depth_tolerance = 0.01
|
ssr_depth_tolerance = 0.01
|
||||||
ssao_enabled = true
|
ssao_enabled = true
|
||||||
|
|
@ -1466,9 +1469,7 @@ ssil_intensity = 0.5
|
||||||
ssil_normal_rejection = 0.8
|
ssil_normal_rejection = 0.8
|
||||||
sdfgi_use_occlusion = true
|
sdfgi_use_occlusion = true
|
||||||
sdfgi_read_sky_light = false
|
sdfgi_read_sky_light = false
|
||||||
sdfgi_min_cell_size = 0.00976562
|
sdfgi_min_cell_size = 0.009765625
|
||||||
sdfgi_cascade0_distance = 0.625
|
|
||||||
sdfgi_max_distance = 10.0
|
|
||||||
glow_enabled = true
|
glow_enabled = true
|
||||||
glow_levels/2 = 0.3
|
glow_levels/2 = 0.3
|
||||||
glow_levels/7 = 2.0
|
glow_levels/7 = 2.0
|
||||||
|
|
@ -1484,6 +1485,7 @@ fog_height = 1.0
|
||||||
fog_height_density = 0.1
|
fog_height_density = 0.1
|
||||||
|
|
||||||
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"]
|
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_26mp0"]
|
||||||
|
exposure_multiplier = 2.5
|
||||||
auto_exposure_enabled = true
|
auto_exposure_enabled = true
|
||||||
auto_exposure_scale = 0.2
|
auto_exposure_scale = 0.2
|
||||||
dof_blur_far_distance = 0.4
|
dof_blur_far_distance = 0.4
|
||||||
|
|
@ -1493,6 +1495,23 @@ dof_blur_near_transition = 2.0
|
||||||
dof_blur_amount = 0.0
|
dof_blur_amount = 0.0
|
||||||
auto_exposure_min_sensitivity = 100.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"]
|
[sub_resource type="GDScript" id="GDScript_wb8kg"]
|
||||||
script/source = "extends WorldEnvironment
|
script/source = "extends WorldEnvironment
|
||||||
|
|
||||||
|
|
@ -1834,6 +1853,8 @@ volume_db = -80.0
|
||||||
bus = &"music"
|
bus = &"music"
|
||||||
|
|
||||||
[node name="childhood" parent="logic/ScenePlayer" instance=ExtResource("12_viwxf")]
|
[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"]
|
[node name="VoiceTraining" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||||
stream = ExtResource("10_wwwdq")
|
stream = ExtResource("10_wwwdq")
|
||||||
|
|
@ -1841,13 +1862,19 @@ volume_db = -80.0
|
||||||
bus = &"music"
|
bus = &"music"
|
||||||
|
|
||||||
[node name="JuiJutsu" parent="logic/ScenePlayer" instance=ExtResource("12_x3dlb")]
|
[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")]
|
[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"]
|
[node name="Jui_Jutsu" type="AudioStreamPlayer" parent="logic/ScenePlayer"]
|
||||||
bus = &"music"
|
bus = &"music"
|
||||||
|
|
||||||
[node name="draven" parent="logic/ScenePlayer" instance=ExtResource("19_d3c7p")]
|
[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"]
|
[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)
|
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
|
light_cull_mask = 4294967293
|
||||||
|
|
||||||
[node name="Luna_frame-of-mind" parent="logic/ScenePlayer" instance=ExtResource("27_pb1jl")]
|
[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
|
visible = false
|
||||||
|
|
||||||
[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/Luna_frame-of-mind"]
|
[node name="OmniLight3D" type="OmniLight3D" parent="logic/ScenePlayer/Luna_frame-of-mind"]
|
||||||
|
|
@ -2228,7 +2255,7 @@ light_specular = 0.2
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="visuals"]
|
[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
|
visible = false
|
||||||
light_color = Color(0.81982, 0.935491, 0.980381, 1)
|
light_color = Color(0.81982, 0.935491, 0.980381, 1)
|
||||||
light_energy = 20.0
|
light_energy = 20.0
|
||||||
|
|
@ -2358,21 +2385,20 @@ skeleton = NodePath("")
|
||||||
|
|
||||||
[node name="ReflectionProbe" type="ReflectionProbe" parent="visuals/vfx/lava-lamp"]
|
[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)
|
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
|
max_distance = 7.0
|
||||||
size = Vector3(2, 2, 2)
|
size = Vector3(2, 2, 2)
|
||||||
|
|
||||||
[node name="OmniLight3D" type="SpotLight3D" parent="visuals/vfx/lava-lamp"]
|
[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)
|
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.282353, 0.45098, 0.258824, 1)
|
light_color = Color(0.21945003, 0.45, 0.189, 1)
|
||||||
light_energy = 1.5
|
light_energy = 1.5
|
||||||
light_size = 0.2
|
light_size = 0.05
|
||||||
light_specular = 0.1
|
light_specular = 0.3
|
||||||
light_bake_mode = 1
|
light_bake_mode = 1
|
||||||
spot_range = 1.5
|
spot_range = 1.5
|
||||||
spot_attenuation = 1.1487
|
spot_attenuation = 1.2
|
||||||
spot_angle = 126.18
|
spot_angle = 137.58
|
||||||
spot_angle_attenuation = 0.68302
|
spot_angle_attenuation = 1.6358016
|
||||||
script = SubResource("GDScript_yn0pl")
|
script = SubResource("GDScript_yn0pl")
|
||||||
|
|
||||||
[node name="youth_room" parent="visuals" instance=ExtResource("1_jf3oi")]
|
[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"]]
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["scene_actors"]]
|
||||||
environment = SubResource("Environment_pllnm")
|
environment = SubResource("Environment_pllnm")
|
||||||
camera_attributes = SubResource("CameraAttributesPractical_26mp0")
|
camera_attributes = SubResource("CameraAttributesPractical_26mp0")
|
||||||
|
compositor = SubResource("Compositor_bgk6f")
|
||||||
script = SubResource("GDScript_wb8kg")
|
script = SubResource("GDScript_wb8kg")
|
||||||
|
|
||||||
[node name="window_frames" type="MeshInstance3D" parent="WorldEnvironment"]
|
[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"
|
config/name="Frame of Mind"
|
||||||
run/main_scene="uid://cd63barv73rfx"
|
run/main_scene="uid://cd63barv73rfx"
|
||||||
config/use_custom_user_dir=true
|
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/bg_color=Color(0.0313726, 0.0117647, 0.129412, 1)
|
||||||
boot_splash/fullsize=false
|
boot_splash/fullsize=false
|
||||||
boot_splash/image="res://splash.png"
|
boot_splash/image="res://splash.png"
|
||||||
|
|
@ -25,6 +25,7 @@ State="*res://singletons/global_state.gd"
|
||||||
Scenes="*res://singletons/scene_reference.gd"
|
Scenes="*res://singletons/scene_reference.gd"
|
||||||
Steamworks="*res://dev-util/steamworks.gd"
|
Steamworks="*res://dev-util/steamworks.gd"
|
||||||
PromptManager="*res://addons/input_prompts/input_prompt_manager.gd"
|
PromptManager="*res://addons/input_prompts/input_prompt_manager.gd"
|
||||||
|
Steam="*res://dev-util/steam.gd"
|
||||||
|
|
||||||
[debug]
|
[debug]
|
||||||
|
|
||||||
|
|
@ -37,8 +38,11 @@ gdscript/warnings/native_method_override=0
|
||||||
window/size/viewport_width=1920
|
window/size/viewport_width=1920
|
||||||
window/size/viewport_height=1080
|
window/size/viewport_height=1080
|
||||||
window/size/mode=3
|
window/size/mode=3
|
||||||
|
window/hdr/enabled=true
|
||||||
|
window/hdr/prefer_high_precision=true
|
||||||
window/stretch/mode="canvas_items"
|
window/stretch/mode="canvas_items"
|
||||||
window/stretch/aspect="expand"
|
window/stretch/aspect="expand"
|
||||||
|
display_server/driver.linuxbsd="wayland"
|
||||||
mouse_cursor/custom_image="res://import/interface-elements/cursor.png"
|
mouse_cursor/custom_image="res://import/interface-elements/cursor.png"
|
||||||
|
|
||||||
[editor]
|
[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