강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

2강 캐릭터와 입력 시스템

CharacterPlayer::Move()

작성

·

121

0

안녕하세요.

강의 37분정도까지 따라서 소스 작성하고 실행을 해봤는데요.

캐릭터의 움직임이 A,D가 앞뒤이고, W,S가 좌우로 움직이더라구요 혹시 Move함수에서 뭘 바꿔야하나 생각해서

AddMovementInput(ForwardDirection,MovementVector.X);

AddMovementInput(RightDirection,MovementVector.Y);

부분을

AddMovementInput(ForwardDirection, MovementVector.Y);

AddMovementInput(RightDirection, MovementVector.X);

로 바꾸니 제대로 동작하더라구요. 혹시 이유가 뭔지 알수있을까요?

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

안녕하세요. MovementVector는 키보드의 축 값이 들어옵니다. 그래서 AD키가 X축, WS키가 Y값이 들어온다고 보면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다.

김민재님께서 언리얼 엔진에서의 캐릭터 제어 중 방향키 입력 문제로 고민하고 계시는군요. 일반적으로 이런 문제는 입력 값이 게임 내 좌표계와 어떻게 매핑되는지에 따라 발생할 수 있습니다.

언리얼 엔진에서 입력 시스템은 기본적으로 X축을 전진 방향(앞뒤)으로, Y축을 좌우 방향으로 사용합니다. 따라서, MovementVector.X를 전방 방향(ForwardDirection)으로 전달하고, MovementVector.Y를 좌우 방향(RightDirection)으로 전달하는 것이 기본 설정입니다.

하지만, 특정 프로젝트 설정이나 언리얼 엔진의 프로젝트 좌표계 정의(특히 좌표 체계가 오른손, 왼손 좌표계 등) 때문에 방향이 바뀔 수 있습니다.

여기서 중요한 것은, W와 S가 전후 방향, A와 D가 좌우 방향으로 매핑되도록 함수를 설정해야 한다는 것입니다. 김민재님이 변경한 코드는 이러한 입력 방향을 맞추기 위한 설정이므로, 결과적으로 방향키 입력이 원하는 대로 작동하게 된 것입니다.

아래에 관련된 게시물들이 있으니, 참고하면 도움이 될 것입니다:

이 링크에서는 다른 수강생 분들이 입력 방향 문제를 어떻게 해결했는지 논의한 내용이 담겨 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기