From 32980198e2344906945969788db14034e906e714 Mon Sep 17 00:00:00 2001 From: MaddoScientisto Date: Tue, 8 Apr 2025 22:42:45 +0200 Subject: [PATCH] Skyscrapers background --- 3D/ICCOffice3D.tscn | 42 ++++++++++++++++-- 3D/Skyscraper/skyscraper.tscn | 14 ++++++ Dialogue/Styles/VN.tres | 4 ++ ExternalMaterial/SkyscraperTexture/Sky.png | 3 ++ .../SkyscraperTexture/Sky.png.import | 35 +++++++++++++++ .../SkyscraperTexture/SkyscraperTexture.png | 3 ++ .../SkyscraperTexture.png.import | 35 +++++++++++++++ .../SkyscraperTexture/SkyscraperTexture.pxc | Bin 0 -> 9209 bytes .../SkyscraperTexture/SkyscraperTexture.pxc1 | Bin 0 -> 9146 bytes Resources/Maps/Briefing_1.tres | 22 +++++++++ Resources/Weapons/EnemyWeapon.tres | 4 +- Resources/Weapons/NuclearGun.tres | 4 +- Scenes/HUD/DifficultySelection.tscn | 4 +- Scenes/Maps/Level1_End_Cutscene.tscn | 1 + 14 files changed, 161 insertions(+), 10 deletions(-) create mode 100644 3D/Skyscraper/skyscraper.tscn create mode 100644 ExternalMaterial/SkyscraperTexture/Sky.png create mode 100644 ExternalMaterial/SkyscraperTexture/Sky.png.import create mode 100644 ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png create mode 100644 ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png.import create mode 100644 ExternalMaterial/SkyscraperTexture/SkyscraperTexture.pxc create mode 100644 ExternalMaterial/SkyscraperTexture/SkyscraperTexture.pxc1 create mode 100644 Resources/Maps/Briefing_1.tres diff --git a/3D/ICCOffice3D.tscn b/3D/ICCOffice3D.tscn index 14a03d83..15d52a12 100644 --- a/3D/ICCOffice3D.tscn +++ b/3D/ICCOffice3D.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://chcfi75y8wmhy"] +[gd_scene load_steps=14 format=3 uid="uid://chcfi75y8wmhy"] [ext_resource type="Texture2D" uid="uid://s3dylmxk306" path="res://Sprites/SingleTiles/Carpet_Floor.png" id="1_qsr6w"] [ext_resource type="Texture2D" uid="uid://bucmiheu0osiq" path="res://Sprites/SingleTiles/Floor2.png" id="3_d010f"] @@ -6,7 +6,8 @@ [ext_resource type="Texture2D" uid="uid://lnfcp2p5lv86" path="res://Sprites/SingleTiles/Floor2_n.png" id="4_h5tho"] [ext_resource type="PackedScene" uid="uid://birl7xlncrsbl" path="res://3D/Vase/VaseWithPlant.tscn" id="5_50xfc"] [ext_resource type="Texture2D" uid="uid://bpkgbma1u85dp" path="res://Sprites/SingleTiles/Table_Top.png" id="6_gmsgo"] -[ext_resource type="Texture2D" uid="uid://j805em7kmc78" path="res://Sprites/Briefing/High_Rise_Office_Background.png" id="7_688nh"] +[ext_resource type="Texture2D" uid="uid://d3mq57jox55be" path="res://ExternalMaterial/SkyscraperTexture/Sky.png" id="7_qsr6w"] +[ext_resource type="PackedScene" uid="uid://bngw253vljk8b" path="res://3D/Skyscraper/skyscraper.tscn" id="8_qsr6w"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3trh6"] albedo_texture = ExtResource("1_qsr6w") @@ -36,11 +37,18 @@ texture_filter = 0 albedo_texture = ExtResource("6_gmsgo") texture_filter = 0 +[sub_resource type="ORMMaterial3D" id="ORMMaterial3D_qsr6w"] +transparency = 1 +albedo_color = Color(0.265832, 0.239456, 0.864376, 0.364) + [node name="BriefingRoom3d" type="Node3D"] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] transform = Transform3D(-0.99884, 0, -0.0481526, -0.0295648, 0.78932, 0.61327, 0.0380078, 0.613982, -0.788404, 0, 4.85631, -5.31146) +[node name="DirectionalLight3D2" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.961991, -0.144165, 0.231926, -0.0295648, 0.78932, 0.61327, -0.271476, -0.596817, 0.755057, 0, 4.85631, -5.31146) + [node name="Camera3D" type="Camera3D" parent="."] transform = Transform3D(0.962209, 0, 0.272314, 0, 1, 0, -0.272314, 0, 0.962209, 0.454159, 2, 1.2103) fov = 50.0 @@ -99,10 +107,36 @@ transform = Transform3D(1.38074, 0, 0, 0, 1, 0, 0, 0, 0.676222, 0.0885206, 1.157 material = SubResource("StandardMaterial3D_688nh") [node name="Background" type="Sprite3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.482, 5.00773, -126.613) +transform = Transform3D(2, 0, 0, 0, 2, 0, 0, 0, 2, -5.11515, -14.0386, -126.613) cast_shadow = 0 ignore_occlusion_culling = true pixel_size = 0.8 billboard = 2 texture_filter = 0 -texture = ExtResource("7_688nh") +texture = ExtResource("7_qsr6w") + +[node name="Skyscraper" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, 0.288437, 0.777918, -7.62031) + +[node name="Skyscraper2" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, -3.22998, -0.390069, -11.5703) + +[node name="Skyscraper3" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, 1.71518, 0.576806, -9.88042) + +[node name="Skyscraper4" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, -6.5195, 0.777918, -15.523) + +[node name="Skyscraper5" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, 1.76754, 0.777918, -20.1093) + +[node name="Skyscraper6" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(0.886009, 0, -0.463667, 0, 7.34509, 0, 0.463667, 0, 0.886009, -3.55557, -0.748036, -20.1185) + +[node name="Skyscraper7" parent="." instance=ExtResource("8_qsr6w")] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, -2.84565, 0.777918, -26.9985) + +[node name="Window" type="CSGBox3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0505791, 1.78631, -1.95604) +material_override = SubResource("ORMMaterial3D_qsr6w") +size = Vector3(2.175, 1.401, 0.055) diff --git a/3D/Skyscraper/skyscraper.tscn b/3D/Skyscraper/skyscraper.tscn new file mode 100644 index 00000000..ef54749f --- /dev/null +++ b/3D/Skyscraper/skyscraper.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://bngw253vljk8b"] + +[ext_resource type="Texture2D" uid="uid://tw5qo8em7tvm" path="res://ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png" id="1_y8rey"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_pq187"] +albedo_texture = ExtResource("1_y8rey") +uv1_scale = Vector3(2, 2, 1) +uv1_triplanar = true +uv1_world_triplanar = true +texture_filter = 0 + +[node name="Skyscraper" type="CSGBox3D"] +transform = Transform3D(1, 0, 0, 0, 7.34509, 0, 0, 0, 1, 0, 0, 0) +material_override = SubResource("StandardMaterial3D_pq187") diff --git a/Dialogue/Styles/VN.tres b/Dialogue/Styles/VN.tres index d17f9ebd..56e8b117 100644 --- a/Dialogue/Styles/VN.tres +++ b/Dialogue/Styles/VN.tres @@ -39,11 +39,15 @@ overrides = {} script = ExtResource("1_47mos") scene = ExtResource("5_mp7sv") overrides = { +"box_color_custom": "Color(1, 1, 1, 1)", +"box_color_use_global": "false", "box_margin_bottom": "1.0", "box_panel": "\"res://Resources/Styles/PixelStyleBoxRed.tres\"", "box_size": "Vector2(300, 50)", +"name_label_box_modulate": "Color(1, 1, 1, 1)", "name_label_box_offset": "Vector2(0, 8)", "name_label_box_panel": "\"res://Resources/Styles/PixelStyleBoxRed.tres\"", +"name_label_box_use_global_color": "false", "name_label_custom_font_size": "11.0", "next_indicator_size": "Vector2(12, 12)", "text_size": "6.0", diff --git a/ExternalMaterial/SkyscraperTexture/Sky.png b/ExternalMaterial/SkyscraperTexture/Sky.png new file mode 100644 index 00000000..24bfd4ad --- /dev/null +++ b/ExternalMaterial/SkyscraperTexture/Sky.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:53f06d330a7f86690e9ab4004485c52f9ae08d62af32961fc28e48d49963c5d0 +size 2854 diff --git a/ExternalMaterial/SkyscraperTexture/Sky.png.import b/ExternalMaterial/SkyscraperTexture/Sky.png.import new file mode 100644 index 00000000..fab04c0e --- /dev/null +++ b/ExternalMaterial/SkyscraperTexture/Sky.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3mq57jox55be" +path.s3tc="res://.godot/imported/Sky.png-b176448410fb5ed8e50e35bf1b821fcc.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://ExternalMaterial/SkyscraperTexture/Sky.png" +dest_files=["res://.godot/imported/Sky.png-b176448410fb5ed8e50e35bf1b821fcc.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/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png b/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png new file mode 100644 index 00000000..69192428 --- /dev/null +++ b/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:550ae894cd34c488fdcde288ef79f88da077597f7f8385a0fe0ccfcc6ae29b55 +size 2013 diff --git a/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png.import b/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png.import new file mode 100644 index 00000000..3db75de3 --- /dev/null +++ b/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tw5qo8em7tvm" +path.s3tc="res://.godot/imported/SkyscraperTexture.png-f2f594bcfa2e88c75e7ad982c7f975a7.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png" +dest_files=["res://.godot/imported/SkyscraperTexture.png-f2f594bcfa2e88c75e7ad982c7f975a7.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/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.pxc b/ExternalMaterial/SkyscraperTexture/SkyscraperTexture.pxc new file mode 100644 index 0000000000000000000000000000000000000000..cd683281535ef29dd2f4e33fb53bad9847ffae51 GIT binary patch literal 9209 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