Optimization and balancing to save performance

Disabled dynamic shadows on Rockets and Explosions. Also reduced their radius.
Added queue_free() in Explosion effect to remove as much of nodes as possible when they are not needed.
Added animated Halo to Explosion (cheap)
Greatly reduced the amount of particles in Rocket and Explosions
Reduced Particle lifetime in Rocket trail
Reduced Rocket Launcher firing speed. it no longer fires as fast as the handgun.
Reduced shawmap size
Reduced shadow quality
Disabled Roughness limiter
Reduced Dev Texture size to 1K from 4K (added size limit in import settings)
Also saved export settings (they limit the amount of resources packed with game builds)
pull/144/head
unfa 2022-01-04 19:55:38 +01:00
parent 18f15931e6
commit 927d4384a7
29 changed files with 237 additions and 136 deletions

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=36 format=3 uid="uid://wvxhewre31mo"] [gd_scene load_steps=38 format=3 uid="uid://wvxhewre31mo"]
[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1_7cd22"] [ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1_7cd22"]
[ext_resource type="Texture2D" uid="uid://pnh872qjk0oy" path="res://Assets/Effects/Flame.png" id="2_pyxv8"] [ext_resource type="Texture2D" uid="uid://pnh872qjk0oy" path="res://Assets/Effects/Flame.png" id="2_pyxv8"]
@ -27,8 +27,8 @@ lifetime_randomness = 0.25
direction = Vector3(0, 0, -1) direction = Vector3(0, 0, -1)
spread = 180.0 spread = 180.0
gravity = Vector3(0, 0, 0) gravity = Vector3(0, 0, 0)
initial_velocity_min = 5.0 initial_velocity_min = 1.0
initial_velocity_max = 10.0 initial_velocity_max = 3.0
angular_velocity_min = -5.0 angular_velocity_min = -5.0
angular_velocity_max = 5.0 angular_velocity_max = 5.0
damping_min = 20.0 damping_min = 20.0
@ -172,17 +172,6 @@ proximity_fade_enable = true
[sub_resource type="QuadMesh" id="QuadMesh_n7yo0"] [sub_resource type="QuadMesh" id="QuadMesh_n7yo0"]
material = SubResource( "StandardMaterial3D_3qjja" ) material = SubResource( "StandardMaterial3D_3qjja" )
[sub_resource type="StandardMaterial3D" id="5"]
blend_mode = 1
shading_mode = 0
albedo_color = Color(1, 0, 0.00784314, 1)
albedo_texture = ExtResource( "2_pyxv8" )
uv1_scale = Vector3(0.5, 0.5, 1)
[sub_resource type="QuadMesh" id="6"]
material = SubResource( "5" )
size = Vector2(0.25, 0.25)
[sub_resource type="OpenSimplexNoise" id="OpenSimplexNoise_smcfq"] [sub_resource type="OpenSimplexNoise" id="OpenSimplexNoise_smcfq"]
persistence = 0.8 persistence = 0.8
@ -253,9 +242,34 @@ tracks/4/keys = {
"update": 0, "update": 0,
"values": [0.0] "values": [0.0]
} }
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Halo:surface_material_override/0:albedo_color")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 0.529412, 0.270588, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Halo:mesh:size")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0.75, 0.75)]
}
[sub_resource type="Animation" id="8"] [sub_resource type="Animation" id="8"]
resource_name = "anim" resource_name = "anim"
length = 3.0
step = 0.05 step = 0.05
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
@ -319,40 +333,108 @@ tracks/4/keys = {
"update": 0, "update": 0,
"values": [0.01, 1.0, 2.0, 3.0] "values": [0.01, 1.0, 2.0, 3.0]
} }
tracks/5/type = "value"
tracks/5/imported = false
tracks/5/enabled = true
tracks/5/path = NodePath("Halo:surface_material_override/0:albedo_color")
tracks/5/interp = 1
tracks/5/loop_wrap = true
tracks/5/keys = {
"times": PackedFloat32Array(0, 0.05, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 0,
"values": [Color(2, 1.3, 0, 1), Color(0.75, 0.397059, 0.202941, 1), Color(0, 0, 0, 1)]
}
tracks/6/type = "value"
tracks/6/imported = false
tracks/6/enabled = true
tracks/6/path = NodePath("Halo:mesh:size")
tracks/6/interp = 1
tracks/6/loop_wrap = true
tracks/6/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0.75, 0.75)]
}
tracks/7/type = "method"
tracks/7/imported = false
tracks/7/enabled = true
tracks/7/path = NodePath("Halo")
tracks/7/interp = 1
tracks/7/loop_wrap = true
tracks/7/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/8/type = "audio"
tracks/8/imported = false
tracks/8/enabled = false
tracks/8/path = NodePath("SoundPlayer/AudioStreamPlayer3D")
tracks/8/interp = 1
tracks/8/loop_wrap = true
tracks/8/keys = {
"clips": [{
"end_offset": 0.0,
"start_offset": 0.0,
"stream": ExtResource( "4_ieunx" )
}],
"times": PackedFloat32Array(0)
}
tracks/9/type = "method"
tracks/9/imported = false
tracks/9/enabled = false
tracks/9/path = NodePath("SoundPlayer")
tracks/9/interp = 1
tracks/9/loop_wrap = true
tracks/9/keys = {
"times": PackedFloat32Array(2.35),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/10/type = "method"
tracks/10/imported = false
tracks/10/enabled = true
tracks/10/path = NodePath("AnimationPlayer")
tracks/10/interp = 1
tracks/10/loop_wrap = true
tracks/10/keys = {
"times": PackedFloat32Array(2.4),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
[sub_resource type="Animation" id="Animation_itp5v"] [sub_resource type="Animation" id="Animation_itp5v"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") tracks/0/path = NodePath("Decal:distance_fade_begin")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:distance_fade_begin")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 0, "update": 0,
"values": [20.0] "values": [20.0]
} }
tracks/2/type = "value" tracks/1/type = "value"
tracks/2/imported = false tracks/1/imported = false
tracks/2/enabled = true tracks/1/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_length") tracks/1/path = NodePath("Decal:distance_fade_length")
tracks/2/interp = 1 tracks/1/interp = 1
tracks/2/loop_wrap = true tracks/1/loop_wrap = true
tracks/2/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"update": 0, "update": 0,
@ -365,60 +447,34 @@ length = 15.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false tracks/0/imported = false
tracks/0/enabled = true tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") tracks/0/path = NodePath("Decal:distance_fade_begin")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 1.0]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeshInstance3D")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"queue_free"
}]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_begin")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(5, 15), "times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [10.0, -10.0] "values": [10.0, -10.0]
} }
tracks/3/type = "value" tracks/1/type = "value"
tracks/3/imported = false tracks/1/imported = false
tracks/3/enabled = true tracks/1/enabled = true
tracks/3/path = NodePath("Decal:distance_fade_length") tracks/1/path = NodePath("Decal:distance_fade_length")
tracks/3/interp = 1 tracks/1/interp = 1
tracks/3/loop_wrap = true tracks/1/loop_wrap = true
tracks/3/keys = { tracks/1/keys = {
"times": PackedFloat32Array(5, 15), "times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
"update": 0, "update": 0,
"values": [10.0, 0.0] "values": [10.0, 0.0]
} }
tracks/4/type = "method" tracks/2/type = "method"
tracks/4/imported = false tracks/2/imported = false
tracks/4/enabled = true tracks/2/enabled = true
tracks/4/path = NodePath(".") tracks/2/path = NodePath(".")
tracks/4/interp = 1 tracks/2/interp = 1
tracks/4/loop_wrap = true tracks/2/loop_wrap = true
tracks/4/keys = { tracks/2/keys = {
"times": PackedFloat32Array(15), "times": PackedFloat32Array(15),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
"values": [{ "values": [{
@ -427,6 +483,34 @@ tracks/4/keys = {
}] }]
} }
[sub_resource type="Gradient" id="Gradient_x5mjl"]
offsets = PackedFloat32Array(0, 0.0696517, 0.154229, 0.241294, 0.320896, 0.425373, 0.537313, 0.634328, 0.756219, 1)
colors = PackedColorArray(2, 2, 2, 1, 0.985075, 0.985075, 0.985075, 1, 0.500439, 0.500439, 0.500439, 1, 0.247924, 0.247924, 0.247924, 1, 0.120634, 0.120634, 0.120634, 1, 0.0580323, 0.0580323, 0.0580323, 1, 0.0304474, 0.0304474, 0.0304474, 1, 0.0187759, 0.0187759, 0.0187759, 1, 0.00932661, 0.00932661, 0.00932661, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_hy81s"]
gradient = SubResource( "Gradient_x5mjl" )
use_hdr = true
fill = 1
fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_gwnl0"]
blend_mode = 1
no_depth_test = true
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_color = Color(1, 0.529412, 0.270588, 1)
albedo_texture = SubResource( "GradientTexture2D_hy81s" )
disable_receive_shadows = true
billboard_mode = 1
fixed_size = true
point_size = 89.7
proximity_fade_distance = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_n0j78"]
material = SubResource( "StandardMaterial3D_gwnl0" )
size = Vector2(0.75, 0.75)
[node name="Impact" type="Node3D"] [node name="Impact" type="Node3D"]
script = ExtResource( "1_7cd22" ) script = ExtResource( "1_7cd22" )
@ -438,6 +522,7 @@ radius = 0.01
[node name="Explosion" type="GPUParticles3D" parent="."] [node name="Explosion" type="GPUParticles3D" parent="."]
layers = 2 layers = 2
emitting = false emitting = false
amount = 4
lifetime = 2.0 lifetime = 2.0
one_shot = true one_shot = true
explosiveness = 1.0 explosiveness = 1.0
@ -450,7 +535,7 @@ draw_pass_1 = SubResource( "QuadMesh_hbyxo" )
[node name="Tracers" type="GPUParticles3D" parent="."] [node name="Tracers" type="GPUParticles3D" parent="."]
layers = 2 layers = 2
emitting = false emitting = false
amount = 16 amount = 4
sub_emitter = NodePath("Smoke") sub_emitter = NodePath("Smoke")
one_shot = true one_shot = true
speed_scale = 2.5 speed_scale = 2.5
@ -465,7 +550,7 @@ draw_pass_1 = SubResource( "QuadMesh_opq4v" )
[node name="Smoke" type="GPUParticles3D" parent="Tracers"] [node name="Smoke" type="GPUParticles3D" parent="Tracers"]
layers = 2 layers = 2
emitting = false emitting = false
amount = 128 amount = 64
lifetime = 1.26 lifetime = 1.26
fixed_fps = 0 fixed_fps = 0
local_coords = false local_coords = false
@ -476,22 +561,16 @@ draw_pass_1 = SubResource( "QuadMesh_n7yo0" )
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 15.0 wait_time = 15.0
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 1.06581e-14, 0, -1.06581e-14, 1, 0, 0.00379224, 0)
visible = false
mesh = SubResource( "6" )
surface_material_override/0 = null
[node name="OmniLight3D" type="OmniLight3D" parent="."] [node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.369677, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.369677, 0)
layers = 7
light_color = Color(1, 0.929412, 0, 1) light_color = Color(1, 0.929412, 0, 1)
light_projector = SubResource( "NoiseTexture_c4len" ) light_projector = SubResource( "NoiseTexture_c4len" )
light_size = 0.75 light_size = 0.75
light_specular = 0.2 light_specular = 0.2
shadow_enabled = true
shadow_blur = 2.0 shadow_blur = 2.0
omni_range = 25.0 omni_range = 15.0
omni_attenuation = 1.8025 omni_attenuation = 0.574349
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "anim" autoplay = "anim"
@ -526,6 +605,13 @@ distance_fade_begin = 20.0
distance_fade_length = 10.0 distance_fade_length = 10.0
cull_mask = 1 cull_mask = 1
[node name="Halo" type="MeshInstance3D" parent="."]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0.174589)
layers = 2
cast_shadow = 0
mesh = SubResource( "QuadMesh_n0j78" )
surface_material_override/0 = SubResource( "StandardMaterial3D_gwnl0" )
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
[editable path="SoundPlayer"] [editable path="SoundPlayer"]

View File

@ -127,6 +127,7 @@ one_shot = true
speed_scale = 2.0 speed_scale = 2.0
explosiveness = 1.0 explosiveness = 1.0
fixed_fps = 0 fixed_fps = 0
interpolate = false
process_material = SubResource( "ParticlesMaterial_fglo4" ) process_material = SubResource( "ParticlesMaterial_fglo4" )
draw_pass_1 = SubResource( "QuadMesh_o6i5g" ) draw_pass_1 = SubResource( "QuadMesh_o6i5g" )

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -32,6 +32,6 @@ process/fix_alpha_border=true
process/premult_alpha=false process/premult_alpha=false
process/normal_map_invert_y=false process/normal_map_invert_y=false
process/HDR_as_SRGB=false process/HDR_as_SRGB=false
process/size_limit=0 process/size_limit=1024
detect_3d/compress_to=0 detect_3d/compress_to=0
svg/scale=1.0 svg/scale=1.0

View File

@ -5,6 +5,7 @@
[ext_resource type="PackedScene" uid="uid://eerqpr05s6d4" path="res://Assets/Effects/BulletTracer.tscn" id="2_u1c26"] [ext_resource type="PackedScene" uid="uid://eerqpr05s6d4" path="res://Assets/Effects/BulletTracer.tscn" id="2_u1c26"]
[node name="Weapon" instance=ExtResource( "1_fpucm" )] [node name="Weapon" instance=ExtResource( "1_fpucm" )]
animation_speed = 2.5
projectile_or_tracer_scene = ExtResource( "2_u1c26" ) projectile_or_tracer_scene = ExtResource( "2_u1c26" )
weapon_damage = 15 weapon_damage = 15

View File

@ -4,13 +4,15 @@ extends Node3D
@export var speed : float @export var speed : float
var damage : int var damage : int
var source_position : Vector3 var source_position : Vector3
var player var player
var time := 0.0 var time := 0.0
#var active := true #var active := true
@onready var halo = $OmniLight3D/Halo @onready var halo = $Halo
@onready var halo_size = halo.mesh.size
@onready var halo_transform = halo.global_transform @onready var halo_transform = halo.global_transform
@export var halo_color : Color @export var halo_color : Color
@ -47,7 +49,7 @@ func _process(delta):
var flicker = sin(time * 125) + sin(time * 180) / 2 + sin(time * 295) / 3 var flicker = sin(time * 125) + sin(time * 180) / 2 + sin(time * 295) / 3
$OmniLight3D.light_energy = 3 + flicker /2 $OmniLight3D.light_energy = 3 + flicker /2
halo.mesh.size = Vector2.ONE * 1.5 + Vector2(flicker, flicker) / 8 halo.mesh.size = halo_size * 1.5 + Vector2(flicker, flicker) / 8
var space_state = get_world_3d().direct_space_state var space_state = get_world_3d().direct_space_state
var physics_ray_query_parameters_3d = PhysicsRayQueryParameters3D.new() var physics_ray_query_parameters_3d = PhysicsRayQueryParameters3D.new()
@ -98,8 +100,8 @@ func give_damage(target: Node, hit_position: Vector3, hit_normal: Vector3, damag
set_physics_process(false) set_physics_process(false)
halo.hide() halo.hide()
$OmniLight3D.light_energy = 0 $OmniLight3D.hide()
$OmniLight3D/Smoke.emitting = false $Smoke.emitting = false
$Area3D.set_deferred("monitoring",false) $Area3D.set_deferred("monitoring",false)
$Rocket.hide() $Rocket.hide()
$AmbientSound.stop() $AmbientSound.stop()

View File

@ -66,18 +66,18 @@ proximity_fade_enable = true
[sub_resource type="QuadMesh" id="QuadMesh_gkbg3"] [sub_resource type="QuadMesh" id="QuadMesh_gkbg3"]
material = SubResource( "StandardMaterial3D_eernl" ) material = SubResource( "StandardMaterial3D_eernl" )
[sub_resource type="Gradient" id="Gradient_x5mjl"] [sub_resource type="Gradient" id="Gradient_ki7q6"]
offsets = PackedFloat32Array(0, 0.0696517, 0.154229, 0.241294, 0.320896, 0.425373, 0.537313, 0.634328, 0.756219, 1) offsets = PackedFloat32Array(0, 0.0696517, 0.154229, 0.241294, 0.320896, 0.425373, 0.537313, 0.634328, 0.756219, 1)
colors = PackedColorArray(2, 2, 2, 1, 0.985075, 0.985075, 0.985075, 1, 0.500439, 0.500439, 0.500439, 1, 0.247924, 0.247924, 0.247924, 1, 0.120634, 0.120634, 0.120634, 1, 0.0580323, 0.0580323, 0.0580323, 1, 0.0304474, 0.0304474, 0.0304474, 1, 0.0187759, 0.0187759, 0.0187759, 1, 0.00932661, 0.00932661, 0.00932661, 1, 0, 0, 0, 1) colors = PackedColorArray(2, 2, 2, 1, 0.985075, 0.985075, 0.985075, 1, 0.500439, 0.500439, 0.500439, 1, 0.247924, 0.247924, 0.247924, 1, 0.120634, 0.120634, 0.120634, 1, 0.0580323, 0.0580323, 0.0580323, 1, 0.0304474, 0.0304474, 0.0304474, 1, 0.0187759, 0.0187759, 0.0187759, 1, 0.00932661, 0.00932661, 0.00932661, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_5y8sa"] [sub_resource type="GradientTexture2D" id="GradientTexture2D_5y8sa"]
gradient = SubResource( "Gradient_x5mjl" ) gradient = SubResource( "Gradient_ki7q6" )
use_hdr = true use_hdr = true
fill = 1 fill = 1
fill_from = Vector2(0.5, 0.5) fill_from = Vector2(0.5, 0.5)
fill_to = Vector2(0.5, 0) fill_to = Vector2(0.5, 0)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yhx2h"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_i6t8q"]
blend_mode = 1 blend_mode = 1
no_depth_test = true no_depth_test = true
shading_mode = 0 shading_mode = 0
@ -91,7 +91,8 @@ point_size = 89.7
proximity_fade_distance = 0.25 proximity_fade_distance = 0.25
[sub_resource type="QuadMesh" id="QuadMesh_q2732"] [sub_resource type="QuadMesh" id="QuadMesh_q2732"]
material = SubResource( "StandardMaterial3D_yhx2h" ) material = SubResource( "StandardMaterial3D_i6t8q" )
size = Vector2(0.25, 0.25)
[node name="Rocket" type="Node3D"] [node name="Rocket" type="Node3D"]
script = ExtResource( "1_3ywpo" ) script = ExtResource( "1_3ywpo" )
@ -124,33 +125,33 @@ monitorable = false
transform = Transform3D(0, 9.12042e-08, -2.08651, 2.08651, 0, 0, 0, -2.08651, -9.12042e-08, 0.000959158, 2.38419e-07, -0.307333) transform = Transform3D(0, 9.12042e-08, -2.08651, 2.08651, 0, 0, 0, -2.08651, -9.12042e-08, 0.000959158, 2.38419e-07, -0.307333)
shape = SubResource( "CapsuleShape3D_qjk68" ) shape = SubResource( "CapsuleShape3D_qjk68" )
[node name="OmniLight3D" type="SpotLight3D" parent="."] [node name="Smoke" type="GPUParticles3D" parent="."]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0.174589) transform = Transform3D(-0.999982, 0.000659683, -0.00600746, 0.000640738, 0.999995, 0.00315697, 0.00600951, 0.00315307, -0.999977, -0.000515461, 1.19209e-07, 0.984289)
light_color = Color(1, 0.529412, 0.270588, 1)
light_size = 0.5
shadow_enabled = true
shadow_blur = 3.0
spot_range = 25.0
spot_angle = 71.7513
[node name="Smoke" type="GPUParticles3D" parent="OmniLight3D"]
transform = Transform3D(0.999982, -0.000659683, 0.00600755, 0.000640738, 0.999995, 0.00315697, -0.0060096, -0.00315307, 0.999977, 0.00051539, 1.19209e-07, -0.8097)
layers = 2 layers = 2
amount = 1024 amount = 128
lifetime = 1.8
fixed_fps = 0 fixed_fps = 0
local_coords = false local_coords = false
trail_length_secs = 0.72 trail_length_secs = 0.72
process_material = SubResource( "ParticlesMaterial_mu7mc" ) process_material = SubResource( "ParticlesMaterial_mu7mc" )
draw_pass_1 = SubResource( "QuadMesh_gkbg3" ) draw_pass_1 = SubResource( "QuadMesh_gkbg3" )
[node name="Halo" type="MeshInstance3D" parent="OmniLight3D"] [node name="Halo" type="MeshInstance3D" parent="."]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0.174589)
layers = 2 layers = 2
cast_shadow = 0 cast_shadow = 0
mesh = SubResource( "QuadMesh_q2732" ) mesh = SubResource( "QuadMesh_q2732" )
skeleton = NodePath("../..")
surface_material_override/0 = null surface_material_override/0 = null
[node name="OmniLight3D" type="SpotLight3D" parent="."]
transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, 0, 0, 0.174589)
layers = 7
light_color = Color(1, 0.529412, 0.270588, 1)
light_size = 0.5
shadow_blur = 3.0
spot_range = 20.0
spot_attenuation = 0.329877
spot_angle = 71.7513
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 10.0 wait_time = 10.0
one_shot = true one_shot = true

View File

@ -8,6 +8,8 @@
[ext_resource type="AudioStream" uid="uid://c1fv01sc4dy5w" path="res://Assets/SFX/Weapons_RocketLauncher_Shot_01_C.wav" id="6_n223q"] [ext_resource type="AudioStream" uid="uid://c1fv01sc4dy5w" path="res://Assets/SFX/Weapons_RocketLauncher_Shot_01_C.wav" id="6_n223q"]
[node name="Weapon" instance=ExtResource( "1_x28sf" )] [node name="Weapon" instance=ExtResource( "1_x28sf" )]
transform = Transform3D(1.0005, 0, 0, 0, 1.0005, 0, 0, 0, 1.0005, 0, 0, 0)
animation_speed = 0.3
weapon_type = 1 weapon_type = 1
projectile_or_tracer_scene = ExtResource( "2_xwyny" ) projectile_or_tracer_scene = ExtResource( "2_xwyny" )
weapon_damage = 50 weapon_damage = 50

View File

@ -9,6 +9,8 @@ extends Node3D
@onready var muzzle = find_node("Muzzle") @onready var muzzle = find_node("Muzzle")
@onready var animation_player = find_node("AnimationPlayer") @onready var animation_player = find_node("AnimationPlayer")
@export var animation_speed : float
var casing = preload("res://Assets/Weapons/Handgun/Casing.tscn") var casing = preload("res://Assets/Weapons/Handgun/Casing.tscn")
var flash = preload("res://Assets/Effects/MuzzleFlash.tscn") var flash = preload("res://Assets/Effects/MuzzleFlash.tscn")
var tracer = preload("res://Assets/Effects/BulletTracer.tscn") var tracer = preload("res://Assets/Effects/BulletTracer.tscn")
@ -45,7 +47,7 @@ var spread = spread_min
get_parent().add_child(flash_effect) get_parent().add_child(flash_effect)
flash_effect.global_transform = muzzle.global_transform flash_effect.global_transform = muzzle.global_transform
animation_player.play("Shoot", 0, 2.5) animation_player.play("Shoot", 0, animation_speed)
var space_state = get_world_3d().direct_space_state var space_state = get_world_3d().direct_space_state

View File

@ -4,15 +4,16 @@ name="Linux/X11"
platform="Linux/X11" platform="Linux/X11"
runnable=true runnable=true
custom_features="" custom_features=""
export_filter="all_resources" export_filter="scenes"
include_filter="*.wav, *.sample, version" export_files=PackedStringArray("res://Assets/Audio/BulletFlyBySoundPlayer.tscn", "res://Assets/Audio/SoundPlayer.tscn", "res://Assets/Characters/Player.tscn", "res://Assets/Decals/Blood/BloodSplash.tscn", "res://Assets/DecalsStatic/LiblastLogo.tscn", "res://Assets/DecalsStatic/Puddle.tscn", "res://Assets/Effects/BulletTracer.gltf", "res://Assets/Effects/BulletTracer.tscn", "res://Assets/Effects/Gibs.tscn", "res://Assets/Effects/ImpactBlood.tscn", "res://Assets/Effects/ImpactExplosion.tscn", "res://Assets/Effects/ImpactSparks.tscn", "res://Assets/Effects/MuzzleFlash.tscn", "res://Assets/HUD/HUD.tscn", "res://Assets/MapComponents/Hazard.tscn", "res://Assets/MapComponents/SpawnPoint.tscn", "res://Assets/Maps/DM1.tscn", "res://Assets/UI/ConnectMenu.tscn", "res://Assets/UI/ControlsMenu.tscn", "res://Assets/UI/GUI.tscn", "res://Assets/UI/GraphicsMenu.tscn", "res://Assets/UI/Menu.tscn", "res://Assets/UI/MenuButton.tscn", "res://Assets/UI/MenuCheckButton.tscn", "res://Assets/UI/MenuColor.tscn", "res://Assets/UI/MenuData.tscn", "res://Assets/UI/MenuItem.tscn", "res://Assets/UI/MenuLineEdit.tscn", "res://Assets/UI/MenuSlider.tscn", "res://Assets/UI/OptionsMenu.tscn", "res://Assets/UI/PlayMenu.tscn", "res://Assets/UI/ProfileMenu.tscn", "res://Assets/Weapons/Handgun/Casing.tscn", "res://Assets/Weapons/Handgun/Handgun.tscn", "res://Assets/Weapons/RocketLauncher/Rocket.tscn", "res://Assets/Weapons/RocketLauncher/RocketLauncher.tscn", "res://Assets/Weapons/Weapon.tscn", "res://Main.tscn", "res://Map.tscn", "res://Server.tscn")
include_filter="version"
exclude_filter="" exclude_filter=""
export_path="Builds/Server/Liblast Linux.x86_64" export_path="Builds/0.1.1.2/Liblast Linux.x86_64"
encryption_include_filters="" encryption_include_filters=""
encryption_exclude_filters="" encryption_exclude_filters=""
encrypt_pck=false encrypt_pck=false
encrypt_directory=false encrypt_directory=false
script_export_mode=1 script_export_mode=0
script_encryption_key="" script_encryption_key=""
[preset.0.options] [preset.0.options]
@ -20,7 +21,7 @@ script_encryption_key=""
custom_template/debug="" custom_template/debug=""
custom_template/release="" custom_template/release=""
binary_format/64_bits=true binary_format/64_bits=true
binary_format/embed_pck=true binary_format/embed_pck=false
texture_format/bptc=false texture_format/bptc=false
texture_format/s3tc=true texture_format/s3tc=true
texture_format/etc=false texture_format/etc=false

View File

@ -199,12 +199,17 @@ mute_audio={
[rendering] [rendering]
reflections/sky_reflections/fast_filter_high_quality=true shadows/directional_shadow/size=1024
shadows/directional_shadow/soft_shadow_quality=2
environment/ssao/quality=0 environment/ssao/quality=0
anti_aliasing/screen_space_roughness_limiter/enabled=false
environment/screen_space_reflection/roughness_quality=3 environment/screen_space_reflection/roughness_quality=3
global_illumination/sdfgi/probe_ray_count=2 global_illumination/sdfgi/probe_ray_count=2
global_illumination/sdfgi/frames_to_converge=0 global_illumination/sdfgi/frames_to_converge=0
global_illumination/sdfgi/frames_to_update_lights=4 global_illumination/sdfgi/frames_to_update_lights=4
occlusion_culling/use_occlusion_culling=true occlusion_culling/use_occlusion_culling=true
mesh_lod/lod_change/threshold_pixels=3.0 mesh_lod/lod_change/threshold_pixels=3.0
shadows/shadow_atlas/size=1024
shadows/shadow_atlas/16_bits=false
shadows/shadow_atlas/quadrant_1_subdiv=3
environment/defaults/default_environment="res://default_env.tres" environment/defaults/default_environment="res://default_env.tres"