특정 방향을 가리키는 게임에 유닛이 있습니다. 다른 방향으로 회전하면 가장 짧은 선회가 가능합니다. 이 계획은 특정 각도에서 시작하고 방향을 향해 선형 (선형 보간)하는 데 필요한 각도를 필요로합니다.게임에서 유닛 회전
예를 들어, 10도에서 350도까지 lerping하면 -10의 목표 각도를 계산해야합니다. 반대로 350에서 10으로 줄이는 것은 370 도의 끝을 계산해야합니다.
이러한 필수 최종 값을 계산할 수있는 알고리즘은 무엇입니까?
편집 : 내가 시간이 지남에 따라 각도를 계산하기 위해 선형 보간법을 사용하고
을 필요 이상 혼란이있는 것 같습니다. 그래서 10에서 20까지 얻고 자한다면 최종 값은 20이어야합니다. 그런 다음 10에서 20까지 보간하여 오른쪽으로 회전합니다. 그러나 마찬가지로 20에서 10으로 가고 싶다면 20에서 10까지 보간법을 반 시계 방향으로 진행하면됩니다. 문제는 시계 방향으로 180도 이상, 270도에서 80도 (210도)가 시계 방향으로 회전해야 할 때, 270에서 80까지의 직선 보간이 반 시계 방향으로 진행될 때 270도에서 420도 (360도 +80), 반 시계 방향으로 진행됩니다.
나는 당신이 말한 것처럼 항상 가장 짧은 차례를 택하려고한다고 가정 할 때, 당신의 예제에 혼란 스럽다. 10 도의 표제를 가지고 있으며 350도까지 회전하고자한다면 -20도 회전입니다. 350 도의 표제를 가지고 있고 10 도가되기를 원한다면 +20도 회전합니다. 내가 놓친 게 있니? –
예, 델타가 아닌 _end 값 _을 계산해야합니다. 10-> 350의 선형 보간은 시계 방향으로 가고, 10-> -10의 선형 보간은 시계 반대 방향으로 바뀝니다. – Martin
일정한 속도를 원하십니까? 거기에 도착할 고정 시간? 델타가있는 경우 각도의 증가분 (일부분)을 사용하고 보간을 시도하지 마십시오. – phkahler