diff --git a/design/Gebäude_in_Darmstadt.jpg b/design/Gebäude_in_Darmstadt.jpg new file mode 100644 index 0000000..7f27c8d Binary files /dev/null and b/design/Gebäude_in_Darmstadt.jpg differ diff --git a/design/cheeky-city.blend b/design/cheeky-city.blend new file mode 100644 index 0000000..44fc449 Binary files /dev/null and b/design/cheeky-city.blend differ diff --git a/design/contributions.md b/design/contributions.md index 0891b7f..03b8685 100644 --- a/design/contributions.md +++ b/design/contributions.md @@ -20,6 +20,9 @@ - [Wood Substance 009](https://ambientcg.com/view?id=WoodSubstance009) - [Wicker 010 B](https://ambientcg.com/view?id=Wicker010B) +## Wikimedia Commons + - [Gebäude in Darmstadt](https://commons.wikimedia.org/wiki/File:Geb%C3%A4ude_in_Darmstadt.jpg) by [Neq00](https://commons.wikimedia.org/wiki/User:Neq00) CC-BY-SA 4.0 + ## Comic Illustrations - by [Fernand0FC](https://www.deviantart.com/fernand0fc), CC-BY-3.0 diff --git a/design/lit-windows.png b/design/lit-windows.png new file mode 100644 index 0000000..3a13647 Binary files /dev/null and b/design/lit-windows.png differ diff --git a/design/youth-construction.blend b/design/youth-construction.blend index c8948a6..3ecf577 100644 Binary files a/design/youth-construction.blend and b/design/youth-construction.blend differ diff --git a/design/youth-construction.blend1 b/design/youth-construction.blend1 index dde8d8a..c8948a6 100644 Binary files a/design/youth-construction.blend1 and b/design/youth-construction.blend1 differ diff --git a/src/base-environments/youth_room/import/cheeky-city.glb b/src/base-environments/youth_room/import/cheeky-city.glb new file mode 100644 index 0000000..9675f97 Binary files /dev/null and b/src/base-environments/youth_room/import/cheeky-city.glb differ diff --git a/src/base-environments/youth_room/import/cheeky-city.glb.import b/src/base-environments/youth_room/import/cheeky-city.glb.import new file mode 100644 index 0000000..818576a --- /dev/null +++ b/src/base-environments/youth_room/import/cheeky-city.glb.import @@ -0,0 +1,39 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://c2uf5vwe2rdbd" +path="res://.godot/imported/cheeky-city.glb-6f514d675234ff47130013a874a0e50a.scn" + +[deps] + +source_file="res://base-environments/youth_room/import/cheeky-city.glb" +dest_files=["res://.godot/imported/cheeky-city.glb-6f514d675234ff47130013a874a0e50a.scn"] + +[params] + +nodes/root_type="Node3D" +nodes/root_name="Scene Root" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +import_script/path="" +_subresources={ +"materials": { +"lit-windows": { +"use_external/enabled": true, +"use_external/path": "res://base-environments/youth_room/import/city_lights.material" +} +} +} +gltf/embedded_image_handling=1 diff --git a/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png b/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png new file mode 100644 index 0000000..665fa40 Binary files /dev/null and b/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png differ diff --git a/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png.import b/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png.import new file mode 100644 index 0000000..b423e38 --- /dev/null +++ b/src/base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6e8gv6v8f15c" +path.s3tc="res://.godot/imported/cheeky-city_Gebäude_in_Darmstadt.png-ac0583b9816303da345242e7cb6a0631.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={} + +[deps] + +source_file="res://base-environments/youth_room/import/cheeky-city_Gebäude_in_Darmstadt.png" +dest_files=["res://.godot/imported/cheeky-city_Gebäude_in_Darmstadt.png-ac0583b9816303da345242e7cb6a0631.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/src/base-environments/youth_room/import/cheeky-city_ground_14.png b/src/base-environments/youth_room/import/cheeky-city_ground_14.png new file mode 100644 index 0000000..181ba7d Binary files /dev/null and b/src/base-environments/youth_room/import/cheeky-city_ground_14.png differ diff --git a/src/base-environments/youth_room/import/cheeky-city_ground_14.png.import b/src/base-environments/youth_room/import/cheeky-city_ground_14.png.import new file mode 100644 index 0000000..0fdb94e --- /dev/null +++ b/src/base-environments/youth_room/import/cheeky-city_ground_14.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ds3cmnoe3qoy3" +path.s3tc="res://.godot/imported/cheeky-city_ground_14.png-3cbb5168a3de6a7e71997ae91db469ad.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={} + +[deps] + +source_file="res://base-environments/youth_room/import/cheeky-city_ground_14.png" +dest_files=["res://.godot/imported/cheeky-city_ground_14.png-3cbb5168a3de6a7e71997ae91db469ad.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/src/base-environments/youth_room/import/cheeky-city_lit-windows.png b/src/base-environments/youth_room/import/cheeky-city_lit-windows.png new file mode 100644 index 0000000..d7f6bb6 Binary files /dev/null and b/src/base-environments/youth_room/import/cheeky-city_lit-windows.png differ diff --git a/src/base-environments/youth_room/import/cheeky-city_lit-windows.png.import b/src/base-environments/youth_room/import/cheeky-city_lit-windows.png.import new file mode 100644 index 0000000..479ecdb --- /dev/null +++ b/src/base-environments/youth_room/import/cheeky-city_lit-windows.png.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://da735wtyxlbdq" +path.s3tc="res://.godot/imported/cheeky-city_lit-windows.png-09a8524108d724a2e1bbbbc05575251e.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} +generator_parameters={} + +[deps] + +source_file="res://base-environments/youth_room/import/cheeky-city_lit-windows.png" +dest_files=["res://.godot/imported/cheeky-city_lit-windows.png-09a8524108d724a2e1bbbbc05575251e.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/src/base-environments/youth_room/import/city_lights.material b/src/base-environments/youth_room/import/city_lights.material new file mode 100644 index 0000000..1d53186 Binary files /dev/null and b/src/base-environments/youth_room/import/city_lights.material differ diff --git a/src/base-environments/youth_room/luna_sprite.gdshader b/src/base-environments/youth_room/luna_sprite.gdshader new file mode 100644 index 0000000..e69de29 diff --git a/src/base-environments/youth_room/outside.tscn b/src/base-environments/youth_room/outside.tscn new file mode 100644 index 0000000..8c34e31 --- /dev/null +++ b/src/base-environments/youth_room/outside.tscn @@ -0,0 +1,103 @@ +[gd_scene load_steps=6 format=3 uid="uid://bwc2wp7tckm7t"] + +[ext_resource type="PackedScene" uid="uid://c2uf5vwe2rdbd" path="res://base-environments/youth_room/import/cheeky-city.glb" id="1_yckvd"] + +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_6f36u"] +sky_top_color = Color(0.101961, 0.0666667, 0.054902, 1) +sky_horizon_color = Color(0.0627451, 0.054902, 0.0823529, 1) +sky_curve = 0.139955 +sky_energy_multiplier = 3.0 +ground_bottom_color = Color(0.0392157, 0.0470588, 0.0705882, 1) +ground_horizon_color = Color(0.0470588, 0.0470588, 0.0509804, 1) + +[sub_resource type="Sky" id="Sky_t6lsh"] +sky_material = SubResource("ProceduralSkyMaterial_6f36u") + +[sub_resource type="Environment" id="Environment_fld35"] +background_mode = 2 +sky = SubResource("Sky_t6lsh") +tonemap_mode = 2 +tonemap_exposure = 0.2 +tonemap_white = 0.7 +glow_enabled = true +glow_intensity = 1.37 +glow_strength = 0.7 +glow_bloom = 0.5 +glow_blend_mode = 1 +glow_hdr_threshold = 0.0 +fog_light_color = Color(0.258824, 0.184314, 0.101961, 1) +fog_density = 0.03 +fog_aerial_perspective = 0.94 +fog_sky_affect = 0.056 +fog_height_density = 0.1 +volumetric_fog_enabled = true +volumetric_fog_density = 0.02 +volumetric_fog_temporal_reprojection_amount = 0.5 +adjustment_enabled = true +adjustment_contrast = 0.95 + +[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_ulrlw"] +dof_blur_far_enabled = true +dof_blur_far_distance = 0.01 +dof_blur_far_transition = 20.0 + +[node name="outside" type="Node3D"] + +[node name="cheeky-city" parent="." instance=ExtResource("1_yckvd")] +transform = Transform3D(20, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0) + +[node name="OmniLight3D" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.4465, -0.256757, -19.7974) +light_color = Color(0.8, 0.603922, 0.392157, 1) +light_energy = 0.2 +light_size = 0.279 +omni_range = 16.0 +omni_attenuation = 0.112656 + +[node name="OmniLight3D2" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 40.5472, -0.232839, -32.886) +light_color = Color(0.67451, 0.619608, 0.517647, 1) +light_energy = 0.2 +light_size = 0.279 +omni_range = 25.0 +omni_attenuation = 0.189465 + +[node name="OmniLight3D6" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6.53009, -6.20358, -9.67346) +light_color = Color(0.631373, 0.635294, 0.521569, 1) +light_energy = 0.5 +light_size = 0.279 +omni_range = 13.1447 +omni_attenuation = 0.189465 + +[node name="OmniLight3D3" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -24.3761, -0.151392, -38.9854) +light_color = Color(0.847059, 0.545098, 0.305882, 1) +light_energy = 0.2 +light_size = 0.1 +omni_range = 32.0 +omni_attenuation = 0.307786 + +[node name="OmniLight3D4" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.9875, -0.706419, -1.3831) +light_color = Color(0.8, 0.603922, 0.392157, 1) +light_size = 0.1 +omni_range = 18.0 +omni_attenuation = 0.307786 + +[node name="OmniLight3D5" type="OmniLight3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.81714, -0.70642, -15.9211) +light_color = Color(0.8, 0.603922, 0.392157, 1) +light_size = 0.1 +omni_range = 17.0 +omni_attenuation = 0.307786 + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_fld35") +camera_attributes = SubResource("CameraAttributesPractical_ulrlw") + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.65453, -0.526846, 0.54224, 0, 0.717215, 0.696852, -0.756036, -0.456111, 0.469438, 0, 0, 0) +light_color = Color(0.92549, 0.94902, 0.980392, 1) +light_energy = 0.0 +light_angular_distance = 20.0 diff --git a/src/base-environments/youth_room/rainy-window.gdshader b/src/base-environments/youth_room/rainy-window.gdshader new file mode 100644 index 0000000..d61583c --- /dev/null +++ b/src/base-environments/youth_room/rainy-window.gdshader @@ -0,0 +1,130 @@ +shader_type spatial; + +#define S(a, b, t) smoothstep(a, b, t) +#define USE_POST_PROCESSING + +uniform sampler2D viewport_tex : repeat_disable, filter_nearest; +uniform sampler2D noise; +uniform vec2 destretch; + +vec3 N13(float p) { + // from DAVE HOSKINS + vec3 p3 = fract(vec3(p, p, p) * vec3(.1031, .11369, .13787)); + p3 += dot(p3, p3.yzx + 19.19); + return fract(vec3((p3.x + p3.y)*p3.z, (p3.x + p3.z)*p3.y, (p3.y + p3.z)*p3.x)); +} + +vec4 N14(float t) { + return fract(sin(t*vec4(123., 1024., 1456., 264.))*vec4(6547., 345., 8799., 1564.)); +} +float N(float t) { + return fract(sin(t*12345.564)*7658.76); +} + +float Saw(float b, float t) { + return S(0., b, t)*S(1., b, t); +} + +vec2 DropLayer2(vec2 uv, float t) { + vec2 UV = uv; + + uv.y += t*0.75; + vec2 a = vec2(6., 1.); + vec2 grid = a*2.; + vec2 id = floor(uv*grid); + + float colShift = N(id.x); + uv.y += colShift; + + id = floor(uv*grid); + vec3 n = N13(id.x*35.2 + id.y*2376.1); + vec2 st = fract(uv*grid) - vec2(.5, 0); + + float x = n.x - .5; + + float y = UV.y*20.; + float wiggle = sin(y + sin(y)); + x += wiggle*(.5 - abs(x))*(n.z - .5); + x *= .7; + float ti = fract(t + n.z); + y = (Saw(.85, ti) - .5)*.9 + .5; + vec2 p = vec2(x, y); + + float d = length((st - p)*a.yx); + + float mainDrop = S(.4, .0, d); + + float r = sqrt(S(1., y, st.y)); + float cd = abs(st.x - x); + float trail = S(.23*r, .15*r*r, cd); + float trailFront = S(-.02, .02, st.y - y); + trail *= trailFront*r*r; + + y = UV.y; + float trail2 = S(.2*r, .0, cd); + float droplets = max(0., (sin(y*(1. - y)*120.) - st.y))*trail2*trailFront*n.z; + y = fract(y*10.) + (st.y - .5); + float dd = length(st - vec2(x, y)); + droplets = S(.3, 0., dd); + float m = mainDrop + droplets*r*trailFront; + + //m += st.x>a.y*.45 || st.y>a.x*.165 ? 1.2 : 0.; + return vec2(m, trail); +} + +float StaticDrops(vec2 uv, float t) { + uv *= 40.; + + vec2 id = floor(uv); + uv = fract(uv) - .5; + vec3 n = N13(id.x*107.45 + id.y*3543.654); + vec2 p = (n.xy - .5)*.7; + float d = length(uv - p); + + float fade = Saw(.025, fract(t + n.z)); + float c = S(.3, 0., d)*fract(n.z*10.)*fade; + return c; +} + +vec2 Drops(vec2 uv, float t, float l0, float l1, float l2) { + float s = StaticDrops(uv, t)*l0; + vec2 m1 = DropLayer2(uv, t)*l1; + vec2 m2 = DropLayer2(uv*1.85, t)*l2; + + float c = s + m1.x + m2.x; + c = S(.3, 1., c); + + return vec2(c, max(m1.y*l0, m2.y*l1)); +} + +void vertex() { + UV *= destretch; +} + +void fragment() { + vec2 uv = UV + texture(noise, UV * 0.1 - TIME * vec2(0, 0.01)).zx * 0.2; + + float rainAmount = sin(TIME*.05)*10.0+0.7; + rainAmount = 1.5; + + float staticDrops = S(-.5, 1., rainAmount)*2.; + float layer1 = S(.25, .5, rainAmount); + float layer2 = S(.0, .5, rainAmount); + + vec2 c = Drops(-uv, TIME*.3, staticDrops, layer1, layer2); + vec2 e = vec2(.001, 0.); + float cx = Drops(-uv+e, TIME*.3, staticDrops, layer1, layer2).x; + float cy = Drops(-uv+e.yx, TIME*.3, staticDrops, layer1, layer2).x; + vec2 n = vec2(cx-c.x, cy-c.x); // expensive normals + n *= 0.3; + + vec2 flowing_water = texture(noise, UV * vec2(1, 0.3) - TIME * vec2(0.01, 0.2)).xy; + flowing_water = texture(noise, UV + flowing_water - TIME * vec2(-0.02, 0.2)).yz; + flowing_water = flowing_water * vec2(0.03, 0.02); + vec3 col = texture(viewport_tex, flowing_water + SCREEN_UV + n).rgb; + + ROUGHNESS = 0.1; + SPECULAR = 1.0; + ALBEDO = vec3(0.02); + EMISSION = pow(col, vec3(3)); +} \ No newline at end of file diff --git a/src/base-environments/youth_room/youth_room.tscn b/src/base-environments/youth_room/youth_room.tscn index 657dd54..e39d9a4 100644 --- a/src/base-environments/youth_room/youth_room.tscn +++ b/src/base-environments/youth_room/youth_room.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=113 format=3 uid="uid://b3b0gyvklqn50"] +[gd_scene load_steps=116 format=3 uid="uid://b3b0gyvklqn50"] [ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"] [ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"] @@ -32,6 +32,9 @@ [ext_resource type="AudioStream" uid="uid://bghjiqkyehs1p" path="res://base-environments/youth_room/import/sounds/rain and thunder.mp3" id="22_xrkbj"] [ext_resource type="PackedScene" uid="uid://bpjympn3ps3wo" path="res://logic-scenes/luna/luna_imported.tscn" id="27_pb1jl"] [ext_resource type="Material" uid="uid://ct7uc5i5yp5qf" path="res://base-environments/youth_room/import/materials/wall.tres" id="28_oiweb"] +[ext_resource type="PackedScene" uid="uid://bwc2wp7tckm7t" path="res://base-environments/youth_room/outside.tscn" id="32_2vgep"] +[ext_resource type="Shader" path="res://base-environments/youth_room/rainy-window.gdshader" id="32_y0f8t"] +[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="33_ju0ni"] [sub_resource type="BoxShape3D" id="BoxShape3D_j3mqx"] size = Vector3(0.711297, 2.53136, 1.74815) @@ -1956,18 +1959,18 @@ func _process(delta): light_energy = base_energy * (1 + noise.get_noise_1d(light_spot) * flicker_strength) " -[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_kcdrx"] -sky_top_color = Color(0.00392157, 0.0156863, 0.329412, 1) -sky_horizon_color = Color(0.619608, 0.168627, 0.396078, 1) -sky_curve = 0.197926 +[sub_resource type="ViewportTexture" id="ViewportTexture_hwb6d"] +viewport_path = NodePath("MeshInstance3D/SubViewport") -[sub_resource type="Sky" id="Sky_lumfb"] -sky_material = SubResource("ProceduralSkyMaterial_kcdrx") +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_et8yw"] + +[sub_resource type="Sky" id="Sky_188qv"] +sky_material = SubResource("ProceduralSkyMaterial_et8yw") [sub_resource type="Environment" id="Environment_pllnm"] background_mode = 2 background_energy_multiplier = 0.2 -sky = SubResource("Sky_lumfb") +sky = SubResource("Sky_188qv") sky_rotation = Vector3(0, 0.352557, 0) ambient_light_source = 3 ambient_light_color = Color(1, 1, 1, 1) @@ -2036,29 +2039,34 @@ func _on_picker_cards_picked(_cards): focus_env() " -[sub_resource type="QuadMesh" id="QuadMesh_n875y"] +[sub_resource type="ViewportTexture" id="ViewportTexture_dwpvi"] +viewport_path = NodePath("WorldEnvironment/window/SubViewport") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_5u6i4"] -albedo_color = Color(0.270588, 0.270588, 0.270588, 1) +[sub_resource type="ShaderMaterial" id="ShaderMaterial_dsyg4"] +resource_local_to_scene = true +render_priority = 0 +shader = ExtResource("32_y0f8t") +shader_parameter/destretch = Vector2(3.044, 1.728) +shader_parameter/viewport_tex = SubResource("ViewportTexture_dwpvi") +shader_parameter/noise = ExtResource("33_ju0ni") -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qifbj"] -emission_enabled = true -emission = Color(0.305882, 0.305882, 0.305882, 1) -billboard_mode = 3 -particles_anim_h_frames = 1 -particles_anim_v_frames = 1 -particles_anim_loop = false +[sub_resource type="QuadMesh" id="QuadMesh_bmra5"] +size = Vector2(1.522, 0.864) -[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_g3ayx"] -emission_shape = 3 -emission_box_extents = Vector3(2, 0.1, 0.1) -direction = Vector3(1, -1, 0) -gravity = Vector3(0, -1, 0) -initial_velocity_min = 1.0 -initial_velocity_max = 1.0 +[sub_resource type="GDScript" id="GDScript_rfgs6"] +script/source = "extends Camera3D -[sub_resource type="QuadMesh" id="QuadMesh_rb6dt"] -size = Vector2(0.01, 0.01) +@export var camera_path: NodePath + +var camera: Camera3D + +func _ready(): + camera = get_tree().root.get_viewport().get_camera_3d() + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + self.global_transform = camera.global_transform +" [node name="youth room" type="Node3D"] script = ExtResource("1_aitp0") @@ -3059,11 +3067,14 @@ script = SubResource("GDScript_5ot1o") [node name="lighting aids" type="Node3D" parent="visuals"] -[node name="radiator_probe" type="ReflectionProbe" parent="visuals/lighting aids"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.3601, 0.498433, 2.59152) -max_distance = 5.0 -size = Vector3(0.967903, 0.802809, 0.260947) -origin_offset = Vector3(0, 0.0473633, 0.0112305) +[node name="window_probe" type="ReflectionProbe" parent="visuals/lighting aids"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.01338, 0.972332, 2.73763) +max_distance = 7.0 +size = Vector3(1.55939, 2.08125, 0.431185) +origin_offset = Vector3(0, 0.46875, 0.117676) +enable_shadows = true +cull_mask = 1 +mesh_lod_threshold = 0.0 [node name="door_probe" type="ReflectionProbe" parent="visuals/lighting aids"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.587879, 1.71708, -0.403385) @@ -3121,11 +3132,32 @@ script = SubResource("GDScript_yn0pl") [node name="youth_room" parent="visuals" instance=ExtResource("1_jf3oi")] +[node name="MeshInstance3D" type="Sprite3D" parent="."] +transform = Transform3D(-0.080852, 0, -1.22083e-08, 0, 0.080852, 0, 1.22083e-08, 0, -0.080852, 1.03861, 1.5471, 2.86542) +texture = SubResource("ViewportTexture_hwb6d") + [node name="WorldEnvironment" type="WorldEnvironment" parent="." groups=["animation_player"]] environment = SubResource("Environment_pllnm") camera_attributes = SubResource("CameraAttributesPractical_26mp0") script = SubResource("GDScript_wb8kg") +[node name="window" type="MeshInstance3D" parent="WorldEnvironment"] +transform = Transform3D(-1, 0, 1.50996e-07, 0, 1, 0, -1.50996e-07, 0, -1, 1.0196, 1.54536, 2.86288) +material_override = SubResource("ShaderMaterial_dsyg4") +mesh = SubResource("QuadMesh_bmra5") + +[node name="SubViewport" type="SubViewport" parent="WorldEnvironment/window"] +own_world_3d = true +handle_input_locally = false +size = Vector2i(1920, 1080) + +[node name="Camera3D" type="Camera3D" parent="WorldEnvironment/window/SubViewport"] +transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0.906618, 1.33684, 2.65628) +script = SubResource("GDScript_rfgs6") + +[node name="outside" parent="WorldEnvironment/window/SubViewport" instance=ExtResource("32_2vgep")] +transform = Transform3D(-1, 0, -1.50996e-07, 0, 1, 0, 1.50996e-07, 0, -1, 0.906618, 1.33684, 2.65628) + [node name="SceneUI" type="Control" parent="."] visible = false layout_mode = 3 @@ -3165,24 +3197,6 @@ light_specular = 0.0 omni_range = 0.457129 omni_attenuation = 0.659754 -[node name="rain" type="Node3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.989667, 0, 3.68698) - -[node name="MeshInstance3D" type="MeshInstance3D" parent="rain"] -transform = Transform3D(-4.62578, 0, -4.04398e-07, 0, 4.62578, 0, 4.04398e-07, 0, -4.62578, 0.191743, 1.332, 0.26113) -mesh = SubResource("QuadMesh_n875y") -surface_material_override/0 = SubResource("StandardMaterial3D_5u6i4") - -[node name="GPUParticles3D" type="GPUParticles3D" parent="rain"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.57896, 0) -material_override = SubResource("StandardMaterial3D_qifbj") -amount = 1000 -visibility_aabb = AABB(-2.68266, -2.50574, -0.431825, 5.36533, 5.01148, 0.86365) -process_material = SubResource("ParticleProcessMaterial_g3ayx") -draw_pass_1 = SubResource("QuadMesh_rb6dt") - -[node name="VoxelGI" type="VoxelGI" parent="."] - [connection signal="ini_room" from="." to="logic/PlayerController" method="_on_ini_room"] [connection signal="ini_room" from="." to="logic/ScenePlayer" method="_on_ini_room"] [connection signal="ini_room" from="." to="visuals/lights/light_animation" method="_on_ini_room"] diff --git a/src/default_bus_layout.tres b/src/default_bus_layout.tres index ad07f04..16964fa 100644 --- a/src/default_bus_layout.tres +++ b/src/default_bus_layout.tres @@ -28,7 +28,7 @@ bus/4/name = &"outside-rain" bus/4/solo = false bus/4/mute = false bus/4/bypass_fx = false -bus/4/volume_db = 6.02 +bus/4/volume_db = 1.25825 bus/4/send = &"Master" bus/4/effect/0/effect = SubResource("AudioEffectLowPassFilter_5p17k") bus/4/effect/0/enabled = true