언리얼 엔진 5/개발 일지

[UE5] 블루아카이브 TPS게임 개발일지 (31) - 엄폐 시스템 구현 1

ciel45 2024. 1. 7. 18:20

이번엔 엄폐 시스템을 만들어보고자 한다.

 

엄폐를 담당하는 InputAction을 만들어 캐릭터에 달고, 매핑하는 과정은 특별할 것이 없기 때문에 이 포스팅에서는 생략하려고 한다.

 

우선 낮은 엄폐물에 앉아서 엄폐하는 것부터 시작하였다.

 

Mixamo에서 캐릭터가 앉은 채로 행동하는 애니메이션을 받아서 캐릭터에 맞게 조금 수정해주었다.

앉은 자세 Idle
앉은 자세 Walk

 

이 두 애니메이션을 기반으로 속도를 축으로 하는 블렌드 스페이스 1D를 만들었다.

 

 

그리고 애니메이션 블루프린트의 MainStates에 InCover 상태를 추가하고, 전환 조건을 새로 만든 변수인 IsInCover의 true/false로 하였다.

IsInCover가 true이면 앉은 자세(엄폐 자세)로 전환된다.
InCover 내부에는 아까 만든 블렌드스페이스를 그대로 넣어주었다.

 

 

그리고, 준비할게 하나 더 있다.

엄폐물을 찾기위한 라인트레이싱 채널을 새로 하나 만들 것이다.

Project Settings -> Collision 섹션으로 들어가 새로운 채널을 만들어줄 수 있다.

Default Response는 Ignore로 만들어주었다. 월드의 오브젝트들 모두가 엄폐물이 아니므로, 기본적으로 Cover 채널 라인트레이싱을 무시하도록 해놓은 것이다.

 

 

바로 다음 포스팅에서는 본격적으로 C++ 코드를 작성할 것이다.