From 68843a8c44741eb21303b2932caa30b00f8cb0f5 Mon Sep 17 00:00:00 2001 From: swrring Date: Wed, 13 May 2026 23:22:02 +0900 Subject: [PATCH] =?UTF-8?q?fix(BT12-Dev):=20A12=C2=B7A08=C2=B7=EC=A0=84?= =?UTF-8?q?=EC=88=98=20FX=20ParticleSystem.Play(true)=20=EB=AA=85=EC=8B=9C?= =?UTF-8?q?=20=ED=98=B8=EC=B6=9C=20(PD=20=EC=A7=80=EC=8B=9C=202026-05-13)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 직전 b1b476a 영역 PoisonSwamp·SpiritFire 영역만 명시 Play 적용·나머지 4 Spawner + Projectile 영역 누락. 전수 적용: - MeleeAreaSpawner.Trigger — OnHitFx (A05·A12 등) 영역 Play - LightningStrikeSpawner.Trigger — OnHitFx·DelayedExtraHitFx Play - LaserSpawner.Trigger — fx (A_Laser OnHit) Play - ProjectileSpawner.Trigger — ProjectilePrefab (A02·A08 FX_PinkMagicArrow 등)·CastFxPrefab (A08 FX_PinkArrow_Shoot) Play - Projectile.OnTriggerEnter2D — OnHitFx (A02·A08 등) Play 원인: 신규 import prefab 영역 playOnAwake 영역 정합 X 가능성 또는 Instantiate 시점 영역 Awake 호출 X·명시 Play 안전망 누락. Co-Authored-By: Claude Opus 4.7 (1M context) --- Assets/Scripts/Skills/Effectors/LaserSpawner.cs | 2 ++ Assets/Scripts/Skills/Effectors/LightningStrikeSpawner.cs | 4 ++++ Assets/Scripts/Skills/Effectors/MeleeAreaSpawner.cs | 2 ++ Assets/Scripts/Skills/Effectors/Projectile.cs | 2 ++ Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs | 4 ++++ 5 files changed, 14 insertions(+) diff --git a/Assets/Scripts/Skills/Effectors/LaserSpawner.cs b/Assets/Scripts/Skills/Effectors/LaserSpawner.cs index 6390745..83b4142 100644 --- a/Assets/Scripts/Skills/Effectors/LaserSpawner.cs +++ b/Assets/Scripts/Skills/Effectors/LaserSpawner.cs @@ -39,6 +39,8 @@ namespace EerieVillage.Skills.Effectors fx.hideFlags = HideFlags.DontSave; fx.transform.SetParent(inventory.transform, true); fx.transform.localScale *= data.HitFxScale; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in fx.GetComponentsInChildren(true)) ps.Play(true); } float fxLifetime = GetFxLifetime(fx); diff --git a/Assets/Scripts/Skills/Effectors/LightningStrikeSpawner.cs b/Assets/Scripts/Skills/Effectors/LightningStrikeSpawner.cs index a1c8af0..a88b0d2 100644 --- a/Assets/Scripts/Skills/Effectors/LightningStrikeSpawner.cs +++ b/Assets/Scripts/Skills/Effectors/LightningStrikeSpawner.cs @@ -65,6 +65,8 @@ namespace EerieVillage.Skills.Effectors var fx = Object.Instantiate(data.OnHitFxPrefab, fxPos, Quaternion.Euler(0f, 0f, data.FxRotation)); fx.hideFlags = HideFlags.DontSave; // PD 지시 2026-05-13 — Scene 저장 회피 fx.transform.localScale *= data.HitFxScale; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in fx.GetComponentsInChildren(true)) ps.Play(true); fxTotalLifetime = GetFxLifetime(fx); AutoDestroyFx(fx, fxTotalLifetime); } @@ -113,6 +115,8 @@ namespace EerieVillage.Skills.Effectors var extraFx = Object.Instantiate(data.ExtraHitFxPrefab, fxPos, Quaternion.Euler(0f, 0f, data.FxRotation)); extraFx.hideFlags = HideFlags.DontSave; extraFx.transform.localScale *= data.HitFxScale; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in extraFx.GetComponentsInChildren(true)) ps.Play(true); AutoDestroyFx(extraFx, GetFxLifetime(extraFx)); } diff --git a/Assets/Scripts/Skills/Effectors/MeleeAreaSpawner.cs b/Assets/Scripts/Skills/Effectors/MeleeAreaSpawner.cs index a0d2161..027a97b 100644 --- a/Assets/Scripts/Skills/Effectors/MeleeAreaSpawner.cs +++ b/Assets/Scripts/Skills/Effectors/MeleeAreaSpawner.cs @@ -40,6 +40,8 @@ namespace EerieVillage.Skills.Effectors // PD 지시 2026-05-13 — 좌우 베기 이펙트가 Player 이동 시 뒤로 밀리는 현상 정정. // Player 자식 부착 (worldPositionStays=true) 으로 spawn 후에도 Player 이동에 동조. fxGo.transform.SetParent(inventory.transform, true); + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in fxGo.GetComponentsInChildren(true)) ps.Play(true); fxLifetime = GetFxLifetime(fxGo); // PD 지시 2026-05-13 — unscaledTime cap (Time.timeScale=0 영역 잔존 차단) FxAutoDestroyUnscaled.Attach(fxGo, Mathf.Min(fxLifetime + 0.2f, 5f)); diff --git a/Assets/Scripts/Skills/Effectors/Projectile.cs b/Assets/Scripts/Skills/Effectors/Projectile.cs index 6884001..eb17168 100644 --- a/Assets/Scripts/Skills/Effectors/Projectile.cs +++ b/Assets/Scripts/Skills/Effectors/Projectile.cs @@ -215,6 +215,8 @@ namespace EerieVillage.Skills.Effectors var fx = Object.Instantiate(_data.OnHitFxPrefab, other.transform.position, Quaternion.Euler(0f, 0f, _data.FxRotation)); fx.hideFlags = HideFlags.DontSave; // PD 지시 2026-05-13 — Scene 저장 회피 fx.transform.localScale *= _data.HitFxScale; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in fx.GetComponentsInChildren(true)) ps.Play(true); AutoDestroyOnParticleEnd(fx); } diff --git a/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs b/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs index ec4761d..c109613 100644 --- a/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs +++ b/Assets/Scripts/Skills/Effectors/ProjectileSpawner.cs @@ -41,6 +41,8 @@ namespace EerieVillage.Skills.Effectors var castFx = Object.Instantiate(data.CastFxPrefab, playerTransform.position, Quaternion.Euler(0f, 0f, data.FxRotation)); castFx.hideFlags = HideFlags.DontSave; castFx.transform.localScale *= data.HitFxScale; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play + foreach (var ps in castFx.GetComponentsInChildren(true)) ps.Play(true); FxAutoDestroyUnscaled.Attach(castFx, 2f); } @@ -65,6 +67,8 @@ namespace EerieVillage.Skills.Effectors : CreateFallbackProjectile(data, (Vector3)spawnPos); // PD 지시 2026-05-13 — 런타임 spawn 투사체 Scene 저장 회피 (Edit Mode execute 시 잔존 방지) go.hideFlags = HideFlags.DontSave; + // PD 지시 2026-05-13 — ParticleSystem 명시 Play (ProjectilePrefab 영역 자체 FX·A08 FX_PinkMagicArrow 등) + foreach (var ps in go.GetComponentsInChildren(true)) ps.Play(true); // PD 지시 2026-05-13 — 시각화 ↔ 판정 정합 — BoxCollider2D size = HitboxSize·isTrigger=true. // FX prefab 영역 기존 Collider2D 있으면 size 만 정합·없으면 신규 BoxCollider2D 부착.