Я работаю над единой игрой, и у меня есть игровой объект, мне нужно постоянно поворачиваться к целевому углу, и он должен идти кратчайшим путем туда.
Я пытался использовать lerp co-рутины, чтобы добавить/ вычитаем его на угол, но когда я использую его для быстрого, он застревает в странных положениях
Transform target;
float speed;
//The angle to constantly rotate torwards
float yRotation = 120f;
private int dick;
void Start()
{
}
void Update()
{
if (Input.GetKeyDown(KeyCode.D))
{
if (dick < 3)
{
dick += 1;
}
else
{
dick = 1;
}
}
else if (Input.GetKeyDown(KeyCode.A))
{
if (dick >0 )
{
dick -= 1;
}
else
{
dick = 3;
}
}
if (dick == 1)
{
yRotation = 0;
}
else if (dick == 2)
{
yRotation = 120;
}
else if (dick == 3)
{
yRotation = 240;
}
Как вы можете видеть, есть некоторые части из старого кода
Причина, по которой я используютакого рода система передач такова, что она не может застрять в странных положениях, но я не уверен, как постоянно поворачивать ее на этот целевой угол