Как сделать динамичное движение камеры в Unity?
ЭТА СТАТЬЯ ПРЕДНАЗНАЧЕНА ДЛЯ ТЕХ, КТО УЖЕ САМОСТОЯТЕЛЬНО МОЖЕТ СОЗДАТЬ СКРИПТ И ПОМЕСТИТЬ НА СЦЕНУ ОБЪЕКТЫ!!!
Для начала нужно добавить камеру и объект на сцену
Так же я добавил пару прямоугольников для того чтобы было видно как двигается камера.
Дальше нужно создать скрипт, зяйдя в который мы будем писать код
Создадим пару переменных(скорость слежения и проверку на колизии), а также два объекта Rigidbody2D и Transform для отсматривания координат положения того, за кем мы будем следить
Изначально пусть наша камера следить за персонажем только по горизонтали, то есть по оси х. Для того чтобы задать ей движение по оси y, необходимо узнать разницу между камерой и если y персонажа меньше либо же больше границ камеры, то пусть камера начинает двигаться за нашим персонажем, сделаем это, используя функцию юнити Vector3.MoveTowards(), хоть мы и в 2д измерении, но 3 координата нам нужна для того, чтобы не было вот так
А чтобы z была в норме и было вот так:
А если происходит столкновение с объектом и этот объект входит в камеру, то останавливаем ее движение и продолжаем следить только по y координате.