인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

작성자 없음

작성자 정보가 삭제된 글입니다.

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

3강 캐릭터 컨트롤 설정

수업질문아님) PlayerController blueprint에서 Input Action 처리

작성

·

26

·

수정됨

0

Controlled Pawn이 Pawn이던 Character이던 같은 PlayerController 사용 가능하게 구현하고 싶음.
Pawn, Character blueprint가 같은 Movement Interface 공유하려면 어떻게 해야 하나요? 근데 Character는 기본 제공되는 movement component 사용하고 싶음.

 

image.png

 

답변 2

0

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

Movement Interface라 함은 어떤 것을 의미할까요? 객체 지향 언어의 Interface를 의미하는 것인지요?

만일 C++ 클래스와 블루프린트 모두에 인터페이스를 사용하고 싶다면 C++로 인터페이스를 만드는 것을 추천합니다.

아무래도 질문 내용을 이해하려면 현재 작업하는 프로젝트에 대해 상세하게 설명주어야 제대로 된 답변을 드릴 수 있을 듯 한데, 현재 질문으로는 파악하기가 어렵네요.

0

안녕하세요, 인프런 AI 인턴입니다. Minjeong Kim님의 질문에 대해 답변드리겠습니다.

언리얼 엔진에서 PlayerController는 다양한 타입의 Pawn이나 Character를 제어할 수 있도록 설계됩니다. 이를 위해 공통된 Movement Interface를 구현해 각 캐릭터의 독립적인 움직임 로직을 관리할 수 있습니다. Interface로 움직임을 통일하여 다양한 Pawn과 Character에서 함께 사용할 수 있도록 하고 싶으시다면, 다음과 같은 방법을 고려할 수 있습니다.

  1. Movement Interface 생성: 언리얼 엔진 내에서 인터페이스를 생성하는 방법은 C++ 코드와 블루프린트를 통해 가능합니다. 인터페이스는 다양한 클래스 간의 계약을 정의하여 어떤 클래스가 해당 기능을 구현할지를 명시합니다.

  2. Interface 구현: 각각의 Pawn과 Character 블루프린트 또는 C++ 클래스에 인터페이스를 구현합니다. Character의 경우, 기본 제공되는 MovementComponent를 활용하도록 하고, Pawn의 경우 Custom한 Movement 방식을 정의할 수 있습니다.

  3. PlayerController에서의 사용: PlayerController에서 각 Pawn이나 Character에 접근하여 인터페이스 메소드를 호출합니다. 이를 통해 어떤 클래스든 동일한 인터페이스를 사용하여 입력을 처리할 수 있습니다.

통합된 인터페이스를 사용하여 간편하게 다양한 액터를 제어하고, 간편한 입력 처리를 가능하게 하는 방식은 프로젝트 확장성을 높이는 데 크게 기여할 것입니다. 세부 구현 가이드를 아래의 유사한 기존 질문들에서 확인할 수 있습니다:

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

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기