From 33e356f6787a5a1b5b3129be9c71059d9a3210e0 Mon Sep 17 00:00:00 2001 From: fiore Date: Mon, 12 May 2025 14:23:23 +0900 Subject: [PATCH 1/3] =?UTF-8?q?[fix]=20=EC=A7=80=EB=A9=B4=20=EB=86=92?= =?UTF-8?q?=EC=9D=B4=EC=97=90=20=EC=83=81=EA=B4=80=20=EC=97=86=EC=9D=B4=20?= =?UTF-8?q?=ED=83=80=EA=B2=9F=EC=9D=98=20pos=EB=A5=BC=20=EC=B6=94=EC=A0=81?= =?UTF-8?q?=ED=95=98=EC=97=AC=20=EC=9E=A5=ED=8C=90=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 장판 y 포지션 동적 할당 - 몬스터 SFX 할당 위치 추가 --- .../Character/Enemy/CasterDemonController.cs | 13 ++++++++++++- Assets/Scripts/Character/Enemy/PldDogController.cs | 10 +++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/Character/Enemy/CasterDemonController.cs b/Assets/Scripts/Character/Enemy/CasterDemonController.cs index 0d463713..ee71c155 100644 --- a/Assets/Scripts/Character/Enemy/CasterDemonController.cs +++ b/Assets/Scripts/Character/Enemy/CasterDemonController.cs @@ -5,6 +5,8 @@ using Random = UnityEngine.Random; public class CasterDemonController : EnemyController { + + // Animation public static readonly int Cast = Animator.StringToHash("Cast"); public static readonly int Flee = Animator.StringToHash("Flee"); @@ -25,6 +27,15 @@ public class CasterDemonController : EnemyController [SerializeField] private GameObject slowFieldWarning; [SerializeField] private GameObject slowFieldEffect; [SerializeField] private GameObject knockbackEffect; + + // SFX + [Space(10)] + [Header("SFX")] + [SerializeField] private AudioClip magicMissileShotSound; + [SerializeField] private AudioClip teleportSound; + [SerializeField] private AudioClip spinSound; + [SerializeField] private AudioClip circleMagicSound; + private float _knockbackTimer = 10f; private const float KnockBackThresholdTime = 10f; @@ -272,7 +283,7 @@ public class CasterDemonController : EnemyController SetAnimation(Cast); // 2. 장판 생성과 세팅 - var fixedPos = new Vector3(aimPosition.x, 0, aimPosition.z); + var fixedPos = new Vector3(aimPosition.x, aimPosition.y, aimPosition.z); var warning = Instantiate(chariotWarning, fixedPos, Quaternion.identity).GetComponent(); warning.SetEffect(SlowFieldEffectData, null, null); diff --git a/Assets/Scripts/Character/Enemy/PldDogController.cs b/Assets/Scripts/Character/Enemy/PldDogController.cs index c6cb613b..46887aee 100644 --- a/Assets/Scripts/Character/Enemy/PldDogController.cs +++ b/Assets/Scripts/Character/Enemy/PldDogController.cs @@ -37,6 +37,14 @@ public class PldDogController : EnemyController [SerializeField] private GameObject horizontalWarning; [SerializeField] private GameObject horizontalSlash; + // SFX + [Space(10)] + [Header("SFX")] + [SerializeField] private AudioClip circleSlashSound; + [SerializeField] private AudioClip boomSound; + [SerializeField] private AudioClip verticalSlashSound; + [SerializeField] private AudioClip horizontalSlashSound; + private float _patternTimer = 0f; private int _lastPatternIndex = -1; private bool _isPatternRunning = false; @@ -116,7 +124,7 @@ public class PldDogController : EnemyController for (int i = 0; i < bombCount; i++) { Vector3 targetPos = TraceTargetTransform.position; - targetPos.y = 0.1f; // 지면에 맞춤 + targetPos.y += 0.1f; // 지면에 맞춤 var warning = Instantiate(chariotSlashWarning, targetPos, Quaternion.identity); warning.transform.localScale = bombScale; From 7ed35864cba36bc5f238d4788708ccd7e0359a9f Mon Sep 17 00:00:00 2001 From: fiore Date: Mon, 12 May 2025 14:33:50 +0900 Subject: [PATCH 2/3] =?UTF-8?q?[feat]=20=ED=8C=94=EB=9D=BC=EB=94=98=20SFX?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 폭탄 던지는 소리 - 칼 휘두르는 소리 재생 추가 --- Assets/JYY/Prefabs/[Enemy] PldDog.prefab | 4 ++-- Assets/Scripts/Character/Enemy/PldDogController.cs | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab index b2d1de00..ad3a9658 100644 --- a/Assets/JYY/Prefabs/[Enemy] PldDog.prefab +++ b/Assets/JYY/Prefabs/[Enemy] PldDog.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22f129e140abd83f728a5f0969096e33d97c3e7cff3792f89cdff6941a978614 -size 85334 +oid sha256:b3979bc3cf2d88b66c8280a3d087416a3a0904f0bb4308f78f15e8575b607dea +size 85495 diff --git a/Assets/Scripts/Character/Enemy/PldDogController.cs b/Assets/Scripts/Character/Enemy/PldDogController.cs index 46887aee..21ea3aae 100644 --- a/Assets/Scripts/Character/Enemy/PldDogController.cs +++ b/Assets/Scripts/Character/Enemy/PldDogController.cs @@ -40,10 +40,8 @@ public class PldDogController : EnemyController // SFX [Space(10)] [Header("SFX")] - [SerializeField] private AudioClip circleSlashSound; + [SerializeField] private AudioClip slashSound; [SerializeField] private AudioClip boomSound; - [SerializeField] private AudioClip verticalSlashSound; - [SerializeField] private AudioClip horizontalSlashSound; private float _patternTimer = 0f; private int _lastPatternIndex = -1; @@ -118,6 +116,7 @@ public class PldDogController : EnemyController { Debug.Log("BombThrowPattern: 보스가 폭탄을 던집니다."); SetAnimation(BoomShot); + SoundManager.Instance.PlaySFX(boomSound); _isPatternRunning = true; Agent.isStopped = true; @@ -211,6 +210,7 @@ public class PldDogController : EnemyController private void SlashAnimationPlay() { SetAnimation(Slash); + SoundManager.Instance.PlaySFX(slashSound); } private void PatternClear() From 34f63352e2a04655f4acfb70981508ce0c2cf7a7 Mon Sep 17 00:00:00 2001 From: fiore Date: Mon, 12 May 2025 14:44:11 +0900 Subject: [PATCH 3/3] =?UTF-8?q?[feat]=20=EB=A7=88=EB=B2=95=EC=82=AC=20?= =?UTF-8?q?=EB=AA=AC=EC=8A=A4=ED=84=B0=20SFX=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Work in JIRA ISSUE DEG-56 --- Assets/JYY/Prefabs/Alien Big Blink.prefab | 4 ++-- .../Scripts/Character/Enemy/CasterDemonController.cs | 12 ++++++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Assets/JYY/Prefabs/Alien Big Blink.prefab b/Assets/JYY/Prefabs/Alien Big Blink.prefab index 53eb6afe..abcf6a68 100644 --- a/Assets/JYY/Prefabs/Alien Big Blink.prefab +++ b/Assets/JYY/Prefabs/Alien Big Blink.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:afad2ff2a12577195385ab265a04eebb89b4840ccbdcb87fcc8f9161dab49b1f -size 76971 +oid sha256:a1f8d0221468c75d2d3493c9338f253cb9b753dc860d56ddee853b4450ca6461 +size 77370 diff --git a/Assets/Scripts/Character/Enemy/CasterDemonController.cs b/Assets/Scripts/Character/Enemy/CasterDemonController.cs index ee71c155..84ce18ec 100644 --- a/Assets/Scripts/Character/Enemy/CasterDemonController.cs +++ b/Assets/Scripts/Character/Enemy/CasterDemonController.cs @@ -34,7 +34,7 @@ public class CasterDemonController : EnemyController [SerializeField] private AudioClip magicMissileShotSound; [SerializeField] private AudioClip teleportSound; [SerializeField] private AudioClip spinSound; - [SerializeField] private AudioClip circleMagicSound; + [SerializeField] private AudioClip slowFieldSound; private float _knockbackTimer = 10f; private const float KnockBackThresholdTime = 10f; @@ -208,7 +208,7 @@ public class CasterDemonController : EnemyController // 플레이어 위치를 바라보고 transform.LookAt(aimPosition); SetAnimation(MagicMissile); - + SFXPlayer(magicMissileShotSound); // 미사일 생성 및 초기화 var missile = Instantiate( magicMissilePrefab, @@ -257,6 +257,7 @@ public class CasterDemonController : EnemyController aoe.SetEffect(TeleportEffectData, null, null); + SFXPlayer(teleportSound); // 텔레포트 타겟 위치로 이동 Agent.Warp(teleportTargetPosition); SetAnimation(Telepo); @@ -281,6 +282,7 @@ public class CasterDemonController : EnemyController // 1. 시전 애니메이션 transform.LookAt(aimPosition); SetAnimation(Cast); + SFXPlayer(slowFieldSound); // 2. 장판 생성과 세팅 var fixedPos = new Vector3(aimPosition.x, aimPosition.y, aimPosition.z); @@ -296,6 +298,7 @@ public class CasterDemonController : EnemyController { // 시전 애니메이션 SetAnimation(Spin); + SFXPlayer(spinSound); // 넉백 발생 var knockback = Instantiate(chariotWarning, transform).GetComponent(); @@ -304,6 +307,11 @@ public class CasterDemonController : EnemyController yield return Wait.For(1f); } + private void SFXPlayer(AudioClip clip) + { + SoundManager.Instance.PlaySFX(clip); + } + #region 유틸리티 private void SetSequence(Func newSequence) {