내일배움캠프 사전캠프 10일차 - 캐릭터 이동 구현(Part 2)
1. 개념 바로 알기
Character Movement Component란?
- 언리얼의 기본 캐릭터 클래스에는 움직임을 제어하는 컴포넌트가 기본 탑재됨
- 이동 속도, 점프 높이, 중력 설정 등 다양한 조절이 가능함
- Spring Arm은 카메라와 캐릭터 간 거리를 부드럽게 유지시켜줌
- 카메라가 캐릭터를 따라다니며 회전하게 만들 수 있음
2. 직접 구현해보기
목표: 캐릭터에 점프, 카메라 회전 기능을 추가하고, 자연스러운 조작을 구현합니다.
[Step 1] 점프 기능 활성화
- Project Settings > Input에서 Jump 액션 확인 (기본: Spacebar)
- MyCharacter 블루프린트에서 Jump 입력 이벤트 연결- MyCharacter 블루프린트 → Event Graph
- 우클릭 → InputAction Jump 검색 → Event → Jump() 노드 연결
- InputAction StopJumping → StopJumping() 연결
[Step 2] 이동 속도와 점프 높이 조절
- MyCharacter > Character Movement 컴포넌트 선택
- 아래 항목 조정해보기:- Max Walk Speed: 기본 600 → 800 추천
- Jump Z Velocity: 기본 420 → 600 추천
[Step 3] 카메라 회전 설정
1) MyCharacter > SpringArmComponent 선택 > 'Use Pawn Control Rotation' 체크
2) CameraComponent 선택 > 'Use Pawn Control Rotation' 체크 해제
3) MyCharacter 블루프린트의 Class Defaults에서 > 'Use Controller Rotation Yaw' 체크[Step 4] 테스트 플레이
- WASD + 마우스 회전 + 점프 조합으로 캐릭터 조작
- 자연스럽게 회전하며 걷고 점프하는지 확인
3. 결과 확인
캐릭터의 SpringArm과 Camera의 'Use Pawn Control Rotation'의 영향으로 캐릭터를 따라다니면서, 때로는 카메라가 벽에 충돌해 캐릭터와의 거리가 줄어들었다 늘어나는 것을 확인할 수 있었다.
또한, 캐릭터의 'Use Controller Rotation Yaw'를 체크함으로써 캐릭터의 Yaw각도가 자기에게 할당된 컨트롤러의 Yaw각도와 일치하게 됨으로써 항상 컨트롤러가 바라보는 방향으로 바라보게 되었다.
그로 인해 앞으로 달릴때는 자연스러우나, 뒤로 달릴때는 관련 애니메이션을 준비하지 않았으므로 앞으로 달려나가는 동작을 취하는 등 부자연스러운 면을 보인다.
댓글
댓글 쓰기