Как задать траекторию летящему снаряду в 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. Мне нужно сделать, чтобы два снаряда, вылетающие из одного и того же места в один и тот же момент двигались волнами. Как задать такую необычную траекторию?