Part 5 https://dzen.ru/a/Y743PgiNZA2nhK_m
У нас уже есть игровой персонаж, который умеет перемещаться в пространстве. У него также настроены анимации и компоненты, которые помогут ему взаимодействовать с другими предметами и героями игры.
Самое время создать окружением игры. Создание окружения в Unity — это процесс, который может сильно различаться в зависимости от типа игры, которую вы создаете. В этой игре мы используем готовые модели, поэтому принцип создания окружающего мира очень похож на тот, который мы использовали в двумерных проектах. Нужно создать игровые объекты стен и предметов путем перетаскивания их моделей из окна «Проект» на игровую сцену. Затем к созданным игровым объектам добавляются коллайдеры и другие необходимые компоненты, создается необходимая иерархия объектов. Из этих подготовленных объектов можно создать префабы и использовать именно их. Создание игровой среды для игры в жанре стелс - очень трудоемкий процесс, поэтому в данных ресурсах есть готовая модель дома для этой игры, чтобы избавить Вас от повторяющейся работы.
Перейдите в папку Assets > Prefabs, выберите префаб «Level» и перетащите его из окна проекта в игровую сцену, чтобы создать его экземпляр. Этот сборный уровень состоит из множества моделей, включая стены, полы, двери, мебель и украшения. Чтобы посмотреть, как он был составлен, просто разверните его иерархию в окне «Иерархия» - получилась достаточно сложная структура.
Теперь давайте правильно разместим наши объекты на сцене:
В окне иерархии выберите GameObject под названием Level и установите в Инспекторе для свойства Position компонента Transform значение (0 , 0 , 0).
Затем выберите GameObject JohnLemon и ему аналогично задайте значения свойства Position компонента Transform (-9.8 ,0 ,-3.2 ).
Если мы перейдем во вкладку "Game", то увидим не персонажа, а окно:
Давайте настроим камеру таким образом, чтобы она следила за котом. До этого мы просто писали скрипт для камеры, который перемещал ее за игровым персонажем. Однако в Unity есть более удобное встроенное решение проблемы: Cinemachine. Cinemachine — это набор инструментов для динамических, интеллектуальных камер без кода, которые позволяют настраивать, экспериментировать и создавать движение камеры в режиме реального времени. Можно создавать несколько виртуальных камер, которыми управляет компонент под названием Cinemachine Brain. Cinemachine Brain управляет всеми виртуальными камерами и решает, за какой виртуальной камерой (или комбинацией виртуальных камер) должна следовать реальная камера, отображающая процесс игры.
В нашей игре нам нужно следовать только за котом, поэтому нам понадобится только одна виртуальная камера.
Чтобы настроить виртуальную камеру с помощью Cinemachine сначала необходимо установить соответствующий пакет. Через меню Window > Package manager заходим в менеджер пакетов, выбираем в списке пакетов "Unity Registry", в поле поиска вводим cinemachine и в левой части выбираем нужный нам пакет. Нажимаем кнопку "Install" и ждем, пока завершится процесс установки.
После установки данного пакета, в списке объектов для создания м окне иерархии у нас появится новый пункт "Cinemachine", а в нем нам понадобится "Virtual Camera":
Таким образом у нас появится новый объект на сцене с именем CM vcam1.
Теперь нужно настроить виртуальную камеру так, чтобы она следила за персонажем. Перетащите главного героя из иерархии в свойство Follow в инспекторе vcam, таким образом мы укажем виртуальной камере цель, за которой она должна следить:
В разделе Body измените раскрывающийся список в правом верхнем углу раздела с Transposer на Framing Transposer. Изменение Body на Framing Transposer позволит вам управлять положением виртуальной камеры, задав ей правила относительно того, где на экране должна быть ее цель Follow . Во вкладке "Game" теперь должно быть несколько красных и синих полей. Это подсказки, где на экране может быть цель:
Теперь установим виртуальную камеру под правильным углом. В Иерархии выберите объект CM vam1 и задайте для параметра Rotation компонента Transform значение поворота вокруг оси x равным 45 градусам.
Теперь виртуальная камера наклонена вниз и смотрит на персонажа сверху.
При изменении угла вращения камеры изменилась и позиция камеры. Почему? Это возможности Cinemachine! Вы решили, что вам нужен угол наклона сверху вниз для нашей камеры, а виртуальная камера сама определила, что при таком угле наклона она должна быть выше, чтобы цель оставалась на экране.
В разделе « Aim» измените раскрывающееся меню в правом верхнем углу с « Composer » на «Do nothing», таким образом мы сообщим, что нам не требуется автоматический поворот камеры.
Еще один параметр нам нужно изменить, чтобы приблизить виртуальную камеру к персонажу, так как сейчас он слишком далеко от нее. Измените настройку Camera Distance с 10 на 8 в разделе Body:
Что теперь должно получиться в игре можно увидеть на видео
На этом настройка виртуальной камеры завершена.
Part 7 https://dzen.ru/a/Y7-9ob6mAwrk-krr
.