Повернуть объект в сторону другого объекта не используя LookAt

Я делаю Billboard Script (скрипт который будет поворачивать объект к камере, как в Doom или Baldi) и пытаюсь применить разные оптимизации. Дело в том, что он должен быть максимально производителен, ведь у меня есть несколько сотен объектов которые нужно поворачивать к камере. transform.LookAt - одна из проблем моего скрипта, ведь эта функция очень дорогая. Как вручную повернуть объект к камере не используя LookAt? Буду благодарен.

Уточнение: поворачивать нужно только по оси Y


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

Автор решения: YuraSuper2048

Я нашел способ как это сделать:

var offset = cameraCurrent.transform.position - transform.position;
offset.Set(offset.x, 0, offset.z);
transform.rotation = Quaternion.Euler(0f, Vector3.SignedAngle(Vector3.back, offset, Vector3.up), 0f);
→ Ссылка