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) 모드를 빠져나갑니다.

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼