From 1ce26076029338d8ece69be5b82a567efc8ca97e Mon Sep 17 00:00:00 2001 From: Syntriax Date: Sat, 26 Feb 2022 18:46:49 +0300 Subject: [PATCH] Projectile Hit Sound Added --- Assets/Audio/Audio Mixer.mixer | 39 ++++++- .../Sound Effects/Projectile Hit.bfxrsound | 1 + .../Projectile Hit.bfxrsound.meta | 7 ++ Assets/Audio/Sound Effects/Projectile Hit.wav | Bin 0 -> 22110 bytes .../Sound Effects/Projectile Hit.wav.meta | 22 ++++ .../Projectiles/Basic Projectile.prefab | 98 +++++++++++++++++- Assets/Scripts/AI/Projectile.cs | 11 +- Assets/Scripts/AI/ProjectilePool.cs | 6 +- 8 files changed, 175 insertions(+), 9 deletions(-) create mode 100644 Assets/Audio/Sound Effects/Projectile Hit.bfxrsound create mode 100644 Assets/Audio/Sound Effects/Projectile Hit.bfxrsound.meta create mode 100644 Assets/Audio/Sound Effects/Projectile Hit.wav create mode 100644 Assets/Audio/Sound Effects/Projectile Hit.wav.meta diff --git a/Assets/Audio/Audio Mixer.mixer b/Assets/Audio/Audio Mixer.mixer index 1e93457..4033f3b 100644 --- a/Assets/Audio/Audio Mixer.mixer +++ b/Assets/Audio/Audio Mixer.mixer @@ -61,6 +61,39 @@ AudioMixerGroupController: m_Mute: 0 m_Solo: 0 m_BypassEffects: 0 +--- !u!244 &-671410346139079125 +AudioMixerEffectController: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_EffectID: 34608f7a4d3499e4bb4747a42c281232 + m_EffectName: Attenuation + m_MixLevel: 2dc88c31b1b16cf4a91c0e7082919ee3 + m_Parameters: [] + m_SendTarget: {fileID: 0} + m_EnableWetMix: 0 + m_Bypass: 0 +--- !u!243 &-329335723480019797 +AudioMixerGroupController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Projectile Hit + m_AudioMixer: {fileID: 24100000} + m_GroupID: dd1cda19a45ef294d8789a2af47afcf7 + m_Children: [] + m_Volume: 2cd261abac4698e4698da002d6c5a44a + m_Pitch: 1c7ec7a4f840018488827068ccd5f583 + m_Send: 00000000000000000000000000000000 + m_Effects: + - {fileID: -671410346139079125} + m_UserColorIndex: 0 + m_Mute: 0 + m_Solo: 0 + m_BypassEffects: 0 --- !u!241 &24100000 AudioMixerController: m_ObjectHideFlags: 0 @@ -84,6 +117,7 @@ AudioMixerController: - aec3f58549ce7b4478c453c40c434318 - 88391c573bd80364c916040d855538c8 - 08116dbf9979b7b4d8fcce772ec5ebfc + - dd1cda19a45ef294d8789a2af47afcf7 name: View m_CurrentViewIndex: 0 m_TargetSnapshot: {fileID: 24500006} @@ -174,10 +208,11 @@ AudioMixerGroupController: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: Projectile + m_Name: Projectile Shot m_AudioMixer: {fileID: 24100000} m_GroupID: 88391c573bd80364c916040d855538c8 - m_Children: [] + m_Children: + - {fileID: -329335723480019797} m_Volume: 2c4223d0669e7fa4a9bcd208d65d7586 m_Pitch: 204d50d8b21017e41b743bceefd553b6 m_Send: 00000000000000000000000000000000 diff --git a/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound b/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound new file mode 100644 index 0000000..bfc472c --- /dev/null +++ b/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound @@ -0,0 +1 @@ +3,0.5,,0.2297,0.6172,0.1934,0.3,0.0275,,0.1354,,,,,,,,,,,,,,,,1,,,,,,,masterVolume \ No newline at end of file diff --git a/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound.meta b/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound.meta new file mode 100644 index 0000000..ac9cb6f --- /dev/null +++ b/Assets/Audio/Sound Effects/Projectile Hit.bfxrsound.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4aa857170acca284b9ce4bc83d44dd99 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Audio/Sound Effects/Projectile Hit.wav b/Assets/Audio/Sound Effects/Projectile Hit.wav new file mode 100644 index 0000000000000000000000000000000000000000..d917e7fa18a16e1eb59e182176bfedd908d2675b GIT binary patch literal 22110 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 Pz?&U-vjhL1ci{g3D|ul2 literal 0 HcmV?d00001 diff --git a/Assets/Audio/Sound Effects/Projectile Hit.wav.meta b/Assets/Audio/Sound Effects/Projectile Hit.wav.meta new file mode 100644 index 0000000..4cff908 --- /dev/null +++ b/Assets/Audio/Sound Effects/Projectile Hit.wav.meta @@ -0,0 +1,22 @@ +fileFormatVersion: 2 +guid: 59d0430fe628a2a4da8634f4c1e01c9b +AudioImporter: + externalObjects: {} + serializedVersion: 6 + defaultSettings: + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + preloadAudioData: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Projectiles/Basic Projectile.prefab b/Assets/Resources/Projectiles/Basic Projectile.prefab index 6fdd225..f482768 100644 --- a/Assets/Resources/Projectiles/Basic Projectile.prefab +++ b/Assets/Resources/Projectiles/Basic Projectile.prefab @@ -14,6 +14,7 @@ GameObject: - component: {fileID: 5084819958108693599} - component: {fileID: 6837629660644296000} - component: {fileID: 2154021251853475818} + - component: {fileID: 4197101675176415021} m_Layer: 9 m_Name: Basic Projectile m_TagString: Untagged @@ -137,7 +138,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1451960c367cc30478631b32ba4f8356, type: 3} m_Name: m_EditorClassIdentifier: - damageOnContact: 50 --- !u!95 &2154021251853475818 Animator: serializedVersion: 4 @@ -158,3 +158,99 @@ Animator: m_HasTransformHierarchy: 1 m_AllowConstantClipSamplingOptimization: 1 m_KeepAnimatorControllerStateOnDisable: 0 +--- !u!82 &4197101675176415021 +AudioSource: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2196707779812385060} + m_Enabled: 1 + serializedVersion: 4 + OutputAudioMixerGroup: {fileID: -329335723480019797, guid: 55dad93ba7816e44c83798006fa0a277, type: 2} + m_audioClip: {fileID: 8300000, guid: 59d0430fe628a2a4da8634f4c1e01c9b, type: 3} + m_PlayOnAwake: 0 + m_Volume: 1 + m_Pitch: 1 + Loop: 0 + Mute: 0 + Spatialize: 0 + SpatializePostEffects: 0 + Priority: 128 + DopplerLevel: 1 + MinDistance: 1 + MaxDistance: 500 + Pan2D: 0 + rolloffMode: 0 + BypassEffects: 0 + BypassListenerEffects: 0 + BypassReverbZones: 0 + rolloffCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + - serializedVersion: 3 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + panLevelCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + spreadCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + reverbZoneMixCustomCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0.33333334 + outWeight: 0.33333334 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 diff --git a/Assets/Scripts/AI/Projectile.cs b/Assets/Scripts/AI/Projectile.cs index 23fea04..02508da 100644 --- a/Assets/Scripts/AI/Projectile.cs +++ b/Assets/Scripts/AI/Projectile.cs @@ -6,21 +6,24 @@ namespace AI [RequireComponent(typeof(Rigidbody2D))] public class Projectile : MonoBehaviour, IPausable { - private Rigidbody2D _rigidbody = null; + public Rigidbody2D Rigidbody { get; private set; } = null; + private AudioSource audioSource = null; private void Awake() { - _rigidbody = GetComponent(); + Rigidbody = GetComponent(); + audioSource = GetComponent(); } public void SetVelocity(Vector2 velocity) { - _rigidbody.velocity = velocity; + Rigidbody.velocity = velocity; } private void OnCollisionEnter2D(Collision2D other) { ProjectilePool.Instance.Return(this); + audioSource.Play(); if (other.transform.CompareTag("Player")) other.gameObject.GetComponent().Die(); @@ -41,7 +44,7 @@ namespace AI private void UpdateRigidbody() { - _rigidbody.simulated = !IsPaused; + Rigidbody.simulated = !IsPaused; } } } diff --git a/Assets/Scripts/AI/ProjectilePool.cs b/Assets/Scripts/AI/ProjectilePool.cs index 500fc7b..35b95e1 100644 --- a/Assets/Scripts/AI/ProjectilePool.cs +++ b/Assets/Scripts/AI/ProjectilePool.cs @@ -42,14 +42,16 @@ namespace AI if (projectile == null) projectile = Instantiate(prefab).GetComponent(); - projectile.gameObject.SetActive(true); + projectile.transform.position = Vector3.left * 10000; + projectile.Rigidbody.simulated = true; return projectile; } public void Return(Projectile projectile) { - projectile.gameObject.SetActive(false); + projectile.Rigidbody.simulated = false; + projectile.transform.position = Vector3.right * 10000; pool.Push(projectile); } }