Controller

강성원·2023년 11월 21일
0

PlayerController 는 Pawn 과 그것을 제어하는 사람 플레이어 사이의 인터페이스입니다.

플레이어 컨트롤러 클래스를 만들고 Pawn 움직임 제어 기능을 구현한다.

  • GameModeBase 클래스를 생성한다.
  • 월드 세팅에서 GameMode Override를 생성한 게임 모드로 바꾸어준다.

    디폴트 폰은 BP_Knight로, 플레이어 컨트롤러도 뒤에 만들 BP_PlayerController로.

플레이어 컨트롤러

  • Player Controller 클래스를 생성하고 BP_PlayerController로 이름지어준다.
  • 플레이어 컨트롤러가 조종하는 Pawn 객체를 변수로 관리
  • BP_Knight에 있던 UpdateInput 함수를 BP_PlayerController에 옮긴다.
    UpdateInput의 내용을 다 가져오지만 Pawn객체로부터 멤버를 Get으로 가져오는 부분을 고쳐주어야함.

    이렇게 하면 움직임의 구현부는 따로 뺴놓았지만 이전과 동일한 실행이 가능함.

AI 컨트롤러

  • AIController를 생성해주고 BP_AIController로 이름지어준다.
  • BP_Monster의 AI Controller Class를 위에 생성해준 컨트롤러로 세팅.
  • AIController도 PlayerController와 동일하게 조종하는 Pawn객체를 변수로 가지고 있고, 움직임 구현부도 Pawn 객체 변수로부터 멤버를 들고와서 내용을 완성한다.

내가 아직 언리얼에서 제공하는 기능들을 다 몰라서 그런가 컨트롤러라는 부모 클래스를 사용하는 이유를 모르겠다.
보면 게임 모드와 밀접한 관련이 있긴 하지만 이런 편의성이 아직은 불편하다..ㅎㅎ
다른 아무개 클래스에 움직임을 구현해놓고 그 클래스의 것을 직접 호출하는 형식을 편하게 이용할 수 있게 해준 것 같은데..조금 더 익숙해지고 나중에 코드도 파봐야 될 것 같다.

profile
개발은삼순이발

0개의 댓글