graniza, а вот теперь можно ответить о пользе математики в программировании.
Заставить двигаться его по круговой траектории просто - параметрическое уравнение круга.
Код
public float RotateSpeed = 10.0f; // Скорость вращения
public float Orbit; // радиус орбиты
public float AlphaChange = 1; // Скорость изменения угла
private float centerX = -2.5f, centerY = 3.78f; // координаты центра
public float alpha = 0.0f; // угол
void Update () {
alpha += 0.0001f * AlphaChange; // изменяем угол
this.transform.Rotate(Vector3.right * Time.deltaTime);
this.transform.Rotate(Vector3.up * Time.deltaTime * RotateSpeed, Space.World);
this.transform.position = (new Vector3((Orbit * Mathf.Cos(alpha) + centerX), (Orbit * Mathf.Sin(alpha) + centerY)));
}
В апдейте производим немного магии и двигаем объект по таким условиям: