2.4 - 마우스 카메라 컨트롤 구현

일인칭 슈팅 캐릭터에 대한 마우스 카메라 컨트롤 구현법을 배워봅니다.

Windows
MacOS
Linux

이번 단계에서는 캐릭터의 시야 및 이동방향을 마우스로 조정하는 기능을 추가하겠습니다.

턴 축 매핑

  1. 편집 메뉴에서 프로젝트 세팅클릭 합니다.

  2. 프로젝트 세팅 탭 왼편의 엔진 제목줄 아래 입력클릭 합니다.

  3. 바인딩 아래, 축 매핑 옆의 더하기 부호를 클릭 합니다.

  4. 축 매핑 왼편의 화살표를 클릭 합니다.

  5. 뜨는 글상자에 Turn 이라 입력한 뒤 글상자 왼쪽의 화살표를 클릭 하여 축 바인딩 옵션을 펼칩니다.

  6. 드롭다운 메뉴의, 마우스 드롭다운 목록에서 Mouse X 를 선택합니다.

  7. 입력 세팅은 이제 다음과 같은 모습일 것입니다:

    TurnAxisMapping_MouseX.png

쳐다보기 축 매핑

  1. 바인딩 아래, 축 매핑 옆 더하기 부호를 클릭 합니다.

  2. 뜨는 글상자에 LookUp 이라 입력한 뒤, 글상자 왼쪽의 화살표를 클릭하여 축 바인딩 옵션을 펼칩니다.

  3. 드롭다운 메뉴의, 마우스 드롭다운 목록에서 Mouse Y 를 선택합니다.

  4. Mouse Y 옆의 Scale 칸에 -1.0 이라 입력합니다.

  5. 입력 세팅이 다음과 같아 보일 것입니다:

    TurnAxisMapping_MouseY.png

  6. 프로젝트 세팅 메뉴를 닫습니다.

입력 처리 구현

회전과 쳐다보기에 대한 마우스 입력 처리를 하는 코드를 추가할 차례입니다. Character 베이스 클래스는 다음과 같은 필수 함수 둘을 정의합니다:

  • AddControllerYawInput

  • AddControllerPitchInput

마우스 감도나 축 반전과 같은 추가 처리를 해 주려거든, 입력 값을 함수에 전달하기 전 별도의 조정을 가하는 함수를 추가해 주면 되지만, 여기서는 입력을 바로 AddControllerYawInputAddControllerPitchInput 함수에 바인딩하도록 하겠습니다.

  1. FPSCharacter.cppSetupPlayerInputComponent 에 다음 줄을 추가합니다.

    // "look" 바인딩 구성
    PlayerInputComponent->BindAxis("Turn", this, &AFPSCharacter::AddControllerYawInput);
    PlayerInputComponent->BindAxis("LookUp", this, &AFPSCharacter::AddControllerPitchInput);
  2. SetupPlayerInputComponent 함수는 이제 다음과 같아 보일 것입니다:

    // 함수성을 입력에 바인딩하기 위해 호출됩니다.
    void AFPSCharacter::SetupPlayerInputComponent(class UInputComponent* PlayerInputComponent)
    {
        Super::SetupPlayerInputComponent(PlayerInputComponent);
    
        // "movement" 바인딩을 구성합니다.
        PlayerInputComponent->BindAxis("MoveForward", this, &AFPSCharacter::MoveForward);
        PlayerInputComponent->BindAxis("MoveRight", this, &AFPSCharacter::MoveRight);
    
        // "look" 바인딩을 구성합니다.
        PlayerInputComponent->BindAxis("Turn", this, &AFPSCharacter::AddControllerYawInput);
        PlayerInputComponent->BindAxis("LookUp", this, &AFPSCharacter::AddControllerPitchInput);
    }

마우스 카메라 컨트롤 테스트

  1. Visual Studio 에서 FPSCharacter 구현 파일을 저장합니다.

  2. Solution Explorer 에서 FPSProject 를 찾습니다.

  3. FPSProject 에 우클릭하고 Build 를 선택하여 프로젝트를 컴파일합니다.

    BuildProject.png

  4. 빌드 완료후, 언리얼 에디터에서 FPSProject 를 엽니다.

  5. 레벨 에디터 툴바에서 플레이 버튼을 클릭 합니다. 이제 카메라를 마우스로 제어할 수 있습니다.

  6. Esc 키를 누르거나 레벨 에디터에서 중지 버튼을 클릭하여 에디터에서 플레이(PIE) 모드를 빠져나갑니다.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback