From 7b04a411778b93a0822453ed84fea83da3667659 Mon Sep 17 00:00:00 2001 From: hut Date: Sun, 31 Mar 2024 01:07:35 +0100 Subject: [PATCH] add reaction wheel sound --- README.md | 1 + assets/sounds/electricmotor.ogg | Bin 0 -> 66476 bytes src/audio.rs | 16 +++++++++++++++- src/camera.rs | 22 ++++++++++++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 assets/sounds/electricmotor.ogg diff --git a/README.md b/README.md index 1e6349e..2875477 100644 --- a/README.md +++ b/README.md @@ -125,6 +125,7 @@ cargo run --release - https://pixabay.com/sound-effects/ducati-696-monster-33217 - https://pixabay.com/sound-effects/high-energy-humming-195612 - https://pixabay.com/sound-effects/box-crash-106687 +- https://pixabay.com/sound-effects/electric-fan-motor-blades-removed-13169 - Music: [Dead Space Style Ambient Music](https://pixabay.com/music/ambient-dead-space-style-ambient-music-184793) by [Sharvarian](https://www.fiverr.com/sharvarian) - Star chart based on the [HYG Stellar database](https://github.com/astronexus/HYG-Database) - Custom font Yupiter is based on: diff --git a/assets/sounds/electricmotor.ogg b/assets/sounds/electricmotor.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bf4a84fdbe4b5cc504d3a8cb727e6a5886cf38d2 GIT binary patch literal 66476 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 HNA-UI&)T~7 literal 0 HcmV?d00001 diff --git a/src/audio.rs b/src/audio.rs index f3bb309..d09c0a0 100644 --- a/src/audio.rs +++ b/src/audio.rs @@ -1,5 +1,5 @@ use bevy::prelude::*; -use bevy::audio::PlaybackMode; +use bevy::audio::{PlaybackMode, Volume}; use crate::settings; const ASSET_CLICK: &str = "sounds/click-button-140881-crop.ogg"; @@ -14,6 +14,7 @@ const ASSET_ION: &str = "sounds/ion.ogg"; //const ASSET_WAKEUP: &str = "sounds/wakeup.ogg"; const ASSET_BIKESTART: &str = "sounds/bikestart.ogg"; const ASSET_CRASH: &str = "sounds/crash.ogg"; +const ASSET_ELECTRICMOTOR: &str = "sounds/electricmotor.ogg"; pub struct AudioPlugin; impl Plugin for AudioPlugin { @@ -44,6 +45,7 @@ pub enum Sfx { #[derive(Component)] pub struct ComponentThrusterSound; #[derive(Component)] pub struct ComponentRocketSound; #[derive(Component)] pub struct ComponentIonSound; +#[derive(Component)] pub struct ComponentElectricMotorSound; #[derive(Component)] struct SoundBGM(Handle); #[derive(Resource)] pub struct SoundClick(Handle); #[derive(Resource)] pub struct SoundSwitch(Handle); @@ -110,6 +112,18 @@ pub fn setup( }, }, )); + commands.spawn(( + ComponentElectricMotorSound, + AudioBundle { + source: asset_server.load(ASSET_ELECTRICMOTOR), + settings: PlaybackSettings { + mode: PlaybackMode::Loop, + volume: Volume::new(0.5), + paused: true, + ..default() + }, + }, + )); commands.insert_resource(SoundClick(asset_server.load(ASSET_CLICK))); commands.insert_resource(SoundSwitch(asset_server.load(ASSET_SWITCH))); commands.insert_resource(SoundIncomingMessage(asset_server.load(ASSET_INCOMING_MESSAGE))); diff --git a/src/camera.rs b/src/camera.rs index b798f2a..ecd8e3e 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -129,6 +129,7 @@ fn apply_input_to_player( thruster_sound_controller: Query<&AudioSink, With>, rocket_sound_controller: Query<&AudioSink, With>, ion_sound_controller: Query<&AudioSink, With>, + electricmotor_sound_controller: Query<&AudioSink, With>, mut q_playercam: Query<( &mut Transform, &mut actor::Engine, @@ -227,6 +228,7 @@ fn apply_input_to_player( } // Handle mouse input and mouse-like key bindings + let mut play_reactionwheel_sound = false; let mut mouse_delta = Vec2::ZERO; let mut pitch_yaw_rot = Vec3::ZERO; let mouseless_sensitivity = 8.0; @@ -260,12 +262,32 @@ fn apply_input_to_player( } } if pitch_yaw_rot.length_squared() > 0.0001 { + play_reactionwheel_sound = true; pitch_yaw_rot *= RADIANS_PER_DOT * settings.mouse_sensitivity; player_transform.rotation *= Quat::from_euler(EulerRot::ZYX, pitch_yaw_rot[2], pitch_yaw_rot[1], pitch_yaw_rot[0]).normalize(); } // Play sound effects + if let Ok(sink) = electricmotor_sound_controller.get_single() { + let volume = sink.volume(); + let max = (pitch_yaw_rot.length() * 10.0).clamp(0.2, 1.0); + let max_speed = 1.0; + let rise = 0.07; + let fall = 0.15; + if play_reactionwheel_sound { + sink.set_volume((volume + rise).clamp(0.0, max)); + sink.set_speed((volume + rise).clamp(0.2, max * max_speed)); + sink.play() + } else { + if volume <= 0.01 { + sink.pause() + } else { + sink.set_volume((volume - fall).clamp(0.0, max)); + sink.set_speed((volume - fall).clamp(0.2, max * max_speed)); + } + } + } if let Ok(sink) = thruster_sound_controller.get_single() { if play_thruster_sound && engine.engine_type == actor::EngineType::Monopropellant { sink.play()