본문 바로가기
Unreal DevHistory/Personal Project

06 플레이어블 캐릭터(1) - PPJB

by pp336 2025. 9. 27.



플레이어블 캐릭터

 

 

 

 

 

 

 

 

 메인 캐릭터 플레이어블로 생각해두고 있는 캐릭터의 초안은 일단 동물로 생각하고 있습니다. 갑자기 이런 이야기를 왜 서두로 꺼내게 되었냐면, 프로토 타입으로만 구성하고 있는 요소들이 생각보다 잘 어우려져서 입니다. 현재 시스템들을 구성하면서 구색이 갖춰지기 시작하니 재미 요소가 생기고 있습니다. 프로토 타입으로 게임을 만들어볼수도 있겠다는 생각이 비집고 들어오기 시작해서 해매지 않으려는 분기점을 만들고자하는 의도입니다. 

 그래서 추후에 아트 스타일을 선택한 동기나 메인 캐릭터가 동물로 선택된 이유와 두개가 어떠한 유기적인 상관 관계를 맺고 있는지 등을 설명해보는 시간을 가지고자 합니다. 또한 월드에서 이 요소들이 게임 콘텐츠를 이루게 되는 메커니즘에 대한 설명을 보충해 보고자 하는 글도 작성해볼 생각입니다.

 

 

 


 

 

Blueprint

 

 

 

 

 

 위에서 언급했다 싶이 캐릭터와 관련된 글로는 메인 캐릭터에 대한 배경 에피소드를 언급하는 단계가 아니라서 프로토타입으로 차용된 에셋과 언리얼 엔진에서 메인캐릭터를 설정하는 기술적인 부분으로만 구성이 될 예정입니다. 일단 Unreal Learnig Kit의 메인 캐릭터를 가져와 플레이어블 캐릭터로 사용하였으며, 블루프린트에서 스프링암과 카메라 컴포넌트를 추가하고, 애니메이션 블루프린트와 연동하여 EventGraph에서 플레이어 컨트롤러에 대응하는 Input Action 및 Input Mapping Controller 설정을 해준 상태입니다.

 

 

메인 캐릭터 블루프린트와 캐릭터에 사용되는 구성 작업(스프링 암 및 카메라 셋팅)

 

 

 

 

 


 

AnimationBlueprint

 

 

 

 

 

 언리얼의 애니메이션은 캐릭터를 구상하는 스켈레탈 메시와 애니메이션 블루프린트를 기반으로 작동합니다. 스켈레탈 메시의 뼈대를 움직여 애니메이션 시퀀스를 만들고, 애니메이션 블루프린트를 통해서 상황에 맞는 로직을 처리하여 작업을 수행합니다.

 

 

 

 

 

Blend Spaced 1D를 사용하여 아래 애니메이션 시퀸스의 움직임을 특정 수치 값에 변화도록 설정

 

 

 

 

 

 

 

 

 

애니메이션 블루 프린트에서 해당 BS1D가 캐릭터의 속도에 대응하여 포즈가 변화하도록 설정

 

플레이어 Movement Component에서 Velocity 값을 불러와 현재 속도 변수로 사용

 

 

 

 

 

 


 

Input Mapping Context

 

 

 

 

플레이어가 캐릭터를 움직이려면 컨트롤러에 대응을 해주는 작업을 해줄 필요가 있습니다. Input Mapping Context는 Input Action에 특정한 키를 지정할지 결정할 수 있습니다. 

 

 

키보드의 W S키를 사용해 캐릭터를 앞으롤 뒤로 움직일 수 있도록 구성되어 있다. 나머지 인풋 액션 또한 같은 원리로 작동한다

 

 

 

 

 

 

 


 

EventGraph

 

 

 

 

 블루프린트의 EventGraph를 통해서 캐릭터 움직임과 관련된 MappingContext를 작동하게끔 설정해주면, 키 입력을 통해 캐릭터를 움직일 수 있게 됩니다. 특정 인풋 액션 별로 어떻게 작동할지는 작동 의도에 따른 로직을 지정해 주어야 합니다.