Настроим камеру для оптимального отображения игровой сцены. В начальном положении камера расположена неудачно: мячик виден, но ракурс неудобен.
Настройка положения камеры
Изменим положение камеры. Установим координаты: Y = 10 (поднимем высоко), Z = -10 (отдалим от платформы), X = -6. Это обеспечит хороший обзор.
Однако, угол обзора всё ещё неудобен. Попробуем повернуть камеру вниз, изменив значения: Y = 16, Z = 21. Теперь сцена видна гораздо лучше. Можно использовать эти настройки или подобрать собственные.
Привязка камеры к игроку
Самый простой способ привязать камеру к игроку – сделать камеру дочерним объектом игрока. При движении игрока камера будет двигаться вместе с ним. Это заметно при изменении положения и вращения игрока (rotation).
Однако, при вращении игрока вращается и камера, что нежелательно. Поэтому этот способ не подходит. Для корректной работы нужен скрипт.
Скрипт управления камерой
Создадим скрипт Camera и прикрепим его к главной камере. Скрипт будет изменять положение камеры, вычисляя разницу между позицией игрока и желаемым положением камеры. Это позволит сохранить постоянное расстояние между камерой и игроком.
Для этого нужна переменная типа Vector3 для хранения этой разницы. Будем брать позицию камеры и вычитать из неё позицию игрока. Для доступа к позиции игрока добавим публичную переменную public Transform player; в скрипт. Это позволит назначить игровой объект в инспекторе Unity.
public Transform player;
private Vector3 difference;
В функции LateUpdate будем обновлять позицию камеры:
void LateUpdate()
{
difference = transform.position - player.position;
transform.position = player.position + difference;
}
В Unity перетащим игровой объект на поле Player в инспекторе.
Результат
Теперь при запуске игры камера будет плавно следовать за игроком, сохраняя заданное расстояние. Можно изменить значения отступа, настроив камеру под свои предпочтения.
Мы научились настраивать положение камеры и создавать скрипт для её динамического перемещения, следующего за игроком. Теперь камера в игре будет работать корректно, обеспечивая удобный обзор игрового процесса.