peakpx.jpg

📌 프로젝트 개요

항목 내용
📅 작업 기간 2024.10.04 ~ 2024.11.11 (1개월)
🎮 장르 3인칭 액션 RPG
🎯 모작 게임 Loads Of The Fallen
💻 개발 언어 블루프린트
👥 팀 구성 개인 프로젝트(1명)
🧩 담당 파트 플레이어 , 적 AI
🛠️ 개발 엔진 언리얼 엔진

📺 게임 영상

https://youtu.be/jVi7Q6CIJho

🗓️ 프로젝트 수행 절차

플레이어 (1주)

구현 목표
플레이어 이동 입력 시스템 설계
플레이어 이동 애니메이션 구현
플레이어 전투 시스템 구축
플레이어 UI 연동 및 상태 출력

무기 시스템 (1주)

구현 목표
캐릭터 무기 종류별 기능 설계
캐릭터와 무기간 상호작용 모듈화를 위한 인터페이스 구현
캐릭터 콤보 시스템 구현

보스 (2주)

구현 목표
보스 이동 및 상태 관리
보스 AIBehavior Tree와 Blackboard를 기반 전투 행동 구성
보스 공격 시스템 구현

🔖 목차

📝 기능 구현

BPI_Weapon 인터페이스 : 캐릭터 ↔ 무기 연동

기능 요약

무기 클래스(BP_Weapon)와 캐릭터 클래스 간의 전투 관련 상태 및 기능을 일관되게 전달하기 위해 설계된 인터페이스입니다. 공격, 피격, 무기 교체 등 캐릭터의 상황에 따라 무기의 상태를 동기화하고, 무기 중심의 상태 제어 로직을 가능하게 하기 위해 제작하였습니다.

BPI_Weapon 제작 단계

함수명 기능 요약
GetWeapon_State() 현재 무기의 상태(IDLE, ATTACK 등)를 반환
SetWeapon_State() 무기의 상태를 변경할 때 호출
GetWeapon_Combat() 무기의 전투 타입(Sword, Ranged 등)을 반환
SetWeapon_Combat() 전투 타입을 설정할 때 호출
Weapon_Hitted() 무기가 피격 반응을 해야 할 때 호출
Weapon_Dead() 적 또는 캐릭터가 사망 시 무기 정리 로직 호출
GetWeapon_CanMove() 무기 보유 시 이동 가능 여부 확인 (ex. 공격 도중 이동 가능 여부)
SetWeapon_CanMove() 이동 가능 여부 설정 시 호출
GetWeapon_Current() 현재 무기 인덱스나 장착된 무기를 반환

BP_Weapon : 전투 베이스 무기 클래스

기능 요약

BP_Weapon은 플레이어와 적 캐릭터가 공통으로 사용하는 전투용 무기 클래스로, 공격 처리, 콤보, 충돌 판정, 데미지 전달 등의 전투 핵심 로직을 공통화하여 관리합니다. 이를 통해 코드 중복을 최소화하고, 무기별 커스터마이징은 자식 클래스에서 간편하게 구현할 수 있도록 설계하였습니다.

공통 기능

1. 무기 충돌 처리

2. SendDamage() : 무기 타격 시 피해 전달 함수

image.png

image.png

image.png

3. 그 외 함수

| --- | --- |


BP_Sword : 플레이어 근접 무기