본문 바로가기
[ CODING STUDY ]/》언리얼엔진5 실습

언리얼엔진5 플레이어 이동, 회전

by MRG 2023. 12. 13.
728x90
반응형

 

▣ Edit에 Project Settings를 클릭합니다.

 

 

▣ 그럼 프로젝트세팅에 관한 여러 메뉴가 나오는데 여기서 Input 메뉴를 찾아 클릭합니다. 

그럼 Bindings라는 메뉴가 있는데 Action Mappings, Axis Mappings 있습니다. 

둘을 쉽게 정리하면 Action Mappings는 키를 누르고 떼고의 상황만 반환한다고 생각하시면 되고

Axis Mappings는 키를 누르면 Scale 값이 1로 아니면 -1로 숫자로 지정한다고 생각하시면 됩니다.

이동과 회전에 대한 부분은 Axis Mappings을 사용하겠습니다. 

 

▣ Axis Mappings에 4개를 추가하겠습니다. 

앞뒤 이동 MoveForward, 오른쪽 왼쪽 이동 MoveRight,  마우스 위아래 LookUp, 마우스 오른쪽 왼쪽 LookRight로 지정하고 각각 키를 지정합니다.

 

 

▣ 그런 다음 BP_Player로 에디터로 와서 Event Graph에 노드창에 오른쪽 마우스를 클릭하고 아까 생성한 MoveForward를 검색하면 Input에 Axis Events에 MoveForward가 있는 걸 확인할 수 있습니다.

 

 

▣ 이동을 위한 Add Movement Input을 가져오겠습니다. 

방향과 이동거리를 계산해서 이동하는 함수입니다.

 

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/Input/AddMovementInput/

 

Add Movement Input

Add Movement Input

docs.unrealengine.com

 

 

▣ 이동방향에 필요한 Get Forward Vector, Get Right Vector를 가져옵니다.

- Get Forward Vector : 엑터에 정면 방향에 대한 벡터값을 반환

- Get Right Vector : 엑터에 좌우 방향에 대한 벡터값을 반환

 

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Utilities/Transformation/GetForwardVector/

 

Get Forward Vector

Get Forward Vector

docs.unrealengine.com

 

 

▣ 그리고 각각 방향과 스케일에 맞게 연결을 해주면 이동이 구현이 됩니다. 

 

https://minji11203.tistory.com/12

 

Yaw, Pitch, Roll 바로알기-스테이지 기초이론1

안녕하세요. 똑순이밍쓰입니다. 오늘은 위치 오차를 발생시키는 Yaw, Pitch Roll에 대해서 알려드리려고 합니다. 물체가 움직이면서 이동하는 경우 목표한대로 정확하게 이동을하면 좋겠지만 어떠

minji11203.tistory.com

 

▣ 회전에 관한 부분은 Yaw, Pitch, Roll에 기초이론을 알아야 합니다.

이 블로그를 참고해 주시고 저희는 어떤 방향으로 회전해야 하는지 확인합니다.

 

 

▣ 그리고 위에 그럼에서 처럼 노드를 완성합니다.

 

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/Input/AddControllerYawInput/

 

Add Controller Yaw Input

Add Controller Yaw Input

docs.unrealengine.com

 

 

▣ Add Controller Yaw Input는 컨트롤러를 이용해서 회전하는 함수이고 단순하게 회전을 넣게 되면 하드웨어 사양 때 따라 프레임에 영향을 받아 회전하기 때문에 TurnRate라는 변수를 생성하고 Get World Delata Seconds 그리고 InputAxis에 값을 곱하고 넣어줘야 합니다. 

 

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Utilities/Time/GetWorldDeltaSeconds/

 

Get World Delta Seconds

Get World Delta Seconds

docs.unrealengine.com

 

728x90
반응형

댓글