강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

충실한 전복님의 프로필 이미지
충실한 전복

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

2강 캐릭터와 입력 시스템

PlayerController 에 대헤 제가 잘못 이해한 것 같습니다.

해결된 질문

작성

·

16

0

2강의 강의에서 플레이어는 카메라, HUD 등을 관리 하고

 

폰은 입력에 대한 값을 빙의 되었을 때 실제 움직임 혹은 어떠한 액션을 줄 수 있겠금 하나의 액터 객체로 이해했는데요.

 

전 당연히 PlayerController 에 플레이어에 대한 기능 즉 (카메라 등은 어태치 하기 위해 어쩔 수 없다고 하더라도 ) 입력에 대한 처리가 잇을 줄 알았는데

 

입력에 대한 처리도 모두 PlayerCharacter 에 몰아 넣어 있습니다. 그럼 내가 특정 폰에 빙의 할 때 만약 그 폰의 클래스가 PlayerCharacter 가 아니라면 당연히 컨트롤 등을 하지 못하는 것인데요.

 

그럼 PlayerController 의 역활은 무엇인가요?

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

플레이어 컨트롤러만이 입력을 조정하는 것은 아니고 우선 순위가 높다로 이해해주시면 되겠습니다.
이건 구현하려는 게임의 장르에 따라 케바케입니다.
GTA와 같이 다양한 폰을 제공하는 게임의 경우 자동차 조작, 사람 조작의 모든 로직을 플레이어 컨트롤러에 다 몰아넣는 Monolithic한 설계는 좋은 구조는 아닙니다. 그래서 대부분의 입력 처리는 확장성을 감안해 플레이어 컨트롤러보다는 폰에서 주로 작업합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 충실한 전복님.

PlayerController와 관련된 언리얼 엔진의 구조에 대해 혼란을 겪고 계신 것 같습니다. PlayerController는 기본적으로 게임 내에서 플레이어의 입력을 받고, 이 입력을 제어하는 주요 역할을 맡습니다. 이는 카메라 제어나 HUD(Player의 인터페이스)와 같은 시스템과 인터랙션을 하며 플레이어의 경험을 연결합니다.

그러나 PlayerController가 모든 입력 처리를 하지 않는 경우가 많습니다. 왜냐하면 게임의 구조에 따라 입력 처리를 캐릭터나 Pawn에게 넘기는 것이 더 유리한 경우가 있기 때문입니다. 캐릭터가 입력을 처리하는 경우, 그 캐릭터와 관련된 특정 동작이나 애니메이션을 보다 구체적으로 제어할 수 있습니다.

  • PlayerController의 역할:
    1. 플레이어 입력 수신: PlayerController는 입력을 가장 먼저 수신하는 객체입니다.
    2. 뷰 관리: 카메라 뷰나 HUD 등의 사용자 인터페이스 관련 기능을 관리합니다.
    3. Pawn 빙의: 특정 Pawn과의 빙의(속칭 ‘빙의’)를 통해 다른 캐릭터로 제어를 전환할 수 있습니다.

만약 PlayerCharacter 대신 다른 클래스의 Pawn에 빙의하게 된다면, 해당 클래스가 필요로 하는 입력 처리 로직을 PlayerController에 두거나, 새로운 클래스에 동일한 입력 처리 인터페이스를 구현해야 합니다. 이를 위해 공통된 인터페이스를 사용할 수도 있습니다.

아래의 링크에서 PlayerController와 Character/Pawn 간의 입력 처리와 역할에 대해 이야기한 사례를 확인해보시면 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

충실한 전복님의 프로필 이미지
충실한 전복

작성한 질문수

질문하기