fix(BT12-Dev): A08 저주의 화살 sprite 방향 반대 fix (PD 지시 2026-05-13)

원인: FX_PinkMagicArrow prefab sprite 기본 방향 left·Projectile.Initialize 영역 atan2(facing)·우향 발사 시 sprite left 보임.

fix:
- ActiveSkillData.ProjectileAngleOffset (float, Range -360~360) 신규 필드 — prefab sprite 기본 방향 보정용
- Projectile.Initialize — angle = atan2 + ProjectileAngleOffset
- A08.asset — ProjectileAngleOffset 180 설정 (FX_PinkMagicArrow left → right 보정)

박스(판정) 영역 = 동시 회전·HitboxSize 대칭 가정 영역 영향 X.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
깃 관리자 2026-05-13 23:26:34 +09:00
parent 68843a8c44
commit 71c3b7d5da
3 changed files with 8 additions and 1 deletions

View File

@ -56,6 +56,7 @@ MonoBehaviour:
ExtraHitFxPrefab: {fileID: 0} ExtraHitFxPrefab: {fileID: 0}
CastFxPrefab: {fileID: 1571108645336829551, guid: cab9ba2d706d3c04dab2b559425bac6a, CastFxPrefab: {fileID: 1571108645336829551, guid: cab9ba2d706d3c04dab2b559425bac6a,
type: 3} type: 3}
ProjectileAngleOffset: 180
OnDotFxPrefab: {fileID: 0} OnDotFxPrefab: {fileID: 0}
DotDamageMultiplier: 0.25 DotDamageMultiplier: 0.25
ProjectileFxScale: 1 ProjectileFxScale: 1

View File

@ -110,6 +110,11 @@ namespace EerieVillage.Skills
[Tooltip("시전 FX — 발사 시점 Player 위치 spawn (예: A08 저주의 화살 FX_PinkArrow_Shoot)")] [Tooltip("시전 FX — 발사 시점 Player 위치 spawn (예: A08 저주의 화살 FX_PinkArrow_Shoot)")]
public GameObject CastFxPrefab; public GameObject CastFxPrefab;
// PD 지시 2026-05-13 — 투사체 sprite 영역 기본 방향 보정 (예: A08 FX_PinkMagicArrow sprite 영역 left 기본 → 180)
[Tooltip("투사체 sprite 방향 각도 오프셋 (degrees). prefab sprite 기본 방향 영역 보정 (예: 180 = 반대)")]
[Range(-360f, 360f)]
public float ProjectileAngleOffset = 0f;
[Tooltip("DoT 적용 시 적 자식으로 Instantiate 되는 ParticleSystem prefab")] [Tooltip("DoT 적용 시 적 자식으로 Instantiate 되는 ParticleSystem prefab")]
public GameObject OnDotFxPrefab; public GameObject OnDotFxPrefab;

View File

@ -48,7 +48,8 @@ namespace EerieVillage.Skills.Effectors
_hitTargets.Clear(); _hitTargets.Clear();
// PD 지시 2026-05-13 — 투사체 root = 박스(판정) 정합. FxRotation 미적용 (시각 전용·박스 회전 금지). // PD 지시 2026-05-13 — 투사체 root = 박스(판정) 정합. FxRotation 미적용 (시각 전용·박스 회전 금지).
float angle = Mathf.Atan2(_direction.y, _direction.x) * Mathf.Rad2Deg; // ProjectileAngleOffset = sprite 기본 방향 보정 (예: A08 FX_PinkMagicArrow sprite left → 180)
float angle = Mathf.Atan2(_direction.y, _direction.x) * Mathf.Rad2Deg + _data.ProjectileAngleOffset;
transform.rotation = Quaternion.Euler(0f, 0f, angle); transform.rotation = Quaternion.Euler(0f, 0f, angle);
// BT12-Dev 2026-05-10 (PD #1) — 거리 제한 영역 영역 spawn 위치 저장 // BT12-Dev 2026-05-10 (PD #1) — 거리 제한 영역 영역 spawn 위치 저장