У меня есть круговой спрайт, который я хочу перемещать только между 2 пустыми игровыми объектами (точками). Используя Vector3.Lerp () я могу перемещать круг между этими точками
void FixedUpdate()
{
float speed = 10 * Time.deltaTime;
float current = Mathf.PingPong(Time.time * speed, 1.0f);
transform.position = Vector3.Lerp(startPoint.position, endPoint.position, current);
}
Выход:

Проблема:
Я хочу переместить этот круг с помощью перетаскивания мышью (в основном, как ползунок из точки a в точку b), и как только мышь покидает круг, чтобы прекратить его перемещение
Что я пробовал:
Я попытался добавить игровой объект с коллайдером между двумя точками и использовать триггеры, чтобы определить, когда круг выходит из триггера.
(OnTriggerExit2D), но это решение работает только тогда, когда круг полностью покидает коллайдер (чего я не хочу). Я хочу, чтобы круг двигался так же, как и в настоящее время, с помощью Vector3.Lerp, но с помощью мыши
Я пытался привязать круг только к одной оси и переместить его. Хотя это сработало, оно не сработало, когда я повернул весь ползунок, так как он заблокирован только на одной оси, и вращение не меняет это
Я также попытался внедрить положение мыши в функцию Vector3.Lerp, но безуспешно
Vector3.Lerp(startPoint.position, endPoint.position, mousePosition.x);
Я пытался с помощью y и z, все это не удалось. И этот способ не будет работать, когда я поверну ползунок