인프런 커뮤니티 질문&답변
작성자 없음
작성자 정보가 삭제된 글입니다.
캐릭터가 바라보는 방향을 기준으로 회전하기
작성
·
1.7K
퀴즈
게임 오브젝트의 이동 계산 시 Time.deltaTime 값을 곱해주는 주된 이유는 무엇일까요?
캐릭터의 최대 이동 속도를 제한하기 위해
모든 컴퓨터에서 초당 이동 거리를 일정하게 유지하기 위해
물리 엔진 계산의 정확도를 높이기 위해
오브젝트의 회전 상태에 따라 이동 방향을 결정하기 위해
답변 4
1
음~ 질문이 모호한 것 같은데요.
캐릭터가 바라보는 방향 기준으로 뒤나 왼쪽으로 가는데,
회전도 배제하지 않고 회전도 같이 돌아야 한다는 것인가요?
그 상황에서 같이 회전을 하기 때문에 현재 방향이
틀어져서 제자리를 돈다는 말씀이신가요?
그럴 땐 키보드를 누른 상황에서의 방향을 저장해서 이동한다거나
다양하게 응용이 가능합니다. (마우스 클릭 시 이동처럼)
0
0
답변 너무나 감사합니다.
구글링을 통해서 찾아봤으나.. 아직 제가 구글링 실력이 부족한가봅니다 ㅠㅠ.. 원하는 내용을 찾기가 어려워서 질문드렸습니다.
작성해주신 코드대로 캐릭터가 회전을 배제하고 바라보는 방향 기준으로 움직이는 것 까지는 스스로 해결했지만 회전 기능을 넣으면 Slerp 때문인지 제자리에서 빙빙 도는 현상이 발생하더라구요
여기에 대해 힌트를 조금만 주실 수 있을까요?
0
좋은 궁금증이지만, 저에게 물어보시면 안 되고
이런 부분은 스스로 구글링을 통해 해결을 하셔야 합니다.
아주 다양한 방식이 있을 수 있는데
가령 transform.forward를 이용해 바라보고 있는 방향 좌표를 얻고
이를 이용해 좌표를 빼줄 수 있습니다.
if (Input.GetKey(KeyCode.S))
{
//transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(Vector3.forward), 0.2f);
transform.position -= transform.forward * Time.deltaTime * _speed;
}





