[unrealengine4]

2023-05-10 언리얼 수업 내용(z축 회전, PlayerController)

롤링페이퍼 2023. 5. 11. 23:21

★캐릭터 좌우 회전하도록 만들기

 

1) BP_Player의 컴포넌트 Movement -> 디폴트에서 charactor Movement(Rotation Setting)의 Orient Rotation to Mevement를 체크 -> 클래스 디폴트로 넘어가 디테일 쪽 Pawn의 Use Controller Rotation Yaw 체크 해제

character Movement쪽(왼쪽), 클래스 디폴트 쪽(오른쪽)

하지만 회전을 하면 계속 회전하는 경우를 볼수있다. 이러한 이유는 캐릭터의 기준으로 계속 값을 받아기에 계속 새롭게 갱신이 되기 때문이다. 본인이 만들고자의 목표는 카메라 기준으로 우리가 평소 게임을 했던 그 자연스러운 회전을 하는 동작을 구현해 보자.

 

 

2) 아래대로 추가해 보자

 

카메라의 회전값을 받아오게 만들되 Z축의 회전값만 받아오도록 구상되어 있다.

논 외로 캐릭터가 회전 시 시점이 살짝 답답한 것을 느끼니 SpringArm의 수치를 수정해 주자


★Player Controller 

 

작업을 하기 전 이 것을 사용하는 이유를 정리해 보자

 

 

 

Playr Controller 추가
Player Controller 플루프린트 기본 화면

Player Controller의 컴포넌트에는 Cemera 없지만 뷰포트에는 나와있는 것을 확인할 수 있다.

앞전에 Player에서 추가한 Camera 컴포넌트는 내부의 정보만 제공해 주고 그 정보를 사용하는 것은 Player Controller에서 사용된다.

따로 추가를 안해둬도 실행해보면 자동으로Player Controller가 추가되는 것을 확인할수 있다. 노랑색 표시가 실행중 추가되었다라는 표시이다.

이 것을 사용하는 이유?

예로 들면 우리는 다양한 게임을 해봤을 텐데 대표적으로 오버워치를 해봤거나 한 번쯤을 봐왔을 것이다.

그 게임은 캐릭터를 하나만 골라 계속 플레이하는 것이 아닌 전투 중 계속 캐릭터를 바꾸는 유저의 모습을 볼 수 있을 것이다.

이렇게 우리는 캐릭터를 조종했던 것은 PlayerController인 것이고, Player 한 명당 PlayerController 하나만 가질 수 있다.

그리고 우리는 캐릭터를 변경(이동)할 수 있도록 해주는 BP_PlayerController를 만들 것이다.