본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 5-30

사용자 지정 플레이어 컨트롤러

우리는 인풋 비활성화 및 마우스 커서 설정 등 플레이어 컨트롤러에 대해 다루었다.

이를 따로 클래스로 생성하여 직접 기능을 추가해 커스텀하는 것 또한 가능하다.

 

이어서 블루프린트 클래스 또한 생성해주자.

 

이제 게임 모드로 가서 방금 만든 컨트롤러를 기본 컨트롤러로 할당해주자.

 

기본적인 생성 및 할당은 끝났으니, 구현을 해줄 차례이다.

우리가 구현해줄 내용은 플레이어 인풋에 대한 처리와, 마우스 커서에 대한 내용이다.

이를 처리하기 위해 우선 함수를 선언해주자.

 

해당 불 타입 변수를 토대로 인풋 활성화/비활성화를 체크하고, 이어서 마우스 커서에 대한 것도 할당하게 된다.

인풋에 대한 함수는 EnableInput과 DisableInput 함수를 사용한다.

해당 함수들은 폰에 속한 함수들이다.

따라서 GetPawn() 함수를 통해 폰을 얻고, 여기서 다시 해당 함수들을 불러와 현재 컨트롤러를 할당해준다.

이제 해당 함수를 게임 모드 클래스에서 호출하여 사용하게 된다.

이를 위해 게임 모드 클래스에서 해당 컨트롤러 타입 변수를 선언해주자.

 

이제 실제 컨트롤러를 할당해주어야하고, GetPlayerController 함수를 통해 얻을 수 있다.

해당함수는 APlayerController 타입을 반환하므로, 여기서도 Cast를 이용하여 타입을 바꿔주어야 한다.

 

이제 얻은 컨트롤러를 사용하여, SetPlayerEnableState 함수를 사용해주자.

보다 간단해진 코드를 볼 수 있다.

 

번외로, 마우스 커서의 모양을 바꾸는 것이 가능하다.

우리가 만들었던 플레이어 컨트롤러의 블루 프린트 클래스로 가보면 디폴트 마우스 커서가 존재한다.

이를 원하는 타입으로 바꾸는 것이 가능하며, 해당 강의에서는 십자선으로 바꿔주었다.