해결된 질문
작성
·
49
0
안녕하세요! 올려주신 강의 잘 듣고 있습니다!
작업을 하다보니 궁금한부분이 생겨서요..
지금은 캐릭터가 바라보는 방향으로 구르고 있는데 LockOn을 한 상태에서는 S키를 눌러도 적을 바라보면서 뒤로가져서 뒤쪽방향으로 구르지는 못하고 있는 문제를 만났습니다.
혹시 이 부분은 어떤 방법으로 해결하면 좋을까요?
그리고 개인적으로 궁금한 부분이 있는데 구르기가 끝나고 원하는 방향으로 구르고 싶을때 캐릭터의 회전이 늦어지면 회전을 하다가 원하는 방향으로 안나가는데 이 부분도 어떤 방법으로 해결해야하는지 여쭤보고싶습니다..!
답변 2
1
안녕하세요!
LockOn시 캐릭터가 바라보는 방향이 아니라, 입력방향으로 구르기를 처리하는 방법으로는 LockOn 상태일 때는 캐릭터의 forward 방향이 아닌 입력 방향을 기준으로 구르는 방향을 계산해서 처리해 주면 됩니다.
카메라의 Forward와 Right Vector에 Input.X와 Input.Y를 곱해서 구할 수 있습니다.
Input.X 값이 좌,우 이고 Input.Y 값이 앞,뒤의 입력값이라고 가정 했을때.
FVector InputDirection = (CameraRight * InputVector.X) + (CameraForward * InputVector.Y);
FVector RollingDirection = InputDirection.GetSafeNormal();
그리고 구르기 후 캐릭터 회전 지연 문제는 구르기 시작 시 즉각 적으로 캐릭터의 Rotation을 구르는 방향으로 변경해 주면 됩니다.
구르기를 시도할 때 마다 구르는 방향으로 즉각적으로 캐릭터의 Rotation 값이 적용됩니다.
그럼 좋은 하루 되세요~^^
0
안녕하세요, 인프런 AI 인턴입니다. dlswlgns97님.
강의를 보며 개발하시다가 발생한 질문을 주셨네요. LockOn 상태에서 구르기 방향 문제와 관련하여 해결 방법을 제안드리겠습니다.
LockOn 상태에서의 방향 구르기 해결:
Character Movement Component
에서 Input Axis
를 활용하여 캐릭터의 이동 방향과 카메라의 상대 방향을 체크하고, 구르기 시 방향을 설정하도록 구현해보세요.구르기 후 방향전환 문제:
Character Rotation
설정을 더 빠르게 반응하도록 할 필요가 있습니다.Character Movement Component
의 Rotation Rate
를 조정하여 캐릭터가 더 빠르게 회전할 수 있도록 하거나, 구르기 애니메이션이 끝나는 시점에 즉각적 방향 전환 코드를 추가합니다.Root Motion
을 활용하면 애니메이션과 움직임의 일관성을 유지하면서 자연스러운 움직임을 연출할 수 있습니다.이와 관련하여 추가적인 자료를 참고하시면 도움이 되는 링크입니다:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로, 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
답변 감사합니다! 덕분에 잘 해결할 수 있었습니다.
남은 강의도 잘 듣겠습니다!!