diff --git a/asset_dev/sfx/530588__nox_sound__footsteps_boots_tile_mono.wav b/asset_dev/sfx/530588__nox_sound__footsteps_boots_tile_mono.wav new file mode 100644 index 0000000..914ca52 Binary files /dev/null and b/asset_dev/sfx/530588__nox_sound__footsteps_boots_tile_mono.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic1.wav b/assets/sfx/footsteps/plastic/plastic1.wav new file mode 100644 index 0000000..837109c Binary files /dev/null and b/assets/sfx/footsteps/plastic/plastic1.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic1.wav.import b/assets/sfx/footsteps/plastic/plastic1.wav.import new file mode 100644 index 0000000..7e215bc --- /dev/null +++ b/assets/sfx/footsteps/plastic/plastic1.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://div20rlq8ync5" +path="res://.godot/imported/plastic1.wav-794d926ca63a1f188c40e6f854b3a8b5.sample" + +[deps] + +source_file="res://assets/sfx/footsteps/plastic/plastic1.wav" +dest_files=["res://.godot/imported/plastic1.wav-794d926ca63a1f188c40e6f854b3a8b5.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/sfx/footsteps/plastic/plastic2.wav b/assets/sfx/footsteps/plastic/plastic2.wav new file mode 100644 index 0000000..8030da3 Binary files /dev/null and b/assets/sfx/footsteps/plastic/plastic2.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic2.wav.import b/assets/sfx/footsteps/plastic/plastic2.wav.import new file mode 100644 index 0000000..a36c5af --- /dev/null +++ b/assets/sfx/footsteps/plastic/plastic2.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://dvyr3m24ccgrf" +path="res://.godot/imported/plastic2.wav-7fde480418e5945fd50869995510dbce.sample" + +[deps] + +source_file="res://assets/sfx/footsteps/plastic/plastic2.wav" +dest_files=["res://.godot/imported/plastic2.wav-7fde480418e5945fd50869995510dbce.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/sfx/footsteps/plastic/plastic3.wav b/assets/sfx/footsteps/plastic/plastic3.wav new file mode 100644 index 0000000..155c9c0 Binary files /dev/null and b/assets/sfx/footsteps/plastic/plastic3.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic3.wav.import b/assets/sfx/footsteps/plastic/plastic3.wav.import new file mode 100644 index 0000000..b420bdc --- /dev/null +++ b/assets/sfx/footsteps/plastic/plastic3.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://djucfo3l7x7px" +path="res://.godot/imported/plastic3.wav-3f1a85212096e927a6e4e086c37a5f31.sample" + +[deps] + +source_file="res://assets/sfx/footsteps/plastic/plastic3.wav" +dest_files=["res://.godot/imported/plastic3.wav-3f1a85212096e927a6e4e086c37a5f31.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/sfx/footsteps/plastic/plastic4.wav b/assets/sfx/footsteps/plastic/plastic4.wav new file mode 100644 index 0000000..fdf5eb2 Binary files /dev/null and b/assets/sfx/footsteps/plastic/plastic4.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic4.wav.import b/assets/sfx/footsteps/plastic/plastic4.wav.import new file mode 100644 index 0000000..f47333d --- /dev/null +++ b/assets/sfx/footsteps/plastic/plastic4.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cim5scvx3y6lk" +path="res://.godot/imported/plastic4.wav-52d2cab1714f4cb394db64cfbe66c6b7.sample" + +[deps] + +source_file="res://assets/sfx/footsteps/plastic/plastic4.wav" +dest_files=["res://.godot/imported/plastic4.wav-52d2cab1714f4cb394db64cfbe66c6b7.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/assets/sfx/footsteps/plastic/plastic5.wav b/assets/sfx/footsteps/plastic/plastic5.wav new file mode 100644 index 0000000..2bf72f9 Binary files /dev/null and b/assets/sfx/footsteps/plastic/plastic5.wav differ diff --git a/assets/sfx/footsteps/plastic/plastic5.wav.import b/assets/sfx/footsteps/plastic/plastic5.wav.import new file mode 100644 index 0000000..c70379e --- /dev/null +++ b/assets/sfx/footsteps/plastic/plastic5.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://ck86vhmbg3xnj" +path="res://.godot/imported/plastic5.wav-2bc1ec30deb6f15a4a6d84a82dbe29e6.sample" + +[deps] + +source_file="res://assets/sfx/footsteps/plastic/plastic5.wav" +dest_files=["res://.godot/imported/plastic5.wav-2bc1ec30deb6f15a4a6d84a82dbe29e6.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=2 diff --git a/levels/ghost_ship/player_ship/player_ship.tscn b/levels/ghost_ship/player_ship/player_ship.tscn index b52d6b9..0771994 100644 --- a/levels/ghost_ship/player_ship/player_ship.tscn +++ b/levels/ghost_ship/player_ship/player_ship.tscn @@ -82,7 +82,7 @@ shader_parameter/inflation_pixellation = 10.0 [node name="PlayerShip" type="Node3D"] script = ExtResource("1_0r2ng") -[node name="StaticBody3D" type="StaticBody3D" parent="."] +[node name="StaticBody3D" type="StaticBody3D" parent="." groups=["PlasticMaterial"]] collision_layer = 5 [node name="PlayerShipMesh" type="MeshInstance3D" parent="StaticBody3D"] diff --git a/src/player/footsteps/foot_controller.gd b/src/player/footsteps/foot_controller.gd index b8b40ff..49a8467 100644 --- a/src/player/footsteps/foot_controller.gd +++ b/src/player/footsteps/foot_controller.gd @@ -2,6 +2,7 @@ class_name FootController extends Node3D @onready var metal: AudioStreamPlayer3D = $Metal @onready var grunk: AudioStreamPlayer3D = $Grunk +@onready var plastic: AudioStreamPlayer3D = $Plastic func get_player_for_material(surface_material: SurfaceMaterial.Type) -> AudioStreamPlayer3D: @@ -9,7 +10,7 @@ func get_player_for_material(surface_material: SurfaceMaterial.Type) -> AudioStr SurfaceMaterial.Type.GRUNK: return grunk SurfaceMaterial.Type.PLASTIC: - pass # TODO + return plastic SurfaceMaterial.Type.METAL: return metal SurfaceMaterial.Type.UNKNOWN: diff --git a/src/player/player.tscn b/src/player/player.tscn index 2fb9a79..a3d2165 100644 --- a/src/player/player.tscn +++ b/src/player/player.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=43 format=3 uid="uid://bwe2jdmvinhqd"] +[gd_scene load_steps=49 format=3 uid="uid://bwe2jdmvinhqd"] [ext_resource type="Script" uid="uid://buwh0g1ga2aka" path="res://src/player/player.gd" id="1_npueo"] [ext_resource type="Script" uid="uid://cx1yt0drthpw3" path="res://src/player/camera_controller.gd" id="2_veeqv"] @@ -24,8 +24,12 @@ [ext_resource type="AudioStream" uid="uid://bo3klycfvvq2q" path="res://assets/sfx/footsteps/metal/metal8.wav" id="19_j2873"] [ext_resource type="AudioStream" uid="uid://4mbqcr8vmd5c" path="res://assets/sfx/footsteps/grunk/grunk5.wav" id="19_o04tx"] [ext_resource type="AudioStream" uid="uid://btiyoi1ipofd" path="res://assets/sfx/footsteps/metal/metal10.wav" id="20_dpt0q"] +[ext_resource type="AudioStream" uid="uid://dvyr3m24ccgrf" path="res://assets/sfx/footsteps/plastic/plastic2.wav" id="20_vwi60"] [ext_resource type="AudioStream" uid="uid://dmscjvx66fxlf" path="res://assets/sfx/footsteps/grunk/grunk2.wav" id="25_j2873"] [ext_resource type="AudioStream" uid="uid://djdixjel10yn1" path="res://assets/sfx/footsteps/grunk/grunk4.wav" id="26_dpt0q"] +[ext_resource type="AudioStream" uid="uid://div20rlq8ync5" path="res://assets/sfx/footsteps/plastic/plastic1.wav" id="28_dpt0q"] +[ext_resource type="AudioStream" uid="uid://djucfo3l7x7px" path="res://assets/sfx/footsteps/plastic/plastic3.wav" id="29_wcxbk"] +[ext_resource type="AudioStream" uid="uid://ck86vhmbg3xnj" path="res://assets/sfx/footsteps/plastic/plastic5.wav" id="30_p6grl"] [sub_resource type="Animation" id="Animation_x42xx"] length = 0.001 @@ -185,6 +189,14 @@ stream_0/stream = ExtResource("17_a4vah") stream_1/stream = ExtResource("18_vwi60") stream_2/stream = ExtResource("19_o04tx") +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_o04tx"] +playback_mode = 1 +random_pitch = 1.1 +streams_count = 3 +stream_0/stream = ExtResource("20_vwi60") +stream_1/stream = ExtResource("20_vwi60") +stream_2/stream = ExtResource("20_vwi60") + [sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_ylhto"] random_pitch = 1.1 streams_count = 5 @@ -202,6 +214,14 @@ stream_0/stream = ExtResource("25_j2873") stream_1/stream = ExtResource("26_dpt0q") stream_2/stream = ExtResource("17_a4vah") +[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_e7e1q"] +playback_mode = 1 +random_pitch = 1.1 +streams_count = 3 +stream_0/stream = ExtResource("28_dpt0q") +stream_1/stream = ExtResource("29_wcxbk") +stream_2/stream = ExtResource("30_p6grl") + [node name="Player" type="CharacterBody3D"] script = ExtResource("1_npueo") @@ -293,6 +313,11 @@ stream = SubResource("AudioStreamRandomizer_wcxbk") volume_db = -20.0 bus = &"SFX" +[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/LeftFoot"] +stream = SubResource("AudioStreamRandomizer_o04tx") +volume_db = -24.0 +bus = &"SFX" + [node name="RightFoot" type="Node3D" parent="FootstepController"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.4, 0, 0) @@ -309,6 +334,11 @@ stream = SubResource("AudioStreamRandomizer_p6grl") volume_db = -20.0 bus = &"SFX" +[node name="Plastic" type="AudioStreamPlayer3D" parent="FootstepController/RightFoot"] +stream = SubResource("AudioStreamRandomizer_e7e1q") +volume_db = -24.0 +bus = &"SFX" + [node name="FootCast" type="RayCast3D" parent="FootstepController"] unique_name_in_owner = true transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.0518835, 0) diff --git a/src/world/surface_material.gd b/src/world/surface_material.gd index 78c3635..500fc61 100644 --- a/src/world/surface_material.gd +++ b/src/world/surface_material.gd @@ -12,10 +12,11 @@ const PLASTIC_MATERIAL_GROUP := "PlasticMaterial" static func material_for_collider(collider: Node) -> SurfaceMaterial.Type: - if collider is GunkNode: - return Type.GRUNK - if collider.is_in_group(METAL_MATERIAL_GROUP): - return Type.METAL - if collider.is_in_group(PLASTIC_MATERIAL_GROUP): - return Type.PLASTIC + if collider: + if collider is GunkNode: + return Type.GRUNK + if collider.is_in_group(METAL_MATERIAL_GROUP): + return Type.METAL + if collider.is_in_group(PLASTIC_MATERIAL_GROUP): + return Type.PLASTIC return Type.UNKNOWN diff --git a/vault/TODO.md b/vault/TODO.md index 8f1c3f6..b2321f5 100644 --- a/vault/TODO.md +++ b/vault/TODO.md @@ -49,7 +49,7 @@ - [ ] ui bonk - [ ] prop clear glitter - [x] metal footsteps - - [ ] plastic footsteps + - [x] plastic footsteps - [x] grunk footsteps - [x] beam noises - [x] spray noises diff --git a/vault/assets/asset credits.md b/vault/assets/asset credits.md index bcb4898..e5715d4 100644 --- a/vault/assets/asset credits.md +++ b/vault/assets/asset credits.md @@ -24,4 +24,9 @@ - author: Nox_Sound - CC0 - retrieved from https://freesound.org/people/Nox_Sound/sounds/548384/ - - assets/sfx/footsteps/grunk/grunk*.wav \ No newline at end of file + - assets/sfx/footsteps/grunk/grunk*.wav + - "Footsteps_Boots_Tile_Mono.wav" + - author: Nox_Sound + - CC0 + - retrieved from https://freesound.org/people/Nox_Sound/sounds/530588/ + - assets/sfx/footsteps/plastic/plastic*.wav \ No newline at end of file