인프런 커뮤니티 질문&답변
플레이어 움직임이 끝날때, 기울어짐 현상
작성
·
29
·
수정됨
0

플레이어를 클릭으로 이동하는데, 이동후에 스크린샷 처럼 기울어짐이 발생합니다.
유니티가 익숙해질 때까지 지속적으로 연습하고 그 후에 서버 인강을 들을예정인데,
다른 답변을 보니 서버에서 다시 설정을 해야된다고 말씀을 하셨습니다.
작은 게임을 만들기위해 이 문제를 고치고 여러가지 간단한 게임을 만들어보고 익숙해지고 싶은데, 어떻게 하면 이문제를 해결할 수 있을까요??
이 강의로 c# 도 처음 접해보는 저로서는 어떻게 구글링 해야될지도 막막하네요. 아무리 검색해봐도 안나오네요.
(참고로 Use Gravity 체크도 해제해봤고, Freeze Rotation도 체크해봤습니다.)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 최승주님.
캐릭터가 이동 후 기울어지는 문제는 유니티의 물리 엔진에서 흔히 발생하는 문제입니다. 이 문제는 주로 Rigidbody 설정에 의해 발생하며, Rigidbody의 회전 제한(Rotation Constraints) 설정을 제대로 해주시면 해결될 수 있습니다.
플레이어가 이동 후 기울어지는 문제를 해결하는 방법에 대한 몇 가지 제안을 드리겠습니다:
Rigidbody 설정 확인:
- Rigidbody 컴포넌트의 Constraints 섹션에서 Freeze Rotation의 X, Y, Z 축을 체크하여 회전을 제한해 보세요. 이 설정은 물체가 특정 축으로 회전하지 않도록 막아줍니다.
- Rigidbody의 Is Kinematic 옵션을 활성화하여 물리적인 영향을 받지 않도록 설정하는 것도 고려할 수 있습니다. 하지만 물리 엔진의 일부 기능은 사용하지 못할 수 있습니다.
- Rigidbody 컴포넌트의 Constraints 섹션에서 Freeze Rotation의 X, Y, Z 축을 체크하여 회전을 제한해 보세요. 이 설정은 물체가 특정 축으로 회전하지 않도록 막아줍니다.
NavMesh 사용 고려:
- 캐릭터가 길찾기(Navigation)를 통해 이동하는 경우라면 Unity의 NavMesh를 사용하는 것도 좋은 방법입니다. NavMeshAgent를 사용하면 캐릭터의 이동을 좀 더 자연스럽게 제어할 수 있습니다.
- 캐릭터가 길찾기(Navigation)를 통해 이동하는 경우라면 Unity의 NavMesh를 사용하는 것도 좋은 방법입니다. NavMeshAgent를 사용하면 캐릭터의 이동을 좀 더 자연스럽게 제어할 수 있습니다.
코드에서 직접 제어:
- 만약 스크립트로 직접 이동을 제어하고 있다면, 이동이 끝난 후 정확한 위치로 캐릭터를 재설정하는 코드를 추가해 보세요.
- 특정 위치에 도착할 때 캐릭터의 rotation을 강제로 조정하여 기울어짐을 방지할 수 있습니다.
- 만약 스크립트로 직접 이동을 제어하고 있다면, 이동이 끝난 후 정확한 위치로 캐릭터를 재설정하는 코드를 추가해 보세요.
비슷한 문제와 해결책이 담긴 게시글들을 참고해보시길 추천드립니다:
- 마우스 클릭 후 물리현상 글에서는 유사한 문제를 다루고 있으며, 물리 엔진의 영향을 받지 않기 위해 Rigidbody 설정을 변경하는 방법에 대해 설명합니다.
- 마우스 클릭시 기울어집니다 글에서는 Is Kinematic 옵션을 통해 문제를 해결할 수 있다고 설명합니다.
추가적으로, C#과 유니티에 익숙해지기 위해 작은 프로젝트를 반복해서 만들어 보는 것이 큰 도움이 됩니다. 그러한 과정을 통해 문제 해결 능력을 기르고, 어떻게 구글링할 것인지도 자연스럽게 익히게 됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





