Передвижение объекта при изменении значения слайдера

Мне нужно, чтобы объект (куб) двигался влево-вправо при изменении (уменьшении-увеличении) значения слайдера снизу.
Не знаю как реализовать.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Максим Фисман

В компоненте Slider установите значение [MaxValue'](https://docs.unity3d.com/ru/530/ScriptReference/UI.Slider-maxValue.html) на 1`.

На кубик повесьте подобный скрипт:

public Vector3 leftPos, rightPos; // Указать из инспектора (или где-либо еще)
public void OnSliderMoved (float value) {
    transform.position = Vector3.Lerp(leftPos, rightPos, value);
}

Слайдеру добавьте событие в OnValueChanged. Укажите кубик, выберите скрипт кубика, укажите функцию. Важно выбрать функцию не статическую, а динмическую (в списке функций все динамические будут выше).

Мы используем Vector3.Lerp и телепортируем кубик в указанную позицию. Если необходимо можно просто сохранять целевую позицию в переменную и перемещать туда кубик любым удобным способом: с помощью физики, transform.Translate, анимацией — как угодно.

→ Ссылка