신입 개발자 공부 과정

이득우의 언리얼 C++ 게임 개발의 정석 Ch4 공부하기 본문

UnReal/공부

이득우의 언리얼 C++ 게임 개발의 정석 Ch4 공부하기

Lewisjkim 2023. 5. 10. 14:25

게임모드 직접 생성 =
새로운 c++클래스 ->gamemodebase 생성
폰 생성 ->클래스->pawn
세팅->월드세팅->GameMode->GameMode Override 에서 생성한 게임모드 적용

위와 같이 설정하면 기본 게임모드가 아니게 되어 플레이시 마네킹 액터가 나오지 않고 카메라 시점으로 플레이가 된다.

 

- 직접만든 pawn을 default pawn으로 설정하기

위와 같이 설정하고 compile을 꼭 해준다.


플레이어 컨트롤러 = 무형의 액터로 폰을 조종하는 역할을 맡는다.

폰 = 플레이어 컨트롤러에게 조종당하는 액터

플레이 버튼을 누르면 = 플레이어 컨트롤러 생성 ->플레이어 폰 생성 -> 플레이어 컨트롤러가 플레이어 폰을 빙의(possess) -> 게임 시작 순으로 진행된다.

플레이어 컨트롤러 클래스도 생성해서 ABGameMode에 적용 시켜주면 아래와 같이 적용이 된다.

로그인 과정 = 플레이어가 게임에 입장하는 것을 언리얼 엔진에서 표현하는 방식으로 플레이어 컨트롤러가 생성된다.

포스트 로그인 과정 = 플레이어가 조종할 폰을 생성 & 플레이어 컨트롤러가 해당 폰에 빙의하는 작업이 진행된다. 폰과 컨트롤러가 생성되는 시점은 각 액터의 postInitializeComponents함수로 파악할 수 있고, 빙의 시점은 컨트롤러의 possess, 폰의 possessedBy함수로 파악할 수 있다.


PlayerCharacter 블루프린트 클래스를 화면에 배치하고 detail window -> pawn -> auto Possess Player 를 player 0(로컬 플레이어로)설정한다 이 상테로 플레이하면 ABPawn은 생성하지 않고 화면에 배치되어있는 마네킹 액터에 빙의하는 명령이 내려진다.