PlayerController의 존재 의미
489
작성한 질문수 4
지금까지 컨트롤에 관련된 강의를 들으면서 PlayerController는 무슨 역할을 하는지 궁금합니다.
제가 2~3강을 듣고 이해한 흐름은 다음과 같습니다.
AABCharacterPlayer의 BeginPlay함수에서 맵핑 컨텍스트(IMC)를 설정하는데 PlayerController를 가져와 Subsystem을 선언하는데 쓰인다. (추후엔 SetCharacterControl로 바뀜)

Subsystem은 IMC를 운영하는 클래스로 Subsystem에서 InputSystem을 가져와서 DefaultMappingContext을 맵핑 컨텍스트 에셋으로 추가한다.
DefaultMappingContext는 AABCharacterPlayer의 CDO에서 주소값으로 가져온다. DefaultMappingContext는 IA_Jump, IA_Move, IA_Look가 등록된 IMC로 이걸 SubSystem에 등록시킨다.

이는 Move또는 Look함수에 있는 AddControllerYawInput 함수를 파보면 PlayerContoller에 Rotation값을 계속 갱신하는 것으로 움직인다는 것을 알 수 있다.
그렇다면 PlayerController는 그냥 GameMode에서 지정만 하고 실질적인 구현은 없는건가요?
답변 1
1
PlayerController가 Rotation 값을 가지고 있다는 것은 회전에 대한 플레이어의 의지(지향하는 방향)를 기록하고 관리한다고 이해하시면 될 것 같습니다.
현실 세계의 우리도 설정한 목표를 달성하기 위해 꾸준히 노력해 자기 자신을 변화시키는 것처럼 플레이어 컨트롤러에 저장된 Rotation 값은 다양한 방법으로 활용할 수 있습니다.
( 해당 각도가 되기 위해 카메라 혹은 캐릭터를 지정한 각속도로 서서히 회전한다던지 등등.. )
정리하면
- 캐릭터(폰)의 Rotation : 가상 세계의 액터에 설정된 현재 회전 값
- 플레이어 컨트롤러의 Rotation : 플레이어가 가상 세계의 액터에게 부여한 목표 회전 값
과 같은 용도로 활용하시면 됩니다. 다만 꼭 이렇게 해야 하는 것은 아닙니다.
이 외에도 플레이어 컨트롤러는 입력을 관장하고, UI 및 카메라를 플레이어의 화면에 보내는 등 다양한 역할을 담당합니다.
무한맵 제작과정중에 GetWorld 가 Nullptr 을 반환합니다.
0
47
2
12강 행동트리에서 질문이 있습니다.
0
52
1
위젯 사이즈랑 위치 질문드려요.
0
82
3
행동트리의 데코레이션 관련하여 질문이 있습니다.
0
94
3
VS 2026 의 문제일까요?
0
489
2
에셋참조 블루프린트질문
0
67
2
애님 몽타주 콤보 관련질문
0
70
2
ThirdPerson CDO 에러가 생깁니다.
0
95
3
캐릭터가 움직이지 않습니다.
0
182
4
쿠킹 폴더 지정시 , Item 이외에는 지정하지 않는지 궁금합니다.
0
62
2
TSoftObjectPtr 를 사용했음에도, 메모리에 로드 됩니다.
0
95
2
7강에 나오는 생성자에 대해서 궁금합니다.
0
78
2
6강을 마무리하며 트레이스 채널 을 이해하지 못했습니다.
0
73
2
3강을 마무리 하며, 카메라가 움직이지 않습니다.
0
71
2
Use Controller Rotation 옵션값이 궁금합니다.
0
84
2
3강 입력 시스템 적용 중, 5.6 버전은 입력 매팅이 2개 입니다.
0
65
2
PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.
0
78
2
13강 UpdateStat 부분에서 문제를 겪고 있습니다.
0
64
2
BP_PlayerController의 CustomEvent노드 이유가 궁금합니다.
0
66
1
콤포넌트 포인터 선언시 TObjectPtr<>과 UStaticMeshComponent* 차이점
0
73
2
CharacterMovementComponent의 RotationRate관련해서 질문이 있습니다.
0
115
2
언리얼 공부방법에 대해 질문드립니다.
0
87
2
4강 에서 이상한 그림자가 남습니다.
0
47
1
2강에서 카메라 회전안되시는분 참고
2
91
2





