Unreal_Engine🎮/TIL📖

[ Unreal Engine ] TIL 📖 ( 4 )

pseonu 2024. 12. 21. 04:06

DAY 4 플레이어 캐릭터와 나만의 레벨 디자인

 

 레벨 디자인 : 플레이어가 경험할 수 있는 환경과 구조를 만드는 과정.

-> 시각적 요소를 배치하는 것 뿐만 아니라 플레이어 경험의 핵심을 설계하는 역할

 


에셋

 

펩 라이브러리에서 샘플 에셋 적용


플레이어 캐릭터 생성하기

 

콘텐츠 드로어 우클릭 > 블루프린트 생성 > 캐릭터 로 생성을 하고

이렇게 새로 생긴 에셋을 더블클릭 하면

이렇게 캐릭터 뷰포트가 생긴다. 이때 사용할 스켈레탈 메시 에셋을 선택해주면

이런식으로 생기게 된다. 

뷰포트에 떠있는 파란색 화살표가 캐릭터가 바라보고있는 방향이라서 캐릭터 방향을 맞춰줘야한다.

이렇게 !!!

이후 캐릭터를 따라다니는 카메라를 달아줄거다.

컴포넌트에서 Spring Arm 과 Camera를 달아주면

이렇게 화면에 생성이 된다.

이 캐릭터를 맵에 생성하고 실행을 한번 해보겠다.

 

이렇게 생성이 되고 카메라 시점으로도 나오게된다.

생성은 여기까지이고 캐릭터는 지금 실행시키고 키를 입력해도 움직이지 않는 상태이다.

 

 


생성한 캐릭터 움직이게 만들기

 

캐릭터를 움직이게 하려면 언리얼 자체에서 우리가 입력한 키를 받을 수 있어야 함.

이때 필요한게 입력 액션입력 매핑 컨텍스트이다.

 

캐릭터 블루프린트 만든것처럼 콘텐트 드로어에서 우클릭 > 입력 > 입력 매핑 컨텍스트 or 입력 액션 선택

 

 

나는 움직이기, 쳐다보기, 점프 이렇게 세 기능을 추가할 것이기 때문에 

이런식으로 만들어줬다.

 

먼저 Look과 Move는 X축, Y축을 모두 사용하기 때문에 더블클릭 후 디테일 탭에서 Axis2D로 설정을 바꿔줘야한다.

 

그리고 맵핑 컨텍스트는 입력값을 모두 모아둔 느낌이라

 

이렇게 설정해줬다.

 

W는 정방향

S는 X축의 반대방향이니까 X축의 부정

D가 Y축 정방향

A는 Y축 방향의 스위즐 입력 측 값의 부정

NBC_Look은 XY를 모두 사용하기에 마우스 XY 2D축을 넣어줬다.

 

시작

이벤트가 시작했을때 매핑 컨텍스트와 연동한다. 이때 GetPlayerController를 이용하여 현재 플레이어의 컨트롤러에 연결된 인풋들을 찾음.

 

이동

Get Forward Vector와 Get Right Vector를 이용ㅎ아여 현재 월드를 기준으로 액터의 벡터값을 계산한 수를 받아 X,Y만큼 이동시킨다.

 

시점

Move와 같이 X는 좌우(Yaw), Y는 상하(Pitch)에 연결한다.

 

점프

Move,Look과 같이 데이터 입력 액션을 새로 생성하여 맵핑컨텍스트에 등록 후, 이벤트 노드에서 불러와서 함수 Jump와 연결한다.

 

결과

이렇게 하면 사진에선 확인할 수 없지만 wasd로 이동, 마우스클릭으로 시점전환, 스페이스바로 점프를 할수 있게 된다.

 


캐릭터를 생성하고, 내가 입력한 키를 인풋액션과 맵핑 컨텍스트를 이용하여 캐릭터에 적용시켰다.

 

이번엔 캐릭터모양은 그대로인상태로 앞뒤좌우로 이동하다보니 조금 어색한 감이 있어서 다음 시간에는 애니메이션을 구현하겠다.

 

 

'Unreal_Engine🎮 > TIL📖' 카테고리의 다른 글

[ Unreal Engine ] TIL 📖 ( 5 )  (0) 2024.12.21
[ Unreal Engine ] TIL 📖 ( 3 )  (0) 2024.12.18
[ Unreal Engine ] TIL 📖 ( 2-2 )  (0) 2024.12.17
[ Unreal Engine ] TIL 📖 ( 2-1 )  (0) 2024.12.17
[ Unreal Engine ] TIL 📖 (1)  (0) 2024.12.16