AudioManager 16채널 -> 32채널

+ Sfx 대거 투입
This commit is contained in:
Nam Tae Gun 2024-06-25 00:05:05 +09:00
parent 6e53b41cea
commit 0a5785e0eb
33 changed files with 180 additions and 113 deletions

View File

@ -1,4 +1,7 @@
using Sirenix.OdinInspector;
using System.Collections;
using System.Collections.Generic;
using BlueWater.Audios;
using Sirenix.OdinInspector;
using UnityEngine;
namespace BlueWater.Enemies.Bosses.SandMole
@ -22,7 +25,17 @@ namespace BlueWater.Enemies.Bosses.SandMole
// Initialize methods
#region Initialize methods
public override async void Initialize()
public override void Initialize()
{
StartCoroutine(InitializeCoroutine());
}
#endregion
// Methods
#region Methods
private IEnumerator InitializeCoroutine()
{
HitBoxCollider.enabled = false;
BossHealthPoint.Initialize(false, BossData.MaxHealthPoint,
@ -36,28 +49,37 @@ namespace BlueWater.Enemies.Bosses.SandMole
var elapsedTime = 0f;
while (elapsedTime <= _spawnDissolveTime)
{
if (CurrentHealthPoint == 0) yield break;
var value = Mathf.Lerp(0f, 1f, elapsedTime / _spawnDissolveTime);
MaterialPropertyBlock.SetFloat(_dissolveValueHash, value);
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
elapsedTime += Time.deltaTime;
await Awaitable.NextFrameAsync();
yield return null;
}
MaterialPropertyBlock.SetFloat(_dissolveValueHash, 1f);
MeshRenderer.SetPropertyBlock(MaterialPropertyBlock);
SpineController.SetSkin(SandMoleSkin.Normal.ToString());
var isRoar = false;
var roarTrack = SpineController.PlayAnimation(SandMoleAnimation.Roar.ToString(), false);
while (!roarTrack.IsComplete)
{
if (CurrentHealthPoint == 0) yield break;
if (roarTrack.TrackTime >= 1f && !isRoar)
{
AudioManager.Instance.PlaySfx("MiniSandMoleCry");
isRoar = true;
}
yield return null;
}
await SpineController.WaitForAnimationCompletion(roarTrack);
BehaviorTree.EnableBehavior();
HitBoxCollider.enabled = true;
}
#endregion
// Methods
#region Methods
protected override async void Die()
{
BossSkillController.StopAllCoroutine();

View File

@ -1,6 +1,7 @@
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Audios;
using BlueWater.Items;
using BlueWater.Maps;
using Sirenix.OdinInspector;
@ -119,6 +120,7 @@ namespace BlueWater.Enemies.Bosses.SandMole
if (roarTrack.TrackTime >= 1f && !isCameraShakeActive)
{
AudioManager.Instance.PlaySfx("SandMoleCry");
VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera, 2f, 1f);
isCameraShakeActive = true;
}

View File

@ -1,3 +1,4 @@
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Players;
using BlueWater.Utility;
@ -42,6 +43,7 @@ namespace BlueWater.Enemies.Bosses.SandMole
public void Stun(float duration)
{
AudioManager.Instance.PlaySfx("SandMoleStunned");
_spineController.SetSkin(SandMoleSkin.Normal.ToString());
_spineController.PlayAnimation(SandMoleAnimation.Stun.ToString(), false);
IsStunned = true;

View File

@ -169,7 +169,7 @@ namespace BlueWater.Players.Combat
IsMoving = false;
}
var isAttacking = _comboAttackable?.CurrentComboAttackCount > 0;
return !isActivatingSkill && !isStunned && !isAttacking;
}

View File

@ -120,6 +120,7 @@ namespace BlueWater.Maps
protected virtual IEnumerator ClearMapCoroutine(GameObject bossObject)
{
AudioManager.Instance.PlaySfx("Shining");
GameManager.Instance.CurrentCombatPlayer.ActivateInvincibility();
VisualFeedbackManager.Instance.SetBaseTimeScale(0.1f);
CombatUiManager.Instance.FadeInOut(ClearFadeInOutTime.x, ClearFadeInOutTime.y);

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Players;
using BlueWater.Utility;
using Sirenix.OdinInspector;
@ -69,6 +70,7 @@ namespace BlueWater.Maps
private IEnumerator BossMapTriggerCoroutine()
{
AudioManager.Instance.PlaySfx("Shining");
var animationTrack = _spineController.PlayAnimation( BossMapTriggerAnimation.Hold.ToString(), false);
if (animationTrack == null)
{

View File

@ -1,4 +1,5 @@
using System;
using BlueWater.Audios;
using BlueWater.Interfaces;
using Sirenix.OdinInspector;
using UnityEngine;
@ -43,6 +44,10 @@ namespace BlueWater
[SerializeField, ShowIf("@_useAutoDestroy")]
private float _autoDestroyTime = 10f;
[SerializeField]
private string _awakeSfxName;
public float SphereRadius { get; private set; }
private float _detectionDistance;
@ -63,6 +68,11 @@ namespace BlueWater
private void Start()
{
if (!string.IsNullOrEmpty(_awakeSfxName))
{
AudioManager.Instance.PlaySfx(_awakeSfxName);
}
SphereRadius = _sphereCollider ? _sphereCollider.radius : _colliderRadius;
_hitColliders = new Collider[1];

View File

@ -37,3 +37,19 @@ MonoBehaviour:
<Clip>k__BackingField: {fileID: 8300000, guid: 33b70dfe29fa0e74c98f7799d8778a16, type: 3}
- <SfxName>k__BackingField: GetItem
<Clip>k__BackingField: {fileID: 8300000, guid: de54536a55703434b8ad53b9a7da3d35, type: 3}
- <SfxName>k__BackingField: Shining
<Clip>k__BackingField: {fileID: 8300000, guid: 916b477636e0e544daf41db98f09e3ce, type: 3}
- <SfxName>k__BackingField: SandMoleCry
<Clip>k__BackingField: {fileID: 8300000, guid: fe650001176ef0b46910e6c831e7a232, type: 3}
- <SfxName>k__BackingField: MiniSandMoleCry
<Clip>k__BackingField: {fileID: 8300000, guid: 57e09a61748af294aa6010c75327d90e, type: 3}
- <SfxName>k__BackingField: SandMoleStunned
<Clip>k__BackingField: {fileID: 8300000, guid: 47e3d7492b6075a41b87468bf9801fcf, type: 3}
- <SfxName>k__BackingField: SandMoleRoll
<Clip>k__BackingField: {fileID: 8300000, guid: b957166fc81b93c4f911b3b1dab9abd6, type: 3}
- <SfxName>k__BackingField: SandMoleSpikeBarrage
<Clip>k__BackingField: {fileID: 8300000, guid: 080b4e76403b9d34781e34993de1f81b, type: 3}
- <SfxName>k__BackingField: ThrowSpike
<Clip>k__BackingField: {fileID: 8300000, guid: d68e2e1d81cf45a4e818074955493b57, type: 3}
- <SfxName>k__BackingField: SpikeAttacked
<Clip>k__BackingField: {fileID: 8300000, guid: 7e5c81f4703b8cf4c89b143917577923, type: 3}

View File

@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Players;
@ -53,6 +54,10 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
yield return new WaitUntil(() => roarTrack.IsComplete);
AudioManager.Instance.PlaySfx("ThrowSpike");
AudioManager.Instance.PlaySfx("ThrowSpike");
AudioManager.Instance.PlaySfx("ThrowSpike");
_spineController.SetSkin(SandMoleSkin.Normal.ToString());
_spineController.PlayAnimation(SandMoleAnimation.Idle.ToString(), true);

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Players;
@ -67,6 +68,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
yield break;
}
AudioManager.Instance.PlaySfx("SandMoleRoll");
yield return new WaitUntil(() => spinReady2Track.IsComplete);
_spineController.SetSkin(SandMoleSkin.Spin.ToString());
@ -142,6 +144,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
var hitCollider = HitColliders[i];
if (hitCollider.CompareTag("Wall"))
{
AudioManager.Instance.PlaySfx("JumpSlamDown");
VisualFeedbackManager.Instance.CameraShake(CombatCameraManager.Instance.BaseCombatCamera,
_singleRollData.CameraShakingPower, _singleRollData.CameraShakingDuration);
var forceDirection = -targetDirection + Vector3.up * _singleRollData.AirJumpForce;
@ -177,7 +180,7 @@ namespace BlueWater.Enemies.Bosses.SandMole.Skills
if (_singleRollData.RockfallPrefab)
{
var rockfallCount = (int)(targetDistance / _singleRollData.RockfallInterval);
for (var i = 2; i < rockfallCount; i++)
for (var i = 3; i < rockfallCount; i++)
{
if (!SkillUser)
{

View File

@ -1,5 +1,6 @@
using System;
using System.Collections;
using BlueWater.Audios;
using BlueWater.Interfaces;
using BlueWater.Maps;
using BlueWater.Players;

View File

@ -199,6 +199,10 @@ PrefabInstance:
propertyPath: _renderer
value:
objectReference: {fileID: 8739437251540422414}
- target: {fileID: 6377054450616127915, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: _dieSfxName
value: MiniSandMoleCry
objectReference: {fileID: 0}
- target: {fileID: 7170637981020870835, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: m_Name
value: MiniSandMole

View File

@ -114,7 +114,7 @@ PrefabInstance:
- target: {fileID: 3216521486739552858, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: d9ca9344cd131c049810707093126ca7, type: 2}
objectReference: {fileID: 2100000, guid: cd85759cb00b35c4b9d52d8814bf680b, type: 2}
- target: {fileID: 4172430046422716170, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: customSlotMaterials.Array.size
value: 1
@ -207,6 +207,10 @@ PrefabInstance:
propertyPath: _renderer
value:
objectReference: {fileID: 8739437251540422414}
- target: {fileID: 6377054450616127915, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: _dieSfxName
value: SandMoleCry
objectReference: {fileID: 0}
- target: {fileID: 7170637981020870835, guid: 5c2f67e75ea578f478f4a2f61f6acfca, type: 3}
propertyPath: m_Name
value: SandMole

View File

@ -47,7 +47,7 @@ MonoBehaviour:
_persistent: 1
bgmDataSo: {fileID: 11400000, guid: f5c890c4ba0370e4e9226493ad883bb7, type: 2}
sfxDataSo: {fileID: 11400000, guid: 9adcc081767771e4098f523ee1fffa07, type: 2}
sfxChannelCount: 16
sfxChannelCount: 32
audioMixer: {fileID: 24100000, guid: ae14a59e484da75438db3648143481f0, type: 2}
masterMixerGroup: {fileID: 24300002, guid: ae14a59e484da75438db3648143481f0, type: 2}
bgmMixerGroup: {fileID: 2675715275340035989, guid: ae14a59e484da75438db3648143481f0, type: 2}

View File

@ -106,3 +106,4 @@ MonoBehaviour:
m_Bits: 2432
_useAutoDestroy: 1
_autoDestroyTime: 10
_awakeSfxName: ThrowSpike

View File

@ -14415,7 +14415,6 @@ GameObject:
- component: {fileID: 32251738312703202}
- component: {fileID: 3849117435544700283}
- component: {fileID: 1200075073539180657}
- component: {fileID: 3273021573205335884}
m_Layer: 0
m_Name: SpikeProjectileParticle2
m_TagString: Untagged
@ -19190,100 +19189,3 @@ ParticleSystemRenderer:
m_MeshWeighting2: 1
m_MeshWeighting3: 1
m_MaskInteraction: 0
--- !u!82 &3273021573205335884
AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8140003656796606540}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: -2540351765735581840, guid: ae14a59e484da75438db3648143481f0, type: 2}
m_audioClip: {fileID: 8300000, guid: 31d4354cef3a92a4481b8c1464e22afd, type: 3}
m_Resource: {fileID: 8300000, guid: 31d4354cef3a92a4481b8c1464e22afd, type: 3}
m_PlayOnAwake: 1
m_Volume: 0.4
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: 0
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: 0
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: 0

View File

@ -199,8 +199,8 @@ MonoBehaviour:
<MaxHealthPoint>k__BackingField: 1
<CurrentHealthPoint>k__BackingField: 0
<InvincibilityDuration>k__BackingField: 0
_dieSfxName:
_dieParticle: {fileID: 19826678, guid: 660dfd0ccf26cbf489a7556236949683, type: 3}
DieSfxName: SpikeAttacked
DieParticle: {fileID: 0}
_sphereCollider: {fileID: 2971964863692897937}
_indicator: {fileID: 6370181286260610806}
_isUsingIndicator: 1

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 57e09a61748af294aa6010c75327d90e
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: fe650001176ef0b46910e6c831e7a232
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 47e3d7492b6075a41b87468bf9801fcf
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: d68e2e1d81cf45a4e818074955493b57
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant: