Finalized bullet flyby sounds. Put respawn timer on the bottom. Fixed bullet hit wall SFX and shell casing SFX.

feature-flyby
unfa 2021-11-28 17:38:14 +01:00
parent e0cc255bdc
commit 0219bbd26c
7 changed files with 71 additions and 78 deletions

View File

@ -1,7 +1,4 @@
extends Spatial extends Node3D
#func _ready():
# pass
func _on_SoundPlayer_SoundPlayer_finished(): func _on_SoundPlayer_SoundPlayer_finished():
queue_free() queue_free()

View File

@ -2,7 +2,7 @@
[ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="1"] [ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="1"]
[ext_resource type="Script" path="res://Assets/Audio/BulletFlyBySoundPlayer.gd" id="2"] [ext_resource type="Script" path="res://Assets/Audio/BulletFlyBySoundPlayer.gd" id="2"]
[ext_resource type="AudioStream" uid="uid://dlbnvd5ypkwor" path="res://Assets/SFX/Weapons_BulletFlyBy_01.wav" id="3_rujqw"] [ext_resource type="AudioStream" uid="uid://baog7oxjincev" path="res://Assets/SFX/Weapons_BulletFlyBy_07.wav" id="3_tpw2g"]
[sub_resource type="BoxMesh" id="BoxMesh_8lyvt"] [sub_resource type="BoxMesh" id="BoxMesh_8lyvt"]
@ -11,6 +11,7 @@ script = ExtResource( "2" )
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0) transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
visible = false
mesh = SubResource( "BoxMesh_8lyvt" ) mesh = SubResource( "BoxMesh_8lyvt" )
[node name="SoundPlayer" parent="." instance=ExtResource( "1" )] [node name="SoundPlayer" parent="." instance=ExtResource( "1" )]
@ -19,7 +20,10 @@ AutoPlay = true
RandomizePitch = 0.3 RandomizePitch = 0.3
[node name="AudioStreamPlayer3D" parent="SoundPlayer" index="0"] [node name="AudioStreamPlayer3D" parent="SoundPlayer" index="0"]
stream = ExtResource( "3_rujqw" ) stream = ExtResource( "3_tpw2g" )
unit_size = 2.0
max_db = 0.0
autoplay = true
[connection signal="SoundPlayer_finished" from="SoundPlayer" to="." method="_on_SoundPlayer_SoundPlayer_finished"] [connection signal="SoundPlayer_finished" from="SoundPlayer" to="." method="_on_SoundPlayer_SoundPlayer_finished"]
[connection signal="finished" from="SoundPlayer/AudioStreamPlayer3D" to="SoundPlayer" method="_on_AudioStreamPlayer3D_finished"] [connection signal="finished" from="SoundPlayer/AudioStreamPlayer3D" to="SoundPlayer" method="_on_AudioStreamPlayer3D_finished"]

View File

@ -114,6 +114,11 @@ func pick_random():
@rpc(call_local, any_peer, reliable) func play(): @rpc(call_local, any_peer, reliable) func play():
# temporary # temporary
if RandomizePitch != 0:
$AudioStreamPlayer3D.pitch_scale = PitchScale + randf_range(-RandomizePitch /2, RandomizePitch/2)
else:
$AudioStreamPlayer3D.pitch_scale = PitchScale
$AudioStreamPlayer3D.play() $AudioStreamPlayer3D.play()
return # the functionality fo this node is disabled until the Godot not bundling wave files in exports issue is solved return # the functionality fo this node is disabled until the Godot not bundling wave files in exports issue is solved

View File

@ -3,8 +3,8 @@
[ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"] [ext_resource type="Script" path="res://Assets/Effects/Impact.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"] [ext_resource type="Texture2D" uid="uid://cguy76rs8e220" path="res://Assets/Effects/Flame.png" id="2"]
[ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_oh3bk"] [ext_resource type="PackedScene" uid="uid://c5cwnfuw4go1b" path="res://Assets/Audio/SoundPlayer.tscn" id="3_oh3bk"]
[ext_resource type="AudioStream" uid="uid://e6h2bvb51xun" path="res://Assets/SFX/Weapons_BulletHitWall_05.wav" id="4_5a6ll"]
[ext_resource type="Texture2D" uid="uid://cb584onhet4nd" path="res://Assets/Decals/BulletHits/BulletHitConcrete_albedo.png" id="4_6wvg3"] [ext_resource type="Texture2D" uid="uid://cb584onhet4nd" path="res://Assets/Decals/BulletHits/BulletHitConcrete_albedo.png" id="4_6wvg3"]
[ext_resource type="AudioStream" uid="uid://c847pi2pieg25" path="res://Assets/SFX/Weapons_BulletHitWall_02.wav" id="4_hrtky"]
[ext_resource type="Texture2D" uid="uid://bs08bclmrvacp" path="res://Assets/Decals/BulletHits/BulletHitConcrete_normal.png" id="5_fr6k3"] [ext_resource type="Texture2D" uid="uid://bs08bclmrvacp" path="res://Assets/Decals/BulletHits/BulletHitConcrete_normal.png" id="5_fr6k3"]
[ext_resource type="Texture2D" uid="uid://ddncj1g0e27m8" path="res://Assets/Decals/BulletHits/BulletHitConcrete_orm.png" id="6_0nm8w"] [ext_resource type="Texture2D" uid="uid://ddncj1g0e27m8" path="res://Assets/Decals/BulletHits/BulletHitConcrete_orm.png" id="6_0nm8w"]
@ -43,11 +43,11 @@ size = Vector2(0.25, 0.25)
[sub_resource type="Animation" id="7"] [sub_resource type="Animation" id="7"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("OmniLight3D:light_color") tracks/0/path = NodePath("OmniLight3D:light_color")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -55,11 +55,11 @@ tracks/0/keys = {
"values": [Color(1, 0.929412, 0, 1)] "values": [Color(1, 0.929412, 0, 1)]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("OmniLight3D:light_energy") tracks/1/path = NodePath("OmniLight3D:light_energy")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -72,11 +72,11 @@ resource_name = "anim"
length = 0.2 length = 0.2
step = 0.05 step = 0.05
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("OmniLight3D:light_color") tracks/0/path = NodePath("OmniLight3D:light_color")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2), "times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1), "transitions": PackedFloat32Array(1, 1, 1),
@ -84,11 +84,11 @@ tracks/0/keys = {
"values": [Color(1, 0.905882, 0.34902, 1), Color(0.666667, 0.270588, 0, 1), Color(0, 0, 0, 1)] "values": [Color(1, 0.905882, 0.34902, 1), Color(0.666667, 0.270588, 0, 1), Color(0, 0, 0, 1)]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("OmniLight3D:light_energy") tracks/1/path = NodePath("OmniLight3D:light_energy")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2), "times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(0.15932, 1), "transitions": PackedFloat32Array(0.15932, 1),
@ -99,11 +99,11 @@ tracks/1/keys = {
[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/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 0.5), "times": PackedFloat32Array(0, 0.5),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
@ -111,11 +111,11 @@ tracks/0/keys = {
"values": [0.0, 1.0] "values": [0.0, 1.0]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Decal:distance_fade_begin") tracks/1/path = NodePath("Decal:distance_fade_begin")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -123,11 +123,11 @@ tracks/1/keys = {
"values": [20.0] "values": [20.0]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_length") tracks/2/path = NodePath("Decal:distance_fade_length")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -139,11 +139,11 @@ tracks/2/keys = {
resource_name = "Splat" resource_name = "Splat"
length = 15.0 length = 15.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM") tracks/0/path = NodePath("MeshInstance3D:shader_params/o3007790_ANIM")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0, 0.3), "times": PackedFloat32Array(0, 0.3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
@ -151,11 +151,11 @@ tracks/0/keys = {
"values": [0.0, 1.0] "values": [0.0, 1.0]
} }
tracks/1/type = "method" tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("MeshInstance3D") tracks/1/path = NodePath("MeshInstance3D")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0.3), "times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -165,11 +165,11 @@ tracks/1/keys = {
}] }]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Decal:distance_fade_begin") tracks/2/path = NodePath("Decal:distance_fade_begin")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(5, 15), "times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
@ -177,11 +177,11 @@ tracks/2/keys = {
"values": [10.0, -10.0] "values": [10.0, -10.0]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Decal:distance_fade_length") tracks/3/path = NodePath("Decal:distance_fade_length")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(5, 15), "times": PackedFloat32Array(5, 15),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
@ -189,11 +189,11 @@ tracks/3/keys = {
"values": [10.0, 0.0] "values": [10.0, 0.0]
} }
tracks/4/type = "method" tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath(".") tracks/4/path = NodePath(".")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(15), "times": PackedFloat32Array(15),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -221,31 +221,24 @@ initial_velocity_max = 4.0
scale_amount_curve = SubResource( "3" ) scale_amount_curve = SubResource( "3" )
color_ramp = SubResource( "4" ) color_ramp = SubResource( "4" )
anim_offset_max = 1.0 anim_offset_max = 1.0
script = null
[node name="Timer" type="Timer" parent="."] [node name="Timer" type="Timer" parent="."]
wait_time = 15.0 wait_time = 15.0
script = null
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [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) transform = Transform3D(1, 0, 0, 0, 1, 1.06581e-14, 0, -1.06581e-14, 1, 0, 0.00379224, 0)
visible = false visible = false
mesh = SubResource( "6" ) mesh = SubResource( "6" )
surface_material_override/0 = null
script = 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)
light_color = Color(1, 0.929412, 0, 1) light_color = Color(1, 0.929412, 0, 1)
omni_attenuation = 2.63902 omni_attenuation = 2.63902
script = null
[node name="AnimationPlayer" type="AnimationPlayer" parent="."] [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "anim" autoplay = "anim"
anims/RESET = SubResource( "7" ) anims/RESET = SubResource( "7" )
anims/anim = SubResource( "8" ) anims/anim = SubResource( "8" )
blend_times = []
script = null
[node name="SoundPlayer" parent="." instance=ExtResource( "3_oh3bk" )] [node name="SoundPlayer" parent="." instance=ExtResource( "3_oh3bk" )]
SoundClip = "res://Assets/SFX/Weapons_BulletHitWall_01.wav" SoundClip = "res://Assets/SFX/Weapons_BulletHitWall_01.wav"
@ -253,16 +246,15 @@ AutoPlay = true
RandomizePitch = 0.1 RandomizePitch = 0.1
[node name="AudioStreamPlayer3D" parent="SoundPlayer" index="0"] [node name="AudioStreamPlayer3D" parent="SoundPlayer" index="0"]
stream = ExtResource( "4_5a6ll" ) stream = ExtResource( "4_hrtky" )
unit_db = -8.0 unit_db = -8.0
unit_size = 2.0 unit_size = 2.0
autoplay = true
[node name="AnimationPlayer2" type="AnimationPlayer" parent="."] [node name="AnimationPlayer2" type="AnimationPlayer" parent="."]
autoplay = "Splat" autoplay = "Splat"
anims/RESET = SubResource( "Animation_itp5v" ) anims/RESET = SubResource( "Animation_itp5v" )
anims/Splat = SubResource( "Animation_55he2" ) anims/Splat = SubResource( "Animation_55he2" )
blend_times = []
script = null
[node name="Decal" type="Decal" parent="."] [node name="Decal" type="Decal" parent="."]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.0171875) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, -0.0171875)
@ -276,7 +268,6 @@ distance_fade_enabled = true
distance_fade_begin = 20.0 distance_fade_begin = 20.0
distance_fade_length = 10.0 distance_fade_length = 10.0
cull_mask = 1 cull_mask = 1
script = null
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View File

@ -312,10 +312,12 @@ stream = ExtResource( "9_ubwxw" )
[node name="RespawnCountdown" type="Label" parent="."] [node name="RespawnCountdown" type="Label" parent="."]
visible = false visible = false
anchor_left = 0.5 anchor_left = 0.5
anchor_top = 1.0
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 1.0
offset_left = -220.0 offset_left = -220.0
offset_top = -221.0
offset_right = 220.0 offset_right = 220.0
offset_bottom = 221.0
theme_override_font_sizes/font_size = 32 theme_override_font_sizes/font_size = 32
text = "RESPAWNING IN 5.0 seconds" text = "RESPAWNING IN 5.0 seconds"
align = 1 align = 1

View File

@ -14,11 +14,11 @@ height = 0.179472
resource_name = "Fade" resource_name = "Fade"
length = 3.0 length = 3.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Casing_LOD0:surface_material_override/0:transparency") tracks/0/path = NodePath("Casing_LOD0:surface_material_override/0:transparency")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -26,11 +26,11 @@ tracks/0/keys = {
"values": [1] "values": [1]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Casing_LOD0:surface_material_override/0:albedo_color") tracks/1/path = NodePath("Casing_LOD0:surface_material_override/0:albedo_color")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0, 3), "times": PackedFloat32Array(0, 3),
"transitions": PackedFloat32Array(1, 1), "transitions": PackedFloat32Array(1, 1),
@ -38,11 +38,11 @@ tracks/1/keys = {
"values": [Color(0.905882, 0.701961, 0.309804, 1), Color(0.905882, 0.701961, 0.309804, 0)] "values": [Color(0.905882, 0.701961, 0.309804, 1), Color(0.905882, 0.701961, 0.309804, 0)]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Casing_LOD0:surface_material_override/0:depth_draw_mode") tracks/2/path = NodePath("Casing_LOD0:surface_material_override/0:depth_draw_mode")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -50,11 +50,11 @@ tracks/2/keys = {
"values": [1] "values": [1]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Casing_LOD0:surface_material_override/0:cull_mode") tracks/3/path = NodePath("Casing_LOD0:surface_material_override/0:cull_mode")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -62,11 +62,11 @@ tracks/3/keys = {
"values": [0] "values": [0]
} }
tracks/4/type = "method" tracks/4/type = "method"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("..") tracks/4/path = NodePath("..")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(3), "times": PackedFloat32Array(3),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -79,11 +79,11 @@ tracks/4/keys = {
[sub_resource type="Animation" id="Animation_u4pct"] [sub_resource type="Animation" id="Animation_u4pct"]
length = 0.001 length = 0.001
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("Casing_LOD0:mesh:surface_1/material:transparency") tracks/0/path = NodePath("Casing_LOD0:mesh:surface_1/material:transparency")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -91,11 +91,11 @@ tracks/0/keys = {
"values": [0] "values": [0]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Casing_LOD0:mesh:surface_1/material:albedo_color") tracks/1/path = NodePath("Casing_LOD0:mesh:surface_1/material:albedo_color")
tracks/1/interp = 1 tracks/1/interp = 1
tracks/1/loop_wrap = true tracks/1/loop_wrap = true
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/keys = { tracks/1/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -103,11 +103,11 @@ tracks/1/keys = {
"values": [Color(0.906332, 0.703778, 0.309292, 1)] "values": [Color(0.906332, 0.703778, 0.309292, 1)]
} }
tracks/2/type = "value" tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("Casing_LOD0:mesh:surface_1/material:depth_draw_mode") tracks/2/path = NodePath("Casing_LOD0:mesh:surface_1/material:depth_draw_mode")
tracks/2/interp = 1 tracks/2/interp = 1
tracks/2/loop_wrap = true tracks/2/loop_wrap = true
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/keys = { tracks/2/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -115,11 +115,11 @@ tracks/2/keys = {
"values": [1] "values": [1]
} }
tracks/3/type = "value" tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("Casing_LOD0:mesh:surface_1/material:cull_mode") tracks/3/path = NodePath("Casing_LOD0:mesh:surface_1/material:cull_mode")
tracks/3/interp = 1 tracks/3/interp = 1
tracks/3/loop_wrap = true tracks/3/loop_wrap = true
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/keys = { tracks/3/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -127,11 +127,11 @@ tracks/3/keys = {
"values": [0] "values": [0]
} }
tracks/4/type = "value" tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("Casing_LOD0:surface_material_override/0:transparency") tracks/4/path = NodePath("Casing_LOD0:surface_material_override/0:transparency")
tracks/4/interp = 1 tracks/4/interp = 1
tracks/4/loop_wrap = true tracks/4/loop_wrap = true
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/keys = { tracks/4/keys = {
"times": PackedFloat32Array(0), "times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1), "transitions": PackedFloat32Array(1),
@ -143,7 +143,7 @@ tracks/4/keys = {
offsets = PackedFloat32Array(0, 0.13587, 0.875, 1) offsets = PackedFloat32Array(0, 0.13587, 0.875, 1)
colors = PackedColorArray(0.211765, 0.211765, 0.211765, 0, 1, 1, 1, 1, 0.139394, 0.139394, 0.139394, 0.139394, 0, 0, 0, 0) colors = PackedColorArray(0.211765, 0.211765, 0.211765, 0, 1, 1, 1, 1, 0.139394, 0.139394, 0.139394, 0.139394, 0, 0, 0, 0)
[sub_resource type="GradientTexture" id="GradientTexture_cx0o7"] [sub_resource type="GradientTexture1D" id="GradientTexture_cx0o7"]
gradient = SubResource( "Gradient_hmrjy" ) gradient = SubResource( "Gradient_hmrjy" )
[sub_resource type="Curve" id="Curve_40r7q"] [sub_resource type="Curve" id="Curve_40r7q"]
@ -210,7 +210,7 @@ _data = [Vector2(0, 0.327273), 0.0, 0.0, 0, 0, Vector2(1, 0.981818), 0.0929754,
[sub_resource type="Gradient" id="Gradient_585vn"] [sub_resource type="Gradient" id="Gradient_585vn"]
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1) colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
[sub_resource type="GradientTexture" id="GradientTexture_oxmwq"] [sub_resource type="GradientTexture1D" id="GradientTexture_oxmwq"]
gradient = SubResource( "Gradient_585vn" ) gradient = SubResource( "Gradient_585vn" )
width = 128 width = 128
@ -243,12 +243,10 @@ transform = Transform3D(-4.37114e-08, -1, 1.06774e-14, 1, -4.37114e-08, 0, 4.030
visible = false visible = false
shape = SubResource( "2" ) shape = SubResource( "2" )
disabled = true disabled = true
script = null
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."] [node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
transform = Transform3D(-4.37114e-08, -1, 1.06774e-14, 1, -4.37114e-08, 0, 4.03066e-21, 1.06774e-14, 1, 0, 0, 0) transform = Transform3D(-4.37114e-08, -1, 1.06774e-14, 1, -4.37114e-08, 0, 4.03066e-21, 1.06774e-14, 1, 0, 0, 0)
shape = SubResource( "2" ) shape = SubResource( "2" )
script = null
[node name="Casing" parent="." instance=ExtResource( "1" )] [node name="Casing" parent="." instance=ExtResource( "1" )]
transform = Transform3D(1, 0, 1.06774e-14, 0, 1, 0, -1.06774e-14, 0, 1, 0, 0, 0) transform = Transform3D(1, 0, 1.06774e-14, 0, 1, 0, -1.06774e-14, 0, 1, 0, 0, 0)
@ -260,18 +258,17 @@ gi_mode = 2
wait_time = 5.0 wait_time = 5.0
one_shot = true one_shot = true
autostart = true autostart = true
script = null
[node name="Sound" parent="." instance=ExtResource( "3_47hc3" )] [node name="Sound" parent="." instance=ExtResource( "3_47hc3" )]
SoundClip = "res://Assets/SFX/Weapons_Handgun_Casing_01.wav" SoundClip = "res://Assets/SFX/Weapons_Handgun_Casing_01.wav"
PitchScale = 1.2 PitchScale = 1.2
RandomizePitch = 0.01 RandomizePitch = 0.015
Voice_Count = 2 Voice_Count = 2
[node name="AudioStreamPlayer3D" parent="Sound" index="0"] [node name="AudioStreamPlayer3D" parent="Sound" index="0"]
stream = ExtResource( "4_qmv6c" ) stream = ExtResource( "4_qmv6c" )
unit_db = -12.0 unit_db = -12.0
unit_size = 2.0 unit_size = 0.5
max_db = -3.0 max_db = -3.0
pitch_scale = 1.5 pitch_scale = 1.5
@ -279,8 +276,6 @@ pitch_scale = 1.5
root_node = NodePath("../Casing") root_node = NodePath("../Casing")
anims/Fade = SubResource( "Animation_euct2" ) anims/Fade = SubResource( "Animation_euct2" )
anims/RESET = SubResource( "Animation_u4pct" ) anims/RESET = SubResource( "Animation_u4pct" )
blend_times = []
script = null
[node name="Smoke" type="GPUParticles3D" parent="."] [node name="Smoke" type="GPUParticles3D" parent="."]
visible = false visible = false
@ -293,15 +288,12 @@ local_coords = false
trail_length_secs = 2.0 trail_length_secs = 2.0
process_material = SubResource( "ParticlesMaterial_bb1vw" ) process_material = SubResource( "ParticlesMaterial_bb1vw" )
draw_pass_1 = SubResource( "QuadMesh_24v16" ) draw_pass_1 = SubResource( "QuadMesh_24v16" )
script = null
[node name="MeshInstance3D" type="MeshInstance3D" parent="."] [node name="MeshInstance3D" type="MeshInstance3D" parent="."]
top_level = true top_level = true
visible = false visible = false
mesh = SubResource( "TubeTrailMesh_syvhj" ) mesh = SubResource( "TubeTrailMesh_syvhj" )
skeleton = NodePath("../SmokeTrail") skeleton = NodePath("../SmokeTrail")
surface_material_override/0 = null
script = null
[node name="SmokeTrail" type="GPUParticles3D" parent="."] [node name="SmokeTrail" type="GPUParticles3D" parent="."]
visible = false visible = false
@ -314,7 +306,6 @@ trail_enabled = true
trail_length_secs = 2.0 trail_length_secs = 2.0
process_material = SubResource( "ParticlesMaterial_bb1vw" ) process_material = SubResource( "ParticlesMaterial_bb1vw" )
draw_pass_1 = SubResource( "RibbonTrailMesh_dh8q5" ) draw_pass_1 = SubResource( "RibbonTrailMesh_dh8q5" )
script = null
[node name="GPUParticles3D" type="GPUParticles3D" parent="."] [node name="GPUParticles3D" type="GPUParticles3D" parent="."]
visible = false visible = false
@ -324,7 +315,6 @@ local_coords = false
trail_length_secs = 0.01 trail_length_secs = 0.01
process_material = SubResource( "ParticlesMaterial_vkp8p" ) process_material = SubResource( "ParticlesMaterial_vkp8p" )
draw_pass_1 = SubResource( "RibbonTrailMesh_fl8aq" ) draw_pass_1 = SubResource( "RibbonTrailMesh_fl8aq" )
script = null
[connection signal="body_entered" from="." to="." method="_on_Casing_body_entered"] [connection signal="body_entered" from="." to="." method="_on_Casing_body_entered"]
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"] [connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]

View File

@ -75,10 +75,14 @@ var spread = spread_min
if ray: # if we hit something - use that to evaluate the flyby sound if ray: # if we hit something - use that to evaluate the flyby sound
to = ray['position'] to = ray['position']
var flyby_camera = get_tree().get_root().get_camera_3d()
if flyby_camera == camera: # don't spawn flyby sound for the shooter
return
var x := Vector3.ZERO var x := Vector3.ZERO
var A = from var A = from
var B = to var B = to
var C = get_tree().get_root().get_camera_3d().global_transform.origin var C = flyby_camera.global_transform.origin
var d0 = (B - A).dot(A - C) var d0 = (B - A).dot(A - C)
var d1 = (B - A).dot(B - C) var d1 = (B - A).dot(B - C)