Фон: Я создаю приложение для поиска сокровищ AR.Это просто, у него есть локатор, который говорит вам, где сокровище относительно вас.У меня есть камера, являющаяся источником, а сокровище - объект в мире AR.
Вопрос: Я хотел бы повернуть свою стрелу в соответствии с тем, где в космосе находится сокровище.но в 2д.По сути, я бы проигнорировал относительную прямую плоскость, которая является camera.forward.
Пример: Если поворот камеры установлен по умолчанию, угол можно рассчитать как atan2 (dy, dx).Если камера смотрит прямо вниз, угол составляет atan2 (dz, dx).
То, что я пробовал:
Quaternion lookRot = Quaternion.LookRotation(target.transform.position - origin.transform.position);
Quaternion relativeRot = Quaternion.Inverse(origin.transform.rotation) * lookRot;
Относительное вращение правильное в трехмерном пространстве, но я хотел бы преобразовать его в 2d, игнорируя плоскость camera.forward.Поэтому, даже если сокровище находится перед камерой или позади нее, угол не должен меняться.