Menu
CoddyTech

Повторение: камера преследования

Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 49 из 63.

challenge icon

Задание

Средне

Напишите скрипт камеры слежения за машиной. Скрипт машины готов: стрелка вверх заставляет её ехать, стрелки влево и вправо — поворачивать, а её общедоступное поле heading хранит направление, в котором она смотрит, в градусах вокруг оси y. Значение heading продолжает уменьшаться ниже 0 и увеличиваться выше 360.

  • Камера находится в позиции машины плюс offset (0, 3, -6), повёрнутый вокруг оси y на собственный угол рыскания камеры, благодаря чему она оказывается позади машины.
  • Изначально угол рыскания равен направлению машины и плавно приближается к нему с помощью Mathf.SmoothDamp за время smoothTime (0.3): при повороте камера немного запаздывает за машиной и всегда выбирает кратчайший путь.
  • Камера направлена на точку, находящуюся на расстоянии ahead (4) единиц впереди машины.

Нажмите Play, покружите в обе стороны, затем нажмите Check.

Попробуйте сами

using UnityEngine;

public class ChaseCamera : MonoBehaviour
{
    public Car car;
    public Vector3 offset = new Vector3(0, 3, -6);
    public float smoothTime = 0.3f;
    public float ahead = 4f;

    void LateUpdate()
    {
    }
}

Все уроки раздела Физика и игровой процесс