generated from krampus/template-godot4
Chitter & ambiance
This commit is contained in:
parent
c1610629df
commit
0a7dabc797
BIN
asset_dev/sfx/118481__steveygos93__dolphin.wav
Normal file
BIN
asset_dev/sfx/118481__steveygos93__dolphin.wav
Normal file
Binary file not shown.
Binary file not shown.
BIN
asset_dev/sfx/grunk_chitter.aup3
Normal file
BIN
asset_dev/sfx/grunk_chitter.aup3
Normal file
Binary file not shown.
BIN
asset_dev/sfx/grunk_chitter.aup3-shm
Normal file
BIN
asset_dev/sfx/grunk_chitter.aup3-shm
Normal file
Binary file not shown.
BIN
asset_dev/sfx/grunk_chitter.aup3-wal
Normal file
BIN
asset_dev/sfx/grunk_chitter.aup3-wal
Normal file
Binary file not shown.
BIN
assets/sfx/ambient/drone_loop.wav
Normal file
BIN
assets/sfx/ambient/drone_loop.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/drone_loop.wav.import
Normal file
24
assets/sfx/ambient/drone_loop.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://dx4d8a3mgpws"
|
||||
path="res://.godot/imported/drone_loop.wav-50d3d68932a0f8909ec9e82813b96e81.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/drone_loop.wav"
|
||||
dest_files=["res://.godot/imported/drone_loop.wav-50d3d68932a0f8909ec9e82813b96e81.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=2
|
||||
edit/loop_begin=0
|
||||
edit/loop_end=-1
|
||||
compress/mode=2
|
BIN
assets/sfx/ambient/metal_creak1.wav
Normal file
BIN
assets/sfx/ambient/metal_creak1.wav
Normal file
Binary file not shown.
24
assets/sfx/ambient/metal_creak1.wav.import
Normal file
24
assets/sfx/ambient/metal_creak1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://cqh31d5my7fst"
|
||||
path="res://.godot/imported/metal_creak1.wav-a72b7ee01a1248f0ebb7ee255aa967a8.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/ambient/metal_creak1.wav"
|
||||
dest_files=["res://.godot/imported/metal_creak1.wav-a72b7ee01a1248f0ebb7ee255aa967a8.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
|
BIN
assets/sfx/grunk/groan1.wav
Normal file
BIN
assets/sfx/grunk/groan1.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan1.wav.import
Normal file
24
assets/sfx/grunk/groan1.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://b288km80xeh0"
|
||||
path="res://.godot/imported/groan1.wav-166de7281a9e784fa78c70717b1d3d25.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan1.wav"
|
||||
dest_files=["res://.godot/imported/groan1.wav-166de7281a9e784fa78c70717b1d3d25.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
|
BIN
assets/sfx/grunk/groan2.wav
Normal file
BIN
assets/sfx/grunk/groan2.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan2.wav.import
Normal file
24
assets/sfx/grunk/groan2.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bujyltdunajj4"
|
||||
path="res://.godot/imported/groan2.wav-4e09bb09a4fa758f7652d6019d2f82fc.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan2.wav"
|
||||
dest_files=["res://.godot/imported/groan2.wav-4e09bb09a4fa758f7652d6019d2f82fc.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
|
BIN
assets/sfx/grunk/groan3.wav
Normal file
BIN
assets/sfx/grunk/groan3.wav
Normal file
Binary file not shown.
24
assets/sfx/grunk/groan3.wav.import
Normal file
24
assets/sfx/grunk/groan3.wav.import
Normal file
@ -0,0 +1,24 @@
|
||||
[remap]
|
||||
|
||||
importer="wav"
|
||||
type="AudioStreamWAV"
|
||||
uid="uid://bvtopyke5d17x"
|
||||
path="res://.godot/imported/groan3.wav-fe410936dcc4c7f7a7e17ce1ef5eecf0.sample"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://assets/sfx/grunk/groan3.wav"
|
||||
dest_files=["res://.godot/imported/groan3.wav-fe410936dcc4c7f7a7e17ce1ef5eecf0.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
|
62
levels/ghost_ship/ambient_drone.gd
Normal file
62
levels/ghost_ship/ambient_drone.gd
Normal file
@ -0,0 +1,62 @@
|
||||
extends AudioStreamPlayer
|
||||
|
||||
const MUTE_VOLUME := -80.0
|
||||
|
||||
@export var volume_increment := 0.618
|
||||
@export var base_volume := -14.0
|
||||
@export var boosted_volume := -2.0
|
||||
|
||||
var target_volume := MUTE_VOLUME
|
||||
var suppressed := false
|
||||
var boosted := false
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
Game.manager.alert_raised.connect(_on_alert_raised)
|
||||
|
||||
|
||||
func get_target_volume() -> float:
|
||||
if suppressed:
|
||||
return MUTE_VOLUME
|
||||
if boosted:
|
||||
return boosted_volume
|
||||
return target_volume
|
||||
|
||||
|
||||
## Temporarily suppress ambience
|
||||
func suppress(time: float = 5.0) -> void:
|
||||
suppressed = true
|
||||
get_tree().create_timer(time).timeout.connect(_unsuppress)
|
||||
|
||||
|
||||
## Temporarily boost ambience
|
||||
func boost(time: float = 5.0) -> void:
|
||||
boosted = true
|
||||
get_tree().create_timer(time).timeout.connect(_unboost)
|
||||
|
||||
|
||||
func _unsuppress() -> void:
|
||||
suppressed = false
|
||||
|
||||
|
||||
func _unboost() -> void:
|
||||
boosted = false
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
volume_db = lerpf(volume_db, get_target_volume(), volume_increment * delta)
|
||||
|
||||
|
||||
func _on_player_enters_ship(_body: Node3D) -> void:
|
||||
target_volume = MUTE_VOLUME
|
||||
|
||||
|
||||
func _on_player_exits_ship(_body: Node3D) -> void:
|
||||
target_volume = base_volume
|
||||
|
||||
|
||||
func _on_alert_raised(new_level: int) -> void:
|
||||
if new_level == Game.manager.MAX_ALERT:
|
||||
suppress(30)
|
||||
else:
|
||||
boost(10.0)
|
1
levels/ghost_ship/ambient_drone.gd.uid
Normal file
1
levels/ghost_ship/ambient_drone.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://441gcyrbv0jd
|
@ -1,9 +1,14 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bov4ok76woyc"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://bov4ok76woyc"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://crydi5cjgfwe5" path="res://levels/ghost_ship/ghost_ship_level.tscn" id="1_aj2m7"]
|
||||
[ext_resource type="Environment" uid="uid://bkvij3ljl5ox3" path="res://levels/ghost_ship/environment_3.tres" id="1_wwgrl"]
|
||||
[ext_resource type="PackedScene" uid="uid://bwe2jdmvinhqd" path="res://src/player/player.tscn" id="2_0ef5p"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1kacn4b60ucy" path="res://src/ui/post_processing.tscn" id="3_o7mxe"]
|
||||
[ext_resource type="AudioStream" uid="uid://dx4d8a3mgpws" path="res://assets/sfx/ambient/drone_loop.wav" id="5_ejh2c"]
|
||||
[ext_resource type="Script" uid="uid://441gcyrbv0jd" path="res://levels/ghost_ship/ambient_drone.gd" id="5_jiowi"]
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_o7mxe"]
|
||||
size = Vector3(6, 4, 15)
|
||||
|
||||
[node name="GhostShip" type="Node3D"]
|
||||
|
||||
@ -18,3 +23,24 @@ environment = ExtResource("1_wwgrl")
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 0)
|
||||
|
||||
[node name="Player" parent="PlayerSpawn" instance=ExtResource("2_0ef5p")]
|
||||
|
||||
[node name="PlayerShipArea" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 8
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerShipArea"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0)
|
||||
shape = SubResource("BoxShape3D_o7mxe")
|
||||
|
||||
[node name="AmbientDrone" type="AudioStreamPlayer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = ExtResource("5_ejh2c")
|
||||
volume_db = -80.0
|
||||
autoplay = true
|
||||
bus = &"Music"
|
||||
script = ExtResource("5_jiowi")
|
||||
base_volume = -18.0
|
||||
|
||||
[connection signal="body_entered" from="PlayerShipArea" to="AmbientDrone" method="_on_player_enters_ship"]
|
||||
[connection signal="body_exited" from="PlayerShipArea" to="AmbientDrone" method="_on_player_exits_ship"]
|
||||
|
@ -6196,6 +6196,7 @@ outline_size = 36
|
||||
|
||||
[node name="GrunkNodule" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.866026, -0.5, 0, 0.5, 0.866026, -2.05, 0.15, -4.5)
|
||||
chitter = true
|
||||
value = 4000.0
|
||||
|
||||
[node name="GrunkNodule2" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
@ -6203,6 +6204,7 @@ transform = Transform3D(0.5, 0, 0, 0, 0.353553, 0.353554, 0, -0.353554, 0.353553
|
||||
|
||||
[node name="GrunkNodule3" parent="Airlock" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.353553, 0.353554, 0, -0.353554, 0.353553, 1.4, 2.65, -4.3)
|
||||
chitter = true
|
||||
|
||||
[node name="OverheadLight" parent="Airlock" instance=ExtResource("39_kp5n7")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3, 0)
|
||||
@ -6293,10 +6295,12 @@ shape = SubResource("ConcavePolygonShape3D_ruwlj")
|
||||
|
||||
[node name="GrunkNodule" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.866025, 0.5, 0, -0.5, 0.866025, 0, 0, 0, 1, -1.35, 0, -1.15)
|
||||
chitter = true
|
||||
value = 4000.0
|
||||
|
||||
[node name="GrunkNodule2" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.519615, 0.3, 0, 2.98023e-08, 2.98023e-08, -0.6, -0.3, 0.519615, 0, -1.35, 0, 0.25)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule3" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.129904, 0.375, -0.45, -0.439868, -0.241946, -0.328601, -0.386835, 0.401045, 0.222535, -1.35, 0.5, -0.25)
|
||||
@ -6307,10 +6311,12 @@ value = 800.0
|
||||
|
||||
[node name="GrunkNodule6" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.109602, 0.109602, 0.268468, 0.219203, -0.219203, 9.58262e-10, 0.189835, 0.189835, -0.155, -1.5, 1.52511, -2.25)
|
||||
chitter = true
|
||||
value = 800.0
|
||||
|
||||
[node name="GrunkNodule5" parent="Corridor1/Hallway2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.0773296, 0.288598, 0.1725, 0.0446463, 0.166622, -0.298779, -0.333244, 0.0892925, -7.54021e-09, -1.5, 1.12511, -1.75)
|
||||
chitter = true
|
||||
value = 800.0
|
||||
|
||||
[node name="FloatingDust" parent="Corridor1/Hallway2" instance=ExtResource("25_6giaa")]
|
||||
@ -6791,6 +6797,7 @@ value = 500.0
|
||||
|
||||
[node name="GrunkNodule7" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.214063, 0.323536, -0.0974745, -0.07312, -0.0683013, -0.387283, -0.329895, 0.225076, 0.0225905, 1.44886, 0.3, 1.41177)
|
||||
chitter = true
|
||||
durability = 1.5
|
||||
value = 500.0
|
||||
|
||||
@ -6812,9 +6819,11 @@ transform = Transform3D(-0.364606, -0.492715, -0.338074, -0.478109, 0.478109, -0
|
||||
|
||||
[node name="GrunkNodule8" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.435211, -0.430994, -0.338873, -0.539981, 0.411872, 0.169653, 0.0949319, 0.366886, -0.588543, -0.507496, 0.6, -2.41218)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule9" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.0703269, 0.693365, 0.0655666, 0.696452, 0.0702819, 0.00378095, -0.00283841, 0.0656149, -0.696912, -1.35603, 0.6, -0.942478)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule10" parent="MessHall/Traps/Trap1" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.0233609, -0.207042, -0.45452, 0.497466, 0.0502018, 0.00270045, 0.0445172, -0.452342, 0.208338, -1.49432, 0.348541, 0.0263252)
|
||||
@ -6824,6 +6833,7 @@ editor_description = "Teach players traps may not always be obvious"
|
||||
|
||||
[node name="GrunkNodule8" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.73038, 0.635646, -0.25, -0.683013, 0.683013, -0.258819, 0.00623576, 0.35979, 0.933013, 2.53411, 0.4, 5.23866)
|
||||
chitter = true
|
||||
|
||||
[node name="GrunkNodule10" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(-0.124128, -0.101968, 0.578096, -0.434356, -0.381517, -0.160559, 0.394876, -0.451716, 0.00511129, 2.23411, 1.3, 4.63866)
|
||||
@ -6839,6 +6849,7 @@ value = 300.0
|
||||
|
||||
[node name="GrunkNodule16" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
transform = Transform3D(0.121483, -0.134858, -0.238862, -0.195351, 0.140856, -0.178879, 0.192561, 0.227976, -0.030777, 1.37645, 1.58525, 4.81688)
|
||||
chitter = true
|
||||
value = 300.0
|
||||
|
||||
[node name="GrunkNodule12" parent="MessHall/Traps/Trap2" instance=ExtResource("19_ji5cn")]
|
||||
|
@ -181,6 +181,7 @@ locale/translations=PackedStringArray("res://assets/text/text.en.translation")
|
||||
3d_physics/layer_1="Physics"
|
||||
3d_physics/layer_2="Interactive"
|
||||
3d_physics/layer_3="Sprayable"
|
||||
3d_physics/layer_4="Player"
|
||||
|
||||
[rendering]
|
||||
|
||||
|
@ -223,6 +223,7 @@ stream_1/stream = ExtResource("29_wcxbk")
|
||||
stream_2/stream = ExtResource("30_p6grl")
|
||||
|
||||
[node name="Player" type="CharacterBody3D"]
|
||||
collision_layer = 9
|
||||
script = ExtResource("1_npueo")
|
||||
|
||||
[node name="CameraPivot" type="Node3D" parent="."]
|
||||
|
@ -3,10 +3,22 @@ extends GunkNode
|
||||
@export var jitter_scale_factor := 0.05
|
||||
@export var jitter_inflation_factor := 1.0
|
||||
|
||||
@export var chitter: bool = false
|
||||
@export var chitter_time_mean := 120.0
|
||||
@export var chitter_time_st_dev := 30.0
|
||||
|
||||
@export var splatter_scene: PackedScene
|
||||
|
||||
@onready var mesh_instance: MeshInstance3D = %MeshInstance3D
|
||||
|
||||
@onready var chitter_sfx: AudioStreamPlayer3D = %ChitterSFX
|
||||
@onready var chitter_timer: Timer = %ChitterTimer
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
if chitter:
|
||||
start_chitter_timer()
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
super._process(delta)
|
||||
@ -21,3 +33,13 @@ func _destroy() -> void:
|
||||
add_sibling(splatter)
|
||||
splatter.global_position = global_position
|
||||
splatter.emitting = true
|
||||
|
||||
|
||||
func start_chitter_timer() -> void:
|
||||
var interval := randfn(chitter_time_mean, chitter_time_st_dev)
|
||||
chitter_timer.start(interval)
|
||||
|
||||
|
||||
func _on_chitter_timer_timeout() -> void:
|
||||
chitter_sfx.play()
|
||||
start_chitter_timer()
|
||||
|
@ -1,8 +1,11 @@
|
||||
[gd_scene load_steps=7 format=4 uid="uid://2yqi5u5eo025"]
|
||||
[gd_scene load_steps=11 format=4 uid="uid://2yqi5u5eo025"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://07t7yhijru8f" path="res://src/world/gunk_node/grunk_nodule.gd" id="1_iyr82"]
|
||||
[ext_resource type="PackedScene" uid="uid://xlt78xc1tmkl" path="res://src/effects/grunk_splatter.tscn" id="2_m8r0a"]
|
||||
[ext_resource type="Material" uid="uid://bmab6i16v748m" path="res://assets/materials/grunk_jittery.material" id="3_eu6j6"]
|
||||
[ext_resource type="AudioStream" uid="uid://b288km80xeh0" path="res://assets/sfx/grunk/groan1.wav" id="4_ri4uq"]
|
||||
[ext_resource type="AudioStream" uid="uid://bujyltdunajj4" path="res://assets/sfx/grunk/groan2.wav" id="5_7fplw"]
|
||||
[ext_resource type="AudioStream" uid="uid://bvtopyke5d17x" path="res://assets/sfx/grunk/groan3.wav" id="6_omayi"]
|
||||
|
||||
[sub_resource type="ArrayMesh" id="ArrayMesh_24j8i"]
|
||||
_surfaces = [{
|
||||
@ -39,6 +42,13 @@ shadow_mesh = SubResource("ArrayMesh_24j8i")
|
||||
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_530fq"]
|
||||
data = PackedVector3Array(0.7236, -0.4472, 0.5257, 0, -1, 0, -0.2764, -0.4472, 0.8506, 0, -1, 0, 0.7236, -0.4472, 0.5257, 0.7236, -0.4472, -0.5257, -0.2764, -0.4472, 0.8506, 0, -1, 0, -0.8944, -0.4472, 0, -0.8944, -0.4472, 0, 0, -1, 0, -0.2764, -0.4472, -0.8506, -0.2764, -0.4472, -0.8506, 0, -1, 0, 0.7236, -0.4472, -0.5257, 0.7236, -0.4472, -0.5257, 0.7236, -0.4472, 0.5257, 0.8944, 0.4472, 0, 0.7236, -0.4472, 0.5257, -0.2764, -0.4472, 0.8506, 0.2764, 0.4472, 0.8506, -0.2764, -0.4472, 0.8506, -0.8944, -0.4472, 0, -0.7236, 0.4472, 0.5257, -0.8944, -0.4472, 0, -0.2764, -0.4472, -0.8506, -0.7236, 0.4472, -0.5257, -0.2764, -0.4472, -0.8506, 0.7236, -0.4472, -0.5257, 0.2764, 0.4472, -0.8506, 0.8944, 0.4472, 0, 0.7236, -0.4472, 0.5257, 0.2764, 0.4472, 0.8506, 0.2764, 0.4472, 0.8506, -0.2764, -0.4472, 0.8506, -0.7236, 0.4472, 0.5257, -0.7236, 0.4472, 0.5257, -0.8944, -0.4472, 0, -0.7236, 0.4472, -0.5257, -0.7236, 0.4472, -0.5257, -0.2764, -0.4472, -0.8506, 0.2764, 0.4472, -0.8506, 0.2764, 0.4472, -0.8506, 0.7236, -0.4472, -0.5257, 0.8944, 0.4472, 0, 0.8944, 0.4472, 0, 0.2764, 0.4472, 0.8506, 0, 1, 0, 0.2764, 0.4472, 0.8506, -0.7236, 0.4472, 0.5257, 0, 1, 0, -0.7236, 0.4472, 0.5257, -0.7236, 0.4472, -0.5257, 0, 1, 0, -0.7236, 0.4472, -0.5257, 0.2764, 0.4472, -0.8506, 0, 1, 0, 0.2764, 0.4472, -0.8506, 0.8944, 0.4472, 0, 0, 1, 0)
|
||||
|
||||
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_yg8lg"]
|
||||
random_pitch = 1.1
|
||||
streams_count = 3
|
||||
stream_0/stream = ExtResource("4_ri4uq")
|
||||
stream_1/stream = ExtResource("5_7fplw")
|
||||
stream_2/stream = ExtResource("6_omayi")
|
||||
|
||||
[node name="GrunkNodule" type="StaticBody3D"]
|
||||
collision_layer = 5
|
||||
script = ExtResource("1_iyr82")
|
||||
@ -52,3 +62,15 @@ mesh = SubResource("ArrayMesh_iyr82")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("ConcavePolygonShape3D_530fq")
|
||||
|
||||
[node name="ChitterSFX" type="AudioStreamPlayer3D" parent="."]
|
||||
unique_name_in_owner = true
|
||||
stream = SubResource("AudioStreamRandomizer_yg8lg")
|
||||
volume_db = -20.0
|
||||
bus = &"SFX"
|
||||
|
||||
[node name="ChitterTimer" type="Timer" parent="."]
|
||||
unique_name_in_owner = true
|
||||
one_shot = true
|
||||
|
||||
[connection signal="timeout" from="ChitterTimer" to="." method="_on_chitter_timer_timeout"]
|
||||
|
@ -48,6 +48,9 @@
|
||||
- [ ] SFX:
|
||||
- [ ] ui bonk
|
||||
- [ ] prop clear glitter
|
||||
- [ ] computer bleep on reload
|
||||
- [ ] grunk tank deposit schlorp
|
||||
- [ ] player ship door
|
||||
- [x] metal footsteps
|
||||
- [x] plastic footsteps
|
||||
- [x] grunk footsteps
|
||||
|
@ -30,3 +30,13 @@
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Nox_Sound/sounds/530588/
|
||||
- assets/sfx/footsteps/plastic/plastic*.wav
|
||||
- "Metal creak.wav"
|
||||
- author: sophiehall3535
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/sophiehall3535/sounds/245945/
|
||||
- assets/sfx/ambient/metal_creak_1.wav
|
||||
- "Drone Loop (Fixed)"
|
||||
- author: Fission9
|
||||
- CC0
|
||||
- retrieved from https://freesound.org/people/Fission9/sounds/567220/
|
||||
- assets/sfx/ambient/drone_loop.wav
|
Loading…
x
Reference in New Issue
Block a user