https://leekangw.github.io/posts/20/
[UE4] RPG 게임처럼 캐릭터 움직임 구현
3인칭 RPG 게임에 자주 사용하는 카메라 회전을 만들어보자
참고 자료
1. Input 세팅
- Project Setting 내 Engine - Input 에서 확인이 가능하다.
- Scale 값을 조절해서 정방향과 역방향에 대한 키 Value를 세팅한다.
2. C++ 코드로 세팅 연결하기
- 캐릭터의 움직임을 만들기 때문에 부모 클래스를 Character로 하여 C++ 클래스로 생성
- 미리 구현되어 있는 SetupPlayerInputComponent(UInputComponent* PlayerInputComponent) 메소드를 이용하여 세팅 값을 연결한다.
3. 수행할 메소드 구현
BindAxis메소드의 3번 째 파라미터에서 Input 값을 이용해 수행할 메소드를 보냈고,
이 메소드를 통해 Input 값을 이용하여 캐릭터에 움직임을 부여할 수 있다.
FRotationMatrix 란?
FRotationMatrix에 대한 내용이 자세하게 적힌 것이 없다 보니 여러 글들을 읽고 나름대로 정리를 해보았다.
위에서 Controller->GetControlRotation()을 통해 현재 Rotation 값을 가져오고
그 값을 FRotationMatrix를 통해 회전 행렬로 값을 변환한다.
변환된 회전 행렬에서 원하는 Axis(축)을 구할 수 있는데 언리얼 엔진에서는 X축이 전후방, Y축이 좌우를 담당하고 있다.
그러므로, MoveForward 메소드에서 GetUnitAxis(EAxis::X)를 통해 전방의 방향인 X축 방향을 구할 수 있고,
MoveRight 메소드에서 GetUnitAxis(EAxis::Y)를 통해 우측 방향인 Y축 방향을 구할 수 있다.
4. 결과
카메라 움직임이 적용되어 있습니다.
'언리얼레퍼런스 > 캐릭터애니메이션' 카테고리의 다른 글
캐릭터애니메이션 언리얼 사이트 문서 (0) | 2023.11.15 |
---|---|
마우스클릭으로 이동하기 (1) | 2023.11.15 |
적이 플레이어 따라가기 (1) | 2023.11.14 |
[UE5] Notify (1) | 2023.11.09 |
캐릭터 움직이기 (0) | 2023.11.08 |