개요
애니메이션의 특정 프레임 구간에서 플레이어 입력을 받아, 조건을 만족하는 입력이 들어오면 미리 지정해둔 동작(Property)을 실행할 수 있도록 입력 버퍼 시스템을 구현했습니다.
콤보/연계/캔슬 같은 “타이밍 기반 입력”을 애니메이션 단에서 안정적으로 처리하는 것을 목표로 합니다.
핵심 목표
- 애니메이션 구간(Notify Tick) 동안 들어온 입력을 버퍼링(저장)
- 저장된 입력이 InputAction + Input Phase 조건을 만족하면 지정된 동작을 실행
- 하나의 애니메이션에서도 여러 입력/여러 동작을 조합할 수 있도록 모듈화
동작 방식
- 버퍼 입력 구간 설정
- 애니메이션 노티파이(Notify State)로 입력을 허용할 시작/종료 구간을 지정합니다.
- 버퍼 조건 설정 (InputAction / Phase)
- 예: IA_Heavy Attack의 Performed가 들어오면 처리
- 필요 시 여러 개를 리스트로 등록할 수 있습니다.
- 입력 저장 및 소비 (Consume)
- 구간 동안 들어온 입력을 저장하고, 조건이 맞는 입력을 찾으면 해당 입력을 소비(소모)하며 실행합니다.
- 실행할 Property 선택
- 버퍼 입력이 성공했을 때 실행할 Property를 선택합니다.
- 결과적으로 입력 버퍼 시스템 + 다형성 Property 구조를 결합해 한 애니메이션에서도 다양한 동작 구성이 가능해집니다.
장점
- 입력 타이밍 로직을 애니메이션 구간 단위로 통제할 수 있어, 콤보/연계 입력의 안정성이 높아집니다.
- Property 기반으로 실행 동작을 분리해, 확장성과 재사용성이 좋습니다.
- “입력 조건”과 “실행 로직”을 분리해 구성할 수 있어, 하나의 애니메이션에서도 다양한 조합이 가능합니다.


'유니티 > Framework' 카테고리의 다른 글
| 게임 플레이 태그 시스템 (GameplayTag System) (0) | 2026.02.19 |
|---|---|
| 다형성 기반 프로퍼티 시스템 (Polymorphic Property System) (0) | 2026.02.19 |
| Combat System - Document (1) | 2024.06.09 |