Как задать траекторию летящему снаряду в Unity 2D

В моей игре есть оружие-бумеранг. Мне необходимо, чтобы после того, как бумеранг пролетит определённое расстояние, он разворачивался и летел в обратную сторону. Скрипт самого снаряда:

public void Update()
{
    transform.Translate(Vector2.right * speed * Time.deltaTime);
}

Скрипт пушки:

    if (Input.GetKeyDown(KeyCode.X))
    {
        Instantiate(bullet, shotPoint.position, shotPoint.transform.rotation);
    }

(shotPoint - место, откуда вылетает пуля)

Мне нужно сделать, что снаряд, пролетев определённое расстояние (или через какое-то определённое время, не суть важно), развернулся, немного подлетев вверх, и полетел в обратную сторону. Вот пример того, что мне нужно, под цифрой 1:

Стрелять можно будет в восьми разных направлениях: север, юг, запад, восток, юз, юв, сз, св, и из любой точки - персонаж передвигается по всей карте, а не стреляет из фиксированного места.

Второй пример под номером 2. Мне нужно сделать, чтобы два снаряда, вылетающие из одного и того же места в один и тот же момент двигались волнами. Как задать такую необычную траекторию?


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