1. 캐릭터 만들기

2. 게임시작시 캐릭터 배치하기

3. 캐릭터 이동하기

4. 캐릭터 회전하기

 

 


 

먼저 캐릭터가 있어야하기때문에 메쉬를 구하였다.

메쉬는 에픽게임즈 샘플에 있는 Slay를 가져와서 사용하였다.

주인공캐릭터를 사용할 메쉬

 

이제 캐릭터를 만들기 위해 캐릭터 클래스를 만들어준다.

주인공 캐릭터와 적 캐릭터에 공통으로 쓸 수 있는 변수나 함수가 존재 할 것 같아서

CharacterBase로 부모클래스를 만들어주고 먼저 주인공인 Aiden캐릭터를 만들어주었다.

캐릭터 클래스의 구조

 

Aiden캐릭터 클래스를 만든 후 블루프린트로 생성하고 메쉬를 설정해주었다.

이때 위치와 회전이 안맞어서 적절하게 세팅을 해주었다.

초기 메쉬를 설정했을때 높이와 회전이 이상하여 적절하게 바꿔준다.

 

레벨에서 월드 설정을 통해 게임모드를 설정 할 수 있다.

게임모드를 통해 기본 폰 클래스와 컨트롤러 등등을 설정 할 수 있다.

C++클래스를 만들어 주고 이를 블루프린트를 만들어 주며 캐릭터를 Aiden캐릭터로 설정을 해 주었다.

블루프린트 게임모드 베이스에서 디폴트 폰 세팅

 

그리고 나서 월드 세팅에 게임모드를 오버라이드 할 수 있는데 이때 방금만든 게임모드를 지정해주었다.

월드 세팅에서 게임 모드를 오버라이드를 통해 원하는 게임모드로 지정

 

그다음 카메라를 세팅을 해준다.

캐릭터 클래스로 들어가 CameraComponent와 SpringArmComponent를 달아주고 이를 생성자에서 세팅해주었다.

자잘한 조절은 블루프린트에서 직접 조절해주고 레벨을 플레이하면 캐릭터의 뒷모습을 볼 수 있게 된다.

 

캐릭터를 움직일 수 있도록 향상된 입력을 통해 세팅을 해주었다.

PlayerController클래스를 만들고 컨트롤러에서 입력제어를 해주었다.

제일 먼저 향상된 입력 시스템을 코드에서 사용하기 위해 모듈을 추가해준다.

xxx.Build.cs 에 추가 해줄 수 있다.

모듈을 추가해 준다.

그다음 플레이어 클래스에서 향상된 입력에 관한 코드를 작성 하였다.

 

이제 언리얼 메인화면으로 돌아가서 입력 액션에 관한 블루프린트를 만들어 준다.

 

입력 액션에선 값 타입을 Vector2D로 바꿔준다

입력 액션 디테일 창

 

입력 매핑 컨텍스트에선 매핑을 위에 만든 입력 액션을 선택 해주고

키보드 wsad 를 각각 알맞에 세팅을 해주었다.

입력 컨텍스트 디테일 창

 

그다음 PlayerController를 블루프린트로 만든 후 입력 액션과 입력 컨텍스트를 선택해 주었다.

BP_AidenPlayerController 디테일 창

 

마지막으로 게임모드에서 PlayerController를 방금만든 블루프린트 PlayerController로 지정해주었다.

 

이제 레벨에서 플레이를 하고 wsad를 누르게되면 움직이는걸 볼 수 있다.

wsad로 움직이는 영상

이번엔 캐릭터를 회전하게 만들어 준다.

다시 입력 액션을 만들어 준다 이번엔 IA_Look이라고 만들어주었다 세팅은 Vector2D로 하였다.

 

입력 컨텍스트에선 마우스 XY 2D축으로 바꿔주고 모디파이어를 반대로 부정으로 바꾼다음 Y축만 체크해준다.

 

다시 PlayerController 클래스로 와서 코드를 작성 해준다.

 

컴파일 후 PlayerController블루프린트로 돌아와서 LookAction을 추가해준다.

 

마지막으로 캐릭터 클래스에서 추가적인 세팅을 해준다.

 

이제 움직이고 마우스를 통해 회전을 할 수 있게 됬다.

+ Recent posts