Feat/11 adding better fundamental weapon models and some textures #16

Merged
Dotts merged 5 commits from feat/11-adding-better-fundamental-weapon-models-and-some-textures into main 2026-06-09 19:14:25 -07:00
Showing only changes of commit 0fcb5b43a4 - Show all commits
+139 -72
View File
@@ -1,31 +1,70 @@
[gd_scene load_steps=10 format=3 uid="uid://93f273e01255"] [gd_scene load_steps=12 format=3 uid="uid://c0ab260fc1da"]
[ext_resource type="Script" path="res://scenes/maps/level_runtime.gd" id="1_rt"] [ext_resource type="Script" path="res://scenes/maps/level_runtime.gd" id="1_rt"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_grey"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_grey"]
albedo_color = Color(0.3, 0.3, 0.35, 1) albedo_color = Color(0.08, 0.09, 0.11, 1)
roughness = 0.7 metallic = 0.7
roughness = 0.15
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_orange"]
albedo_color = Color(0.8, 0.4, 0.1, 1)
roughness = 0.7
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_blue"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_blue"]
albedo_color = Color(0.1, 0.4, 0.8, 1) albedo_color = Color(0, 0.05, 0.1, 1)
roughness = 0.7 emission_enabled = true
emission = Color(0.1, 0.6, 1.0, 1)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dark_pit"] emission_energy_multiplier = 3.5
albedo_color = Color(0.1, 0.1, 0.1, 1) roughness = 0.4
roughness = 0.7
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_glass"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_glass"]
albedo_color = Color(0.2, 0.8, 0.9, 0.3) albedo_color = Color(0.2, 0.8, 0.9, 0.2)
roughness = 0.1
transparency = 1 transparency = 1
roughness = 0.05
metallic = 0.9
emission_enabled = true
emission = Color(0.1, 0.4, 0.8, 1)
emission_energy_multiplier = 0.5
[sub_resource type="Shader" id="Shader_lava"]
code = "shader_type spatial;
uniform sampler2D noise_tex : repeat_enable;
uniform vec4 emission_color : source_color;
varying vec3 world_pos;
void vertex() {
world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz;
}
void fragment() {
vec3 blend = abs(NORMAL);
blend /= dot(blend, vec3(1.0));
vec2 flow = TIME * vec2(0.02, 0.05);
vec2 uvX = world_pos.zy * 0.1 + flow;
vec2 uvY = world_pos.xz * 0.1 + flow;
vec2 uvZ = world_pos.xy * 0.1 + flow;
float nX = texture(noise_tex, uvX).r;
float nY = texture(noise_tex, uvY).r;
float nZ = texture(noise_tex, uvZ).r;
float n = nX * blend.x + nY * blend.y + nZ * blend.z;
float lava = smoothstep(0.3, 0.6, n);
ALBEDO = vec3(0.05, 0.01, 0.0);
EMISSION = emission_color.rgb * lava * 6.0;
}"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_lava"]
noise_type = 2
frequency = 0.05
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lava"]
seamless = true
noise = SubResource("FastNoiseLite_lava")
[sub_resource type="ShaderMaterial" id="StandardMaterial3D_orange"]
shader = SubResource("Shader_lava")
shader_parameter/emission_color = Color(1.0, 0.4, 0.0, 1)
shader_parameter/noise_tex = SubResource("NoiseTexture2D_lava")
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_xxxx"] [sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_xxxx"]
sky_top_color = Color(0.385, 0.454, 0.55, 1) sky_top_color = Color(0.05, 0.08, 0.12, 1)
sky_horizon_color = Color(0.646, 0.656, 0.67, 1) sky_horizon_color = Color(0.15, 0.2, 0.25, 1)
ground_bottom_color = Color(0.02, 0.03, 0.05, 1)
ground_horizon_color = Color(0.15, 0.2, 0.25, 1)
[sub_resource type="Sky" id="Sky_xxxx"] [sub_resource type="Sky" id="Sky_xxxx"]
sky_material = SubResource("ProceduralSkyMaterial_xxxx") sky_material = SubResource("ProceduralSkyMaterial_xxxx")
@@ -33,8 +72,22 @@ sky_material = SubResource("ProceduralSkyMaterial_xxxx")
[sub_resource type="Environment" id="Environment_xxxx"] [sub_resource type="Environment" id="Environment_xxxx"]
background_mode = 2 background_mode = 2
sky = SubResource("Sky_xxxx") sky = SubResource("Sky_xxxx")
tonemap_mode = 2 ambient_light_source = 2
ambient_light_color = Color(0.2, 0.25, 0.35, 1)
ambient_light_energy = 1.0
tonemap_mode = 3
glow_enabled = true glow_enabled = true
glow_intensity = 1.5
glow_bloom = 0.2
glow_hdr_threshold = 1.0
sdfgi_enabled = true
sdfgi_use_occlusion = true
ssao_enabled = true
ssil_enabled = true
volumetric_fog_enabled = true
volumetric_fog_density = 0.015
volumetric_fog_albedo = Color(0.3, 0.5, 0.8, 1)
volumetric_fog_emission = Color(0.02, 0.05, 0.1, 1)
[node name="MapRoot" type="CSGCombiner3D"] [node name="MapRoot" type="CSGCombiner3D"]
use_collision = true use_collision = true
@@ -44,8 +97,10 @@ script = ExtResource("1_rt")
environment = SubResource("Environment_xxxx") environment = SubResource("Environment_xxxx")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] [node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 10, 0) transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 20, 0)
shadow_enabled = true shadow_enabled = true
light_color = Color(0.8, 0.9, 1.0, 1)
light_energy = 0.3
[node name="Spawn1" type="Marker3D" parent="." groups=["spawn_points"]] [node name="Spawn1" type="Marker3D" parent="." groups=["spawn_points"]]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 4, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 4, 0)
@@ -106,22 +161,16 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 0)
size = Vector3(20, 2, 20) size = Vector3(20, 2, 20)
material = SubResource("StandardMaterial3D_grey") material = SubResource("StandardMaterial3D_grey")
[node name="CenterHole" type="CSGBox3D" parent="."] [node name="CenterDivot" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 7, 0)
size = Vector3(16, 2, 16)
material = SubResource("StandardMaterial3D_grey")
operation = 2
[node name="CenterNeon" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 0)
size = Vector3(8, 4, 8) size = Vector3(6, 0.5, 6)
material = SubResource("StandardMaterial3D_dark_pit") material = SubResource("StandardMaterial3D_blue")
operation = 2
[node name="LowerPit" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4, 0)
size = Vector3(30, 10, 30)
material = SubResource("StandardMaterial3D_dark_pit")
operation = 2
[node name="LowerPitFloor" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8, 0)
size = Vector3(30, 2, 30)
material = SubResource("StandardMaterial3D_dark_pit")
[node name="PillarC1" type="CSGCylinder3D" parent="."] [node name="PillarC1" type="CSGCylinder3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 2, -8) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 2, -8)
@@ -150,40 +199,40 @@ material = SubResource("StandardMaterial3D_orange")
[node name="BridgeN" type="CSGBox3D" parent="."] [node name="BridgeN" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, -18) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, -18)
size = Vector3(6, 1, 16) size = Vector3(6, 1, 16)
material = SubResource("StandardMaterial3D_blue") material = SubResource("StandardMaterial3D_glass")
[node name="BridgeS" type="CSGBox3D" parent="."] [node name="BridgeS" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 18) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 6, 18)
size = Vector3(6, 1, 16) size = Vector3(6, 1, 16)
material = SubResource("StandardMaterial3D_blue") material = SubResource("StandardMaterial3D_glass")
[node name="BridgeE" type="CSGBox3D" parent="."] [node name="BridgeE" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 6, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 18, 6, 0)
size = Vector3(16, 1, 6) size = Vector3(16, 1, 6)
material = SubResource("StandardMaterial3D_blue") material = SubResource("StandardMaterial3D_glass")
[node name="BridgeW" type="CSGBox3D" parent="."] [node name="BridgeW" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 6, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 6, 0)
size = Vector3(16, 1, 6) size = Vector3(16, 1, 6)
material = SubResource("StandardMaterial3D_blue") material = SubResource("StandardMaterial3D_glass")
[node name="GrappleAnchor1" type="CSGBox3D" parent="."] [node name="GrappleAnchor1" type="CSGBox3D" parent="."]
transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, -10, 20, -10) transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, -15, 20, -15)
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="GrappleAnchor2" type="CSGBox3D" parent="."] [node name="GrappleAnchor2" type="CSGBox3D" parent="."]
transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, 10, 20, 10) transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, 15, 20, 15)
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="GrappleAnchor3" type="CSGBox3D" parent="."] [node name="GrappleAnchor3" type="CSGBox3D" parent="."]
transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, 10, 20, -10) transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, 15, 20, -15)
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="GrappleAnchor4" type="CSGBox3D" parent="."] [node name="GrappleAnchor4" type="CSGBox3D" parent="."]
transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, -10, 20, 10) transform = Transform3D(0.7071067811865476, 0, -0.7071067811865476, 0, 1, 0, 0.7071067811865476, 0, 0.7071067811865476, -15, 20, 15)
size = Vector3(2, 2, 2) size = Vector3(2, 2, 2)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
@@ -207,17 +256,6 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 6, 0)
size = Vector3(10, 1, 70) size = Vector3(10, 1, 70)
material = SubResource("StandardMaterial3D_grey") material = SubResource("StandardMaterial3D_grey")
[node name="AbyssPit" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4, 45)
size = Vector3(120, 10, 30)
material = SubResource("StandardMaterial3D_dark_pit")
operation = 2
[node name="AbyssFloor" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -8, 45)
size = Vector3(120, 2, 30)
material = SubResource("StandardMaterial3D_dark_pit")
[node name="WallRun1" type="CSGBox3D" parent="."] [node name="WallRun1" type="CSGBox3D" parent="."]
transform = Transform3D(0.984807753012208, 0, 0.17364817766693033, 0, 1, 0, -0.17364817766693033, 0, 0.984807753012208, -30, 8, 40) transform = Transform3D(0.984807753012208, 0, 0.17364817766693033, 0, 1, 0, -0.17364817766693033, 0, 0.984807753012208, -30, 8, 40)
size = Vector3(24, 16, 2) size = Vector3(24, 16, 2)
@@ -343,38 +381,67 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 2, -15)
size = Vector3(2, 4, 8) size = Vector3(2, 4, 8)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="CoverNE2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2, -12)
size = Vector3(6, 4, 2)
material = SubResource("StandardMaterial3D_orange")
[node name="CoverNW1" type="CSGBox3D" parent="."] [node name="CoverNW1" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 2, -15) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 2, -15)
size = Vector3(2, 4, 8) size = Vector3(2, 4, 8)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="CoverNW2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 2, -12)
size = Vector3(6, 4, 2)
material = SubResource("StandardMaterial3D_orange")
[node name="CoverSE1" type="CSGBox3D" parent="."] [node name="CoverSE1" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 2, 15) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 15, 2, 15)
size = Vector3(2, 4, 8) size = Vector3(2, 4, 8)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="CoverSE2" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12, 2, 12)
size = Vector3(6, 4, 2)
material = SubResource("StandardMaterial3D_orange")
[node name="CoverSW1" type="CSGBox3D" parent="."] [node name="CoverSW1" type="CSGBox3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 2, 15) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 2, 15)
size = Vector3(2, 4, 8) size = Vector3(2, 4, 8)
material = SubResource("StandardMaterial3D_orange") material = SubResource("StandardMaterial3D_orange")
[node name="CoverSW2" type="CSGBox3D" parent="."] [node name="LightCenter" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12, 2, 12) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 15, 0)
size = Vector3(6, 4, 2) light_color = Color(0.2, 0.6, 1.0, 1)
material = SubResource("StandardMaterial3D_orange") light_energy = 8.0
omni_range = 40.0
shadow_enabled = true
[node name="LightUWW" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -20, 2, 0)
light_color = Color(1.0, 0.4, 0.1, 1)
light_energy = 3.0
omni_range = 20.0
shadow_enabled = true
[node name="LightUWE" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 2, 0)
light_color = Color(1.0, 0.4, 0.1, 1)
light_energy = 3.0
omni_range = 20.0
shadow_enabled = true
[node name="LightTunW" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -30, 3, -45)
light_color = Color(0.1, 0.8, 1.0, 1)
light_energy = 2.0
omni_range = 15.0
shadow_enabled = true
[node name="LightTunE" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 3, -45)
light_color = Color(0.1, 0.8, 1.0, 1)
light_energy = 2.0
omni_range = 15.0
shadow_enabled = true
[node name="LightSpawnE" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 45, 4, 0)
light_color = Color(1.0, 1.0, 1.0, 1)
light_energy = 1.5
omni_range = 12.0
shadow_enabled = true
[node name="LightSpawnW" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -45, 4, 0)
light_color = Color(1.0, 1.0, 1.0, 1)
light_energy = 1.5
omni_range = 12.0
shadow_enabled = true