반응형
👨💻 안녕하세요, 윌리 프로젝트의 윌리 입니다.
언리얼 엔진에서 향상된 입력 시스템(Enhanced Input System) 을 활성화하는 방법은 어떻게 되는지 간략히 알아보았습니다.
질문 >
언리얼 엔진에서 향상된 입력 시스템(Enhanced Input System) 을 활성화하는 방법은 어떻게 되나요?
답변 >
향상된 입력 시스템(Enhanced Input System)을 활성화하려면 다음 단계를 따르세요. 이 시스템은 언리얼 엔진 5에서 새로운 입력 처리 방식으로 도입되었으며, 이를 사용하려면 관련 플러그인을 활성화하고 설정을 구성해야 합니다.
1. 플러그인 활성화
Enhanced Input System은 플러그인을 활성화해야 사용할 수 있습니다.
- 플러그인 메뉴 열기:
- Edit > Plugins 메뉴를 클릭하여 플러그인 관리 창을 엽니다.
- Enhanced Input 검색:
- 검색창에 Enhanced Input을 입력합니다.
- 플러그인 활성화:
- "Enhanced Input" 플러그인을 찾고 체크박스를 선택해 활성화합니다.
- 에디터 재시작:
- 플러그인을 활성화한 후에는 언리얼 에디터를 다시 시작해야 합니다.
2. 프로젝트 기본 입력 클래스로 전환
향상된 입력 시스템을 사용하려면 프로젝트에서 해당 시스템을 기본 입력 처리 방식으로 설정해야 합니다.
- Project Settings 열기:
- Edit > Project Settings 메뉴를 클릭합니다.
- Default Input Class 설정:
- 왼쪽 메뉴에서 Input을 선택합니다.
- Default Input Class를 Enhanced Player Input으로 변경합니다.
3. Enhanced Input 설정 구성
Input Mapping Context 생성
- Input Mapping Context 생성:
- 콘텐츠 브라우저에서 우클릭 > Input > Input Mapping Context를 선택하여 새 매핑 컨텍스트를 생성합니다.
- 생성된 매핑 컨텍스트를 열어 키보드, 마우스, 컨트롤러 입력을 정의합니다.
- Input Action 생성:
- 우클릭 > Input > Input Action을 선택하여 입력 동작(Action)을 정의합니다.
- 예: Jump, Move, Fire 등의 입력 동작 추가.
- 키 매핑 설정:
- Input Mapping Context에서 생성한 Input Action을 선택하고 키보드, 마우스, 또는 컨트롤러 입력을 매핑합니다.
4. 플레이어 컨트롤러에서 매핑 컨텍스트 적용
플레이어 컨트롤러나 캐릭터 클래스에서 매핑 컨텍스트를 활성화해야 합니다.
void AMyPlayerController::BeginPlay()
{
Super::BeginPlay();
// Enhanced Input Subsystem 가져오기
UEnhancedInputLocalPlayerSubsystem* Subsystem = ULocalPlayer::GetSubsystem<UEnhancedInputLocalPlayerSubsystem>(GetLocalPlayer());
if (Subsystem)
{
Subsystem->AddMappingContext(MyMappingContext, 0); // 우선순위 0
}
}
- AddMappingContext를 사용하여 특정 Input Mapping Context를 추가합니다.
5. 입력 처리 구현
향상된 입력 시스템은 UEnhancedInputComponent를 통해 입력 처리를 관리합니다.
캐릭터 클래스에서 입력 바인딩
void AMyCharacter::SetupPlayerInputComponent(UInputComponent* PlayerInputComponent)
{
Super::SetupPlayerInputComponent(PlayerInputComponent);
UEnhancedInputComponent* EnhancedInput = Cast<UEnhancedInputComponent>(PlayerInputComponent);
if (EnhancedInput)
{
EnhancedInput->BindAction(JumpAction, ETriggerEvent::Started, this, &AMyCharacter::Jump);
EnhancedInput->BindAction(MoveAction, ETriggerEvent::Triggered, this, &AMyCharacter::Move);
}
}
장점
- 동적 입력 체계: 매핑 컨텍스트를 상황에 따라 동적으로 전환할 수 있습니다.
- 확장성: 복잡한 입력 로직과 다양한 입력 디바이스를 손쉽게 지원.
- 리매핑: 플레이어가 입력을 자유롭게 변경 가능.
결론
Enhanced Input System은 강력하고 유연한 입력 처리 도구로, 복잡한 입력 로직이나 다양한 입력 장치를 사용하는 게임 개발에 적합합니다. 위 단계를 통해 Enhanced Input을 활성화하고 설정하면, 기존 입력 시스템보다 발전된 기능을 사용할 수 있습니다.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
🎬 유튜브 채널 🎬
🎬 치지직 채널 🎬
반응형