Я пытаюсь вычислить круговое движение (орбиту) вокруг объекта.Код, который я имею, дает мне хорошую круговую орбиту вокруг объекта.Проблема в том, что когда я вращаю объект, орбита ведет себя так, как будто объект не вращался.
Ниже я привел очень простую диаграмму, чтобы попытаться объяснить ее лучше.Слева - то, что я получаю, когда цилиндр находится в вертикальном положении, середина - то, что я получаю, когда объект вращается.Изображение справа - это то, что я хотел бы получить.
float Gx = target.transform.position.x - ((Mathf.Cos(currentTvalue)) * (radius));
float Gz = target.transform.position.z - ((Mathf.Sin(currentTvalue)) * (radius));
float Gy = target.transform.position.y;
Gizmos.color = Color.green;
Gizmos.DrawWireSphere(new Vector3(Gx, Gy, Gz), 0.03f);
Как я могу заставить орбиту меняться при вращении объектов?Я попытался умножить положение орбиты "новый вектор 3 (Gx, Gy, Gz)" на вращение объекта:
Gizmos.DrawWireSphere(target.transform.rotation*new Vector3(Gx, Gy, Gz), 0.03f);
но это, похоже, ничего не дало?