언리얼 엔진 - Pawn 이동
카메라 회전에는 성공했으나 플레이어 캐릭터가 움직이지 않는다.
플레이어 캐릭터가 이동할 수 있도록 설정한다.
IA_Move
Content
└─Assets
└─Input
└─Actions
└─IA_Move (+)
- IA_Move 블루프린트를 추가한다.
- 블루프린트를 열어 Value Type 값을 Asix 2D 벡터로 선택한다.
- 상하좌우 축이 2개 필요함으로 Asix 2D로 선택하였다.
IMC_Default 편집
Content
└─Assets
└─Input
└─IMC_Default (*)

- 블루프린트를 편집할 수 있도록 IMC_Default 를 열어준다.
- Mappings 를 추가하여 IA_Move 등록한다.
- WSAD 각각 처리할 수 있도록 키를 등록한다.
- 추가로 Asix2D 등록으로 X,Y,Z = 1,0,0 이 기본 Double 값이다.
- D 키는 X축이 양수 이동이므로 1,0,0 으로한다.
- A 키는 X축이 음수 이동이므로 -1, 0, 0 으로 한다. Negero 부호만 바꿔도 된다.
- W키는 Y축이 양수 이동이므로 0, 1, 0 으로 한다. XYZ->YXZ 치환한다.
- S 키는 Y축이 음수 이동이므로 0, -1, 0 으로 한다.YXZ 치환하고 Negero 부호 변경한다.
BP_PlayerController 편집
다음으로 BP_PlayerController 블루프린트를 편집한다.
Content
└─Blueprints
└─BP_PlayerController (*)
PlayerController 에서 자신이 직접 조종하는 폰을 가져와야한다. GetControlledPawn 노드를 가져와 변수로 저장한다.
캐싱 - 캐스트한 BP_Player 새로운 변수(Promote As Variable)로 저장한다.

- PlayerController 에서 직접 조종하는 BP_Player 인스턴스를 가져와 변수로 캐스트한다.
플레이어 입력으로 회전하기

- BP_Player 캐스트한 변수를 설정하였으므로 Add Movement Input 노드를 가져와 연결한다.
- IA_Move 노드, GetControlRotation 노드를 추가한다.
- Right Vector, Forward Vector 노드도 각각 추가한다.
GetControlRotation
PlayerController의 Rotation 값을 가져온다.
GetRightVector
좌우 이동 용도로 사용할 것임으로 RightVector 로 Rotation 핀을 연겨한다.
Add Movement Input
이벤트처럼 입력 키와 스케일, 회전을 입력한 값으로 Pawn(BP_Player)의 CharacterMovement 컴포넌트로 실행하라고 전달한다.