feat(BT12-Dev): 피격 이펙트 sortingOrder +100·적 추적 각도 하단 보정 (PD 지시 2026-05-14)
작업 1 — 피격 이펙트 상위 sortingOrder: - Projectile.OnTriggerEnter2D OnHitFx — Renderer.sortingOrder += 100 - LightningStrikeSpawner OnHitFx + ExtraHitFx — 동일 - MeleeAreaSpawner fxGo — 동일 - LaserSpawner fx — 동일 - Enemy SpriteRenderer 영역 위·뒤쪽 가림 회피 작업 2 — 적 추적 각도 하단 보정: - ProjectileSpawner.Trigger TargetEnemyOnFire 영역 toEnemy.y -= 0.5 - 적 transform.position 영역 상단 영역·hitbox 영역 영역 영역 적중 정합 - A08 영역 영역 영역 영역 영역 영역 적 hitbox 영역 영역 영역 적중 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
55ee4f390b
commit
eb33e6414b
|
|
@ -41,6 +41,8 @@ namespace EerieVillage.Skills.Effectors
|
||||||
fx.transform.localScale *= data.HitFxScale;
|
fx.transform.localScale *= data.HitFxScale;
|
||||||
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
||||||
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||||
|
// PD 지시 2026-05-14 — 피격 이펙트 상위 sortingOrder
|
||||||
|
foreach (var r in fx.GetComponentsInChildren<Renderer>(true)) r.sortingOrder += 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
float fxLifetime = GetFxLifetime(fx);
|
float fxLifetime = GetFxLifetime(fx);
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,8 @@ namespace EerieVillage.Skills.Effectors
|
||||||
fx.transform.localScale *= data.HitFxScale;
|
fx.transform.localScale *= data.HitFxScale;
|
||||||
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
||||||
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||||
|
// PD 지시 2026-05-14 — 피격 이펙트 상위 sortingOrder
|
||||||
|
foreach (var r in fx.GetComponentsInChildren<Renderer>(true)) r.sortingOrder += 100;
|
||||||
fxTotalLifetime = GetFxLifetime(fx);
|
fxTotalLifetime = GetFxLifetime(fx);
|
||||||
AutoDestroyFx(fx, fxTotalLifetime);
|
AutoDestroyFx(fx, fxTotalLifetime);
|
||||||
}
|
}
|
||||||
|
|
@ -117,6 +119,8 @@ namespace EerieVillage.Skills.Effectors
|
||||||
extraFx.transform.localScale *= data.HitFxScale;
|
extraFx.transform.localScale *= data.HitFxScale;
|
||||||
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
||||||
foreach (var ps in extraFx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
foreach (var ps in extraFx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||||
|
// PD 지시 2026-05-14 — 피격 이펙트 상위 sortingOrder
|
||||||
|
foreach (var r in extraFx.GetComponentsInChildren<Renderer>(true)) r.sortingOrder += 100;
|
||||||
AutoDestroyFx(extraFx, GetFxLifetime(extraFx));
|
AutoDestroyFx(extraFx, GetFxLifetime(extraFx));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,8 @@ namespace EerieVillage.Skills.Effectors
|
||||||
fxGo.transform.SetParent(inventory.transform, true);
|
fxGo.transform.SetParent(inventory.transform, true);
|
||||||
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
||||||
foreach (var ps in fxGo.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
foreach (var ps in fxGo.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||||
|
// PD 지시 2026-05-14 — 피격 이펙트 상위 sortingOrder
|
||||||
|
foreach (var r in fxGo.GetComponentsInChildren<Renderer>(true)) r.sortingOrder += 100;
|
||||||
fxLifetime = GetFxLifetime(fxGo);
|
fxLifetime = GetFxLifetime(fxGo);
|
||||||
// PD 지시 2026-05-13 — unscaledTime cap (Time.timeScale=0 영역 잔존 차단)
|
// PD 지시 2026-05-13 — unscaledTime cap (Time.timeScale=0 영역 잔존 차단)
|
||||||
FxAutoDestroyUnscaled.Attach(fxGo, Mathf.Min(fxLifetime + 0.2f, 5f));
|
FxAutoDestroyUnscaled.Attach(fxGo, Mathf.Min(fxLifetime + 0.2f, 5f));
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,8 @@ namespace EerieVillage.Skills.Effectors
|
||||||
fx.transform.localScale *= _data.HitFxScale;
|
fx.transform.localScale *= _data.HitFxScale;
|
||||||
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
// PD 지시 2026-05-13 — ParticleSystem 명시 Play
|
||||||
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
foreach (var ps in fx.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||||
|
// PD 지시 2026-05-14 — 피격 이펙트 상위 sortingOrder (Enemy SpriteRenderer 영역 위)
|
||||||
|
foreach (var r in fx.GetComponentsInChildren<Renderer>(true)) r.sortingOrder += 100;
|
||||||
AutoDestroyOnParticleEnd(fx);
|
AutoDestroyOnParticleEnd(fx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,9 @@ namespace EerieVillage.Skills.Effectors
|
||||||
}
|
}
|
||||||
if (nearest != null)
|
if (nearest != null)
|
||||||
{
|
{
|
||||||
|
// PD 지시 2026-05-14 — 적 추적 각도 하단 보정 (적 transform.position 영역 상단 영역·hitbox 영역 영역 영역 적중 영역)
|
||||||
Vector2 toEnemy = (Vector2)nearest.transform.position - playerPos2;
|
Vector2 toEnemy = (Vector2)nearest.transform.position - playerPos2;
|
||||||
|
toEnemy.y -= 0.5f;
|
||||||
if (toEnemy.sqrMagnitude > 0.01f) facing = toEnemy.normalized;
|
if (toEnemy.sqrMagnitude > 0.01f) facing = toEnemy.normalized;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue