RE Volition 프로젝트는 언리얼 엔진으로 제작중인 타임리프 기반 소울라이크 게임입니다.

<aside>

주요 구현


전투 Frame Data 제작 도구

Animation Notify 기반 Hitbox 방식을 개선해 몽타주 Section, Frame Window 기반 전투 판정 시스템을 설계했습니다. 그리고 Slate 기반 전용 에디터에서 애니메이션을 재생하며 공격, 패링 Shape를 시각화하고 Transform Gizmo로 직접 편집할 수 있도록 구현했습니다.

게임 데이터 동기화 파이프라인

Google Sheets를 기획 데이터의 기준으로 삼아 Player, Enemy, Item, Localization 데이터를 CSV로 일괄 동기화하고, 변경된 파일만 Unreal DataTable에 Reimport하는 Editor 도구를 구현했습니다.

Enemy AI 및 전투 상태 시스템

AI Perception과 Behavior Tree를 기반으로 순찰, 감지, 추적, 수색, 전투, 복귀 행동을 구현했습니다. 공격 결과를 피격 반응, 강인도, 그로기, 페이탈 어택, 화상, 사망 상태와 FrameData 판정에 연결했습니다.

</aside>

프레임 기반 전투 판정 시스템


1. 프레임 기반 공격·패링 데이터 구조 구현

image.png

Animation Notify에 의존하던 공격 판정을 분리해 Montage Section과 Frame Window로 판정 시점을, Box, Sphere, Capsule Shape로 판정 범위를 데이터화했습니다.

2. 몽타주 프레임 기반 런타임 판정

몽타주 재생 프레임에 따라 활성화되는 공격 판정 Shape

몽타주 재생 프레임에 따라 활성화되는 공격 판정 Shape

현재 Montage Section의 재생 위치를 Frame으로 변환하고, 활성화된 Shape를 World Transform으로 계산해 Overlap Query 기반 공격 판정을 수행하도록 구현했습니다.

3. Window별 중복 타격 방지

여러 Tick 동안 유지되는 공격 Window에서 동일 대상이 반복 타격되지 않도록 Window별 피격 Actor를 관리했습니다.