Основы Создания 2D Персонажа В Unity 3D 4.3. Часть 3: Прыжки (И Падения)

Часть 1: подготовка персонажа и анимация отдыха Часть 2: бегущий персонаж Часть 3: Прыжки (и падения) Всем привет. Продолжаем серию уроков по созданию 2D персонажа.

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

Этого может быть достаточно для очень простой игры.

Но мы не остановимся на достигнутом и сегодня научим нашего персонажа прыгать.

Наша цель звучит просто, но в ее реализации будут некоторые тонкости.

Во-первых, нам нужно как-то определить, что персонаж находится в прыжковом состоянии.

Это будет немного сложнее, чем определение рабочего состояния.

Во-вторых, нужно прикрепить соответствующую анимацию.

Здесь мы могли бы сделать что-то похожее на остальное и запустить анимацию — зацикливание соответствующих кадров анимации, пока персонаж находится в состоянии прыжка.

Но мы реализуем более гибкий вариант. Состояние прыжка на самом деле состоит из двух состояний: взлета и свободного падения.

Кроме того, бывают особые случаи – только подъем и только падение.

Если присоединить одну общую анимацию для этих двух состояний (например, поджатые ноги и развевающуюся на ветру накидку), то это может выглядеть нормально, но не совсем реалистично.

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

Мы создадим анимацию, которая будет учитывать скорость взлета/падения и в зависимости от нее переключать соответствующий кадр анимации.

Давайте загрузим наш проект и сцену.

В папке Ресурсы Спрайты у нас остался последний неиспользованный спрайт Прыгать .

Выполним уже знакомую операцию разрезания спрайта на коллекцию изображений.

Потом в окне Иерархия давай выберем Характер и давай выйдем в окно Анимация .

Для прыжка нам понадобится несколько файлов анимации, а точнее семь.

Это равно количеству кадров в спрайте.

Прыгать .

Давайте создадим эти анимации, назвав их Перейти1 , Прыжок2 и т. д.

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Теперь добавим в каждую анимацию по одному изображению из спрайта.

Прыгать , по порядку: спрайт Перейти_0 в анимацию Перейти1 , спрайт Перейти_1 в анимацию Прыжок2

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

В окне Аниматор (Нет Анимация !) Мы автоматически создали элементы для новых анимаций, но они нам сейчас не понадобятся.

Выделите их и удалите клавишей Удалить (анимации также будут удалены из соответствующего списка в окне Анимация , но мы вернём их чуть позже).

Давайте создадим в Аниматор два новых параметра: Земля с типом Бул И vСпид с типом Плавать .

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

В зависимости от этого мы применим соответствующую анимацию из наших семи анимаций прыжка.



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Теперь щелкните правой кнопкой мыши на любом свободном месте в окне.

Аниматор и выбери Создать состояние Из нового дерева смешивания .

В окне Инспектор переименуйте созданный элемент как Прыгать .



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Давайте создадим два перехода между анимациями: Любой штат -> Прыгать И Прыгать -> Праздный .

То есть из любого состояния мы можем перейти в состояние прыжка, а из состояния прыжка в состояние покоя.

Напомню, как делаются переходы: кликаем правой кнопкой мыши по первой анимации, Сделать переход , щелкните левой кнопкой мыши по второй анимации.

Для первого перехода зададим условие Земля ЛОЖЬ , для второго Земля истинный .



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Теперь дважды щелкните Прыгать .

Элемент откроется Смешать дерево .

В него мы добавим наши семь анимаций прыжков, и переключение между ними будет происходить в зависимости от значения параметра vСпид .

По умолчанию в Смешать дерево параметр теперь установлен Скорость - давайте изменим это на vСпид в окне Инспектор .



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

В этом же окне нажмите на плюсик и выберите Добавить поле движения .

Это необходимо сделать семь раз.

Это создаст семь полей для наших семи анимаций.

Давайте снимем флаг Автоматизация порогов чтобы вы могли вручную устанавливать значения параметров vСпид , при достижении которого анимация изменится на Смешать дерево .

Перетащите анимацию в каждое поле и установите значения.

vСпид .

Вот что должно получиться (кстати, после этих действий удаленные из списка в окне Анимация анимации Перейти1 - Перейти6 появится снова):

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Давайте пока закончим с анимацией.

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

Давай выйдем в окно Сцена .

Давайте создадим пустой игровой объект и назовем его ГраундЧек .

Выберите его в окне Иерархия и перетащите указатель мыши на Характер (все в одном окне Иерархия !).

Теперь объект ГраундЧек будет ребенком Характер и будет двигаться вместе с ним, и объект Характер приобретет соответствующую стрелку, скрывающую дочерние объекты.

Нажмите на стрелку и снова выберите объект. ГраундЧек .

Присвоим ему иконку, чтобы мы могли видеть объект на сцене.

На скриншоте я показал, как это сделать:

Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

В окне Сцена давай двигаться ГраундЧек у ног персонажа.

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



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Теперь нам нужно определить, что такое земля? Очевидно, что это наша платформа, но игра об этом пока не знает. Кстати, давайте создадим копию платформы для проверки прыжка (лучше всего было бы создать префаб на базе платформы, а пока просто выделим Платформа и нажмите Ctrl+D ).

Разместим вторую платформу справа и над первой.



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Выберите любую из платформ и обратите внимание на верхнюю часть окна.

Инспектор .

Там поле Слой со смыслом По умолчанию .

Это указывает на то, что объект принадлежит определенному слою.

Нажмите на По умолчанию , выбирать Добавить слой , заданный в поле Пользовательский уровень 8 Имя Земля .

Снова выберите платформу и вместо слоя По умолчанию установить слой Земля .

Для второй платформы мы также установим слой Земля .



Основы создания 2D персонажа в Unity 3D 4.3. Часть 3: Прыжки (и падения)

Таким образом мы определили, что наши платформы будут землей.

Объект ГраундЧек будет проверено на пересечение с объектами слоя Земля , то есть с нашими платформами.

Если пересечение обнаружено, персонаж оказывается на земле.

Это будет сделано в скрипте Персонажконтроллескрипт , созданный в предыдущей части.

Откроем его для редактирования.

В начале скрипта мы добавим новые переменные в дополнение к существующим: Теги: #unity3d #2d игры #2d движок #C++ #Разработка игр #C++ #unity

Вместе с данным постом часто просматривают: