Unity C#

Transform.LookAt в Unity C# — как повернуть объект к цели

Метод Transform.LookAt поворачивает объект так, чтобы его передняя часть (ось forward) смотрела на заданный объект или точку. Его применяют для прицеливания, слежения камеры и ориентации объектов на цель.

Особенности

  • Автоматический расчёт поворота: метод сам считает поворот по текущей позиции и цели — углы вручную не нужны.
  • Простота: достаточно передать объект или координату.
  • Учёт осей: по умолчанию выравнивает по forward, но можно задать вектор «вверх».

Пример: смотреть на цель

using UnityEngine;

public class LookAtTarget : MonoBehaviour
{
    public Transform target; // Цель, на которую будет направлен объект

    void Update()
    {
        // Повернуть объект к цели
        if (target != null)
        {
            transform.LookAt(target);
        }
    }
}

Пример: с вектором «вверх»

using UnityEngine;

public class LookAtWithUpVector : MonoBehaviour
{
    public Transform target;

    void Update()
    {
        if (target != null)
        {
            // Указываем, что "вверх" — это глобальная ось Y
            transform.LookAt(target, Vector3.up);
        }
    }
}