Я пытаюсь создать сценарий, который позволит мне поворачивать камеру с эффектом Slerp в диапазоне от 0 ° до 360 ° (ось Y) через горизонтальный ползунок.Камера вращается только вдоль оси (я нахожусь в середине комнаты, и мне нужно развернуться с помощью горизонтального ползунка)
Я сделал два сценария: первый для применения к эталонному кубу для получениявращение и секунда, которые будут применены к камере для получения эффекта Slerp, после вращения куба.
Сценарий вращения куба на 360 °:
public float speed;
public Vector3 offset;
public GameObject ObjectToRotate;
public void SliderChanged(float speed)
{
ObjectToRotate.transform.rotation = Quaternion.Euler (speed*offset);
}
Скрипт для вращения камерыс эффектом Slerp:
public Transform target;
public float Speed = 0.1F;
// Update is called once per frame
void Update () {
transform.rotation = Quaternion.Slerp (transform.rotation, target.rotation, Speed);
}
}
Работает, но с некоторыми проблемами: если я бегу слишком быстро с ползунком слева (0 °) вправо (359 °), вращение Slerp не будет продолжаться правильноно, кажется, поворачивается только на 1 °, как если бы он вернулся.
Как я могу решить?Спасибо!