언리얼 엔진 - 게임 프로젝트/리슨 서버 기반 배틀 로얄

프로젝트 세팅 - 4) 플레이어의 움직임 설계

monstro 2026. 9. 17. 15:01
728x90
반응형

- 개요

키보드의 W / A / S / D 입력을 통해 플레이어를 움직일 수 있도록 구현한다

 

- 스크립트 작업

1) SOO_PlayerCharacter 클래스

 

생성자의 로직을 위와 같이 수정한다

수정한 로직은 각각 다음과 같다

  • bOrientRotationToMovement 값을 True로 설정하여 캐릭터의 이동 방향으로 자연스럽게 회전
  • bUseControllerRotationYaw / Pitch / Roll을 False로 설정하여 컨트롤러가 회전해도 캐릭터를 고정
  • bUsePawnControlRotation 값을 True로 설정하여 플레이어의 입력에 따라 카메라도 회전

 

 

PossessedBy 함수에서 진행하던 MappingContext 설정 작업을 제거하여 PlayerController에서 수행한다

 

2) SOO_PlayerController 클래스

 

SOO_PlayerController 클래스를 위와 같이 구성한다

InputMappingContext 멤버변수를 추가하여 InputAction과 입력키를 연결한다

 

 

BeginPlay 함수를 위와 같이 구성하여

로컬 플레이어인지 확인한 후에 AddMappingContext 함수를 호출하여 InputAction과 입력키를 매핑한다

 

- 블루프린트 작업

1) BP_PlayerController 블루프린트 

 

EventGraph의 로직을 완전히 제거하고 DefaultMappingContext 멤버변수의 값을 설정한다

 

2) IA_Move 블루프린트

 

플레이어의 이동에 연결된 Input Action 블루프린트의 값 타입을 Vector2D로 설정한다

 

3) IMC_PlayerInputContext 블루프린트

수정 사항 (1)

 

수정 사항 (2)

 

InputMappingContext 블루프린트를 위와 같이 수정한다

IA_Move 액션에 대해 W / A / S / D 키를 연결한다

  • W키 : Swizzle Input Axis Values 모디파이어를 추가하여 YXZ 순서로 입력을 처리
  • A키 : Negate 모디파이어를 추가하여 음수값으로 입력을 처리
  • D키 : 해당없음
  • S키 : Swizzle Input Axis Values 모디파이어 + Negate 모디파이어를 추가하여 음수면서 YXZ 순서로 입력을 처리

 

- 최종 실행 결과

728x90
반응형