Control Rotation
플레이어 컨트롤러의 컨트롤 로테이션은
플레이어의 의지의 대표적인 속성 중 하나이다
게임 세계의 물리적인 요소가 아직 고려되지 않은 상태이다
Controller와 Pawn, 그리고 컴포넌트 간의 관계
Controller - Pawn
bUseControllerRotation 속성은
컨트롤 로테이션 폰의 회전을 동기화 여부를 결정한다
true로 설정하게 되면,
컨트롤 로테이션의 축 값이 캐릭터의 Rotation 축 값과 완전 동기화가 된다
Pawn - SpringArmComponent
bUsePawnControlRotation 속성은
폰의 회전 값이 연동될지 안될지 결정한다
false로 설정하면,
폰이 회전해도 스프링암은 회전하지 않는다
컷씬을 촬영할 때, 플레이어의 회전에도 스프링암이 움직이지 않게 하기 위해 사용된다
bDoCollisionTest 속성은
폰과 카메라 사이에 벽이 있을 경우에
카메라를 폰쪽으로 당기게 자연스럽게 조절해 준다
bInherit 속성은
Root Component의 회전 값이 연동될지 안될지를 결정한다
Pawn - CameraComponent
bUsePawnControlRotation 속성은
폰의 회전 값이 연동될지 안 될지 결정한다
일반적인 경우는 SpringArmComponent의 자식 Component이기에
SpringArmComponent에 따른다
CharacterMovement Component의 회전 옵션
- RotationRate
회전 속도를 의미한다
- UseControllerDesiredRotation
컨트롤 로테이션에 폰의 로테이션을 RotationRate 속도로 동기화한다
- OrientRotationToMovement
이동 방향에 폰의 로테이션을 RotationRate 속도로 동기화한다
UseControllerDesiredRotation를 켜고 OrientRotationToMovement도 키게 되면
움직임이 이상해지기에 잘 확인해야 한다
- bUseControllerRotationYaw vs. bOrientRotationToMovement
bUseControllerRotationYaw를 true로 두면, 동시에 시선방향과 캐릭터 회전이 동기화된
bOrientRotationToMovement를 true로 두면, 이동 키를 눌러야 동기화된다
마우스 감도 조절
UE4 이하 버전에서는 InputPitchScale, InputYawScale, InputRollScale으로 조절했다
UE5 이상 버전에서는 Deprecated 되어서
Look() 함수의 인자로 전달되는 값에 계수를 곱하면서 마우스 감도를 조절한다
'게임 엔진 > [코드조선] 언리얼' 카테고리의 다른 글
언리얼 Animation - State Machine (0) | 2024.05.14 |
---|---|
언리얼 Animation - AnimInstance (0) | 2024.05.14 |
언리얼 Character - Character 클래스 생성 (0) | 2024.05.13 |
언리얼 Character - Enhanced Input System (0) | 2024.05.13 |
언리얼 Character - Pawn vs. Character (0) | 2024.05.13 |