Что такое Сinemachine в Unity?

Cinemachines

Cinemachines - Это крутой стандартный пакет от юнити, который управляет камерой в вашей игре.

Он может следить за персонажем, работать в катсценах, накладывать эффект дрожания камеры, делать движения камеры плавными, ограничивать ее движения в пространстве, делать "орбитальную" камеру для игры от 3-го лица, от первого лица и многое, многое другое.

Начинающим разработчикам такая штука точно понравится и уж точно пригодиться, поэтому я постараюсь рассказать так, что-бы было понятно.

Как сделать движение камеры за персонажем.

Начнем с самого часто необходимого, конечно, примеры я буду приводить с 2D игрой, так проще и понятнее.

Синемашина работает с "виртуальными" камерами, еще более виртуальными, чем камера в вашем проекте)

Первое, что необходимо сделать в новом проекте, в котором вы хотите пользоваться синемашиной, ее нужно добавиться в проект.

  1. Переходим в меню Window->Package Manager
  2. Ищем Cinemachine, если ее нет то нужно вверху окна выбрать "Unity registry"
  3. Жмем Install и ждем
Как установить cinemachine в unity
Установка

Теперь пакет установлен и им можно пользоваться.

Находим в меню новый пункт и выбираем 2D Camera.

Создание виртуальной камеры синемашины

Выбираем созданный объект и указываем камере за кем нужно следовать.

Настройка синемашины(Cinemachine)

Теперь, если запустить игру с выбранной виртуальной камерой, то вы увидите оверлей с визуализацией текущих настроек.

Что такое Сinemachine в Unity?

В принципе, камера уже следит за игроком, но ее конечно же, можно настроить как вам угодно.

Как настроить Cinemachine для 2D игры

Если ваш персонаж управляется физикой, то если приглядеться камера дергается при движении. Происходит это потому, что слежка камеры в данный момент происходит в Update, то-есть каждый кадр, а физика просчитывается в FixedUpdate, то-есть через определенные промежутки времени, нужно это исправить.

Жмем на MainCamera, на ней автоматически должен был создаться скрипт CinemachineBrain. И меняем Update method и Blend update method на FixedUpdate.

cinemachine дергается камера при движение. как исправить. ответ
Если дергается камера при движении

После этого камера будет адекватно себя вести.

Продолжим настройку.

Выбираем нашу ВИРТУАЛЬНУЮ камеру "CM vcam1". Я хочу, что-бы камера обгоняла персонажа при движении и позволяла посмотреть немного вперед себя.

Для этого есть 3 пункта для настройки.

настройка опережения камеры
Опережение камеры
  1. Как далеко должна обгонять камера
  2. Как плавно она разгоняется
  3. Игнорирование смещений по вертикали

С этими настройками камера обгоняет игрока и дает посмотреть, что там впереди.

Далее идут настройки плавности отслеживания.

плавность
Плавность

Покрутив настройки можно добиться желаемой плавности перемещения камеры. Я оставлю как есть.

смещение
Смещение

Настройки смещения камеры. Позволяет сместить камеру относительно ее положения. А так-же настроить расстояние на котором она будет находиться. В 2D игре расстоянии не заметно, до тех пор пока объекты в зоне видимости камеры.

Что такое Сinemachine в Unity?
Мертвая зона

Далее идет так называемая "мертвая зона", зона в которой камера не будет реагировать на движения игрока.

Что такое Сinemachine в Unity?
Ограничения мягкой зоны

Это настройка "мягкой зоны". Когда вы настраиваете плавность движения камеры, она может уплыть далеко от цели, что-бы этого не происходило, необходимо настроить эти параметры. Если в момент настройки находиться в окне режиме проигрывания игры, то все изменения будут видны сразу. Для сохранения настроек после выхода из игрового режима нужно поставить галочку выше.

Как сохранять настройки синемашины в игровом режиме
Сохранение настроек в режиме игры

Иногда нужно добавить динамики, тряску камеры, это тоже делается легко. Выбираем Noise, затем нужный профиль и настраиваем его как угодно.

Настройка тряски камеры

Отлично, мы настроили камеру для игрового персонажа. И заметьте, ни единой строчки кода!

4.83/5 (3)

Оцените