이번 단계에서는 캐릭터의 시야 및 이동방향을 마우스로 조정하는 기능을 추가하겠습니다.
턴 축 매핑
편집 메뉴에서 프로젝트 세팅 에 클릭 합니다.
프로젝트 세팅 탭 왼편의 엔진 제목줄 아래 입력 에 클릭 합니다.
바인딩 아래, 축 매핑 옆의 더하기 부호를 클릭 합니다.
축 매핑 왼편의 화살표를 클릭 합니다.
뜨는 글상자에 Turn 이라 입력한 뒤 글상자 왼쪽의 화살표를 클릭 하여 축 바인딩 옵션을 펼칩니다.
드롭다운 메뉴의, 마우스 드롭다운 목록에서 Mouse X 를 선택합니다.
입력 세팅은 이제 다음과 같은 모습일 것입니다:
쳐다보기 축 매핑
바인딩 아래, 축 매핑 옆 더하기 부호를 클릭 합니다.
뜨는 글상자에 LookUp 이라 입력한 뒤, 글상자 왼쪽의 화살표를 클릭하여 축 바인딩 옵션을 펼칩니다.
드롭다운 메뉴의, 마우스 드롭다운 목록에서 Mouse Y 를 선택합니다.
Mouse Y 옆의 Scale 칸에 -1.0 이라 입력합니다.
입력 세팅이 다음과 같아 보일 것입니다:
프로젝트 세팅 메뉴를 닫습니다.
입력 처리 구현
회전과 쳐다보기에 대한 마우스 입력 처리를 하는 코드를 추가할 차례입니다. Character
베이스 클래스는 다음과 같은 필수 함수 둘을 정의합니다:
AddControllerYawInput
AddControllerPitchInput
마우스 감도나 축 반전과 같은 추가 처리를 해 주려거든, 입력 값을 함수에 전달하기 전 별도의 조정을 가하는 함수를 추가해 주면 되지만, 여기서는 입력을 바로 AddControllerYawInput
과 AddControllerPitchInput
함수에 바인딩하도록 하겠습니다.
FPSCharacter.cpp
의SetupPlayerInputComponent
에 다음 줄을 추가합니다.// "look" 바인딩 구성 PlayerInputComponent->BindAxis("Turn", this, &AFPSCharacter::AddControllerYawInput); PlayerInputComponent->BindAxis("LookUp", this, &AFPSCharacter::AddControllerPitchInput);
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); }
마우스 카메라 컨트롤 테스트
Visual Studio 에서
FPSCharacter
구현 파일을 저장합니다.Solution Explorer 에서 FPSProject 를 찾습니다.
FPSProject 에 우클릭하고 Build 를 선택하여 프로젝트를 컴파일합니다.
빌드 완료후, 언리얼 에디터에서 FPSProject 를 엽니다.
레벨 에디터 툴바에서 플레이 버튼을 클릭 합니다. 이제 카메라를 마우스로 제어할 수 있습니다.
Esc 키를 누르거나 레벨 에디터에서 중지 버튼을 클릭하여 에디터에서 플레이(PIE) 모드를 빠져나갑니다.