Skip to main content

Command Palette

Search for a command to run...

Unity Project-2026/02/11-HITWAVES

Updated
•2 min read•View as Markdown

2026/02/11 -기능개발 및 오류 일지

기능개발

  • 히트 판정 및 데미지 연산

    [목표]

    • 히트 판정 시스템 구축

    • 공통 데미지 인터페이스 설계

    • 체력 감소 및 사망 처리 흐름 구현

[구현 요약]

  • IDamageable 인터페이스 정의

  • HealthHandler로 체력 관리

  • AttackHandler에서 Overlap → 필터 → 정렬 → 적용

  • MaxHitCount 스탯 도입

  • GC 방지용 버퍼 사전 할당

[결과]

  • 최근접 1명 기본 타격

  • 패시브 확장 가능 구조

  • 이벤트 기반 체력 시스템 완성

[다음 할 일]

  • 접촉 데미지 + 무적시간 플레이 검증 (Enemy에 ContactDamage, Player에 HealthHandler 설정 후 테스트)

  • UI 시스템 (체력바) — 데미지를 시각적으로 확인할 수단

  • 원거리 공격 시스템 (총, 탄창)

  • 체력/스태미나 리젠 시스템

BUG

  • 공격은 실행되는데 히트 수가 0/1로 다른 개체가 감지되지 않음

[증상]

  • 히트 수: 0/1

  • OverlapCircleAll 반환 배열 길이 0

ERROR LOG
[AttackHandler] 공격 실행 - 방향: (0.00, -1.00), 데미지: 10, 힘: 10, 히트 수: 0/1 UnityEngine.Debug:Log (object,UnityEngine.Object) HitWaves.Core.DebugLogger:Log (string,string,UnityEngine.Object) (at Assets/Scripts/Core/DebugLogger.cs:31) HitWaves.Entity.Player.AttackHandler:ExecuteAttack (UnityEngine.Vector2) (at Assets/Scripts/Entity/Player/AttackHandler.cs:182) HitWaves.Entity.Player.AttackHandler:TryAttack (UnityEngine.Vector2) (at Assets/Scripts/Entity/Player/AttackHandler.cs:128) HitWaves.Entity.Player.AttackHandler:ReadInput () (at Assets/Scripts/Entity/Player/AttackHandler.cs:115) HitWaves.Entity.Player.AttackHandler:Update () (at Assets/Scripts/Entity/Player/AttackHandler.cs:83)

[원인]

  • 공격 로직에서 CompareTag("Interactable") 조건을 사용하고 있었으나, 대상 오브젝트에 해당 태그가 설정되어 있지 않았음

  • target layer가 Nothing으로 설정 되어 있었음

[해결]

  • 타격 상호작용을 해야할 오브젝트에 Interactable 태그를 붙여줌.

  • 상호작용 입력을 시도하는 대상에 targetLayer를 default로 설정.

[회고]

  • 대소문자 확인 잘 할 것.

  • 코드와 실제 적용된것이 일치하게 설정 되어 있는지 점검 할것

  • 물리 체크가 실패하면, 연산 로직보다 먼저 Tag/Layer 조건을 검증해야 한다.

More from this blog

O

ON VOID STUDIO

6 posts

💻 Indie Dev Studio — Emptiness is Possibility. ON VOID STUDIO builds games, apps, and digital experiences from scratch. One developer, turning nothing into something.