작성
·
145
·
수정됨
0
안녕하세요
Enhanced Input Mapping Context 에서 Input Action 을 바인딩하는 부분에서 W,S 키를 눌러 전진, 후진을 처리하는 IA 에서는 Vector2D Y 위치에 값을 대입하고 A,D 좌우에는 X 값에 값을 대입하는데요 (Swizzle Input Axis Value 를 이용해서)
언리언 엔진에서 character 를 살펴보면 좌표계는 왼손 좌표계이고 캐릭터가 앞을 바라보는 부분이 X 축에 위치하고 우측이동이 Y 축인데 왜 Y 위치에 전진 관련 값을 처리하도록 넣는 건가요?
void AABCharacterPlayer::Move(const FInputActionValue& Value) 함수에서도
전진은 X 축으로
const FVector ForwardDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::X);
AddMovementInput(ForwardDirection, MovementVector.X);
좌우는 Y 축으로 처리하는데
const FVector RightDirection = FRotationMatrix(YawRotation).GetUnitAxis(EAxis::Y);
AddMovementInput(RightDirection, MovementVector.Y);
처리 과정이 궁금합니다.
답변 1
0
네, 이전에도 비슷한 질문이 있었는데, 입력에서의 XYZ 축은 언리얼의 월드 좌표계가 아닌 키보드 레이아웃 (ASDW)을 의미합니다. 키보드의 Y축이 게임의 X축에 맵핑된다고 생각하면 되겠습니다.