Как заставить один объект двигаться к другому?

Есть код. Есть массив платформ, к одной из которых должен двигаться объект, когда входит в триггер. Но не движется. Ошибок никаких нет. Проверяла через Update для теста - не работает. Не понимаю, почему. Смотрела видео по MoveTowards - вроде бы, он подходит для задачи

[SerializeField] private GameObject _landingPlatform;
private int _landingSpeed = 10;


private void OnTriggerEnter(Collider other)

{
    if (other.gameObject.CompareTag("Player"))
    {
        Landing();   
    }
}

private void Landing()
{  
    gameObject.transform.Translate(Vector3.MoveTowards(gameObject.transform.position, _landingPlatform.transform.position, _landingSpeed));
}

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

Автор решения: Алексей Шиманский

OnTriggerEnter выполнится единовременно, в то время как движение вам нужно постоянно на сколько я понимаю. Так что вам нужно движение сделать в методе Update, в зависимости от того вошёл объект в триггер или нет. То есть по сути в OnTriggerEnter надо положить какую-то булево значение в некую переменную, а в Update смотреть, если эта переменная стала true - работает Landing()

→ Ссылка