Скрипт анимации unity 2d

Еще один скрипт управления персонажем, заточенный под 2D физику. В отличии от прочих, здесь имеются некоторые настройки. Возможен выбор осей. Например, если выбрать только ось Х, в этом случаи включается режим как для платформера, персонаж может двигаться по горизонтали и использовать прыжок. Если выбрать оси ХY, тогда скрипт переходит в режим как для скроллера, проще говоря, подходит для управления неким самолетом или вроде того, объект может двигаться не только по горизонтали, но и по вертикали, а та-же самая клавиша, что и в первом варианте, на этот раз выполняет роль ускорителя, то есть добавляет скорости. Кроме того, есть опция отслеживания позиции курсора, чтобы персонаж смотрел на него.

Создаем новый C# скрипт Player2DControl, со следующим содержанием:

speed — скорость движения, как не странно.

addForce — если выбран режим Оnly X, будет использовано для прыжка, при нажатии соответствующий клавиши. Во втором режиме, значение addForce будет прибавлено к speed, тем самым придавая ускорение.

lookAtCursor — отслеживание позиции курсора, персонаж будет вращаться по оси Z. Важно помнить, что лицом считается ось Х.

isFacingRight — если на старте сцены персонаж смотрит вправо, то надо ставить true.

При движении только по горизонтали, разворот персонажа осуществляется через функцию Flip. Так же, чтобы прыжок был возможен, все объекты по которым возможно передвижение, как бы земля/поверхность, у всех них должен быть тег Ground.

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

Читайте также  Почему обратно лететь дольше

Что можно анимировать в Unity

Мини-игра к этой статье и все ассеты выложены в репозитории на GitHub.

Анимация позволяет оживить игру даже с самой примитивной графикой. Например, персонаж для игры из этой статьи выглядит вот так:

В нем нет ничего привлекательного, это набор простых фигур. Посмотрите, как он изменится, если добавить анимацию:

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

С помощью анимации можно оживить и фоны. Например, сделать:

  • качающиеся волны;
  • блики небоскребов;
  • загорающиеся и гаснущие окна домов;
  • мерцающие звезды и так далее.

Анимацию можно добавить и в интерфейсы: переливающиеся шкалы здоровья, поблескивающие кнопки. Даже вращающаяся шестеренка вместо простой надписи «Загрузка…» украсит проект:

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

Анимация «из коробки» в Unity

В Unity создавать анимацию можно с помощью:

Например, в скрипте можно прописать изменение параметров объекта при определенных условиях: обновлении масштабов, добавлении какого-либо цвета и так далее.

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

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

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

Анимация вращения с помощью скрипта в Unity

Когда вы создаете персонажа и добавляете ему спрайт, а потом начинаете им управлять, герой всегда смотрит в одну и ту же сторону, даже если движется в другую.

Читайте также  Силиконовая смазка для дверных петель

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

Сообщество, где люди делятся уникальным опытом

Вопросы и ответы по любой теме от IT сообщества

Помогаем строить карьеру в IT-индустрии

Биржа удаленной работы для IT-специалистов

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Ссылка на основную публикацию
Adblock
detector