Блог онлайн школы Пиксель

Как сделать управление персонажем в Unity по типу игры Bomberman

Друзья, мы продолжаем публиковать уроки по Unity! На этот раз мы займемся движением персонажа. В этом уроке мы попробуем создать такое же управление, как в игре Bomberman.

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

Вы можете скачать нашу модель персонажа.

Создаем plane и перемещаем модель персонажа на сцену. Настраиваем размеры персонажа. Ставим персонажа и plane в центр. Для этого в компоненте Transform в поле position ставим нули по всем координатам.

Добавляем BoxColider на персонажа и настраиваем его границы. Добавляем Rigidbody.

unity управление персонажем

Создадим папку для скриптов, назовем ее Scripts.

движение персонажа unity

И в этой папке создадим скрипт, назовем его PlayerController. При переименовании скриптов после их создания необходимо в коде задать новое название.

как сделать персонажа в unity

Объявляем две переменные:
  • movement Speed - скорость движения персонажа;
  • rb - физика объекта.

unity 3d персонаж

В старте назначаем компонент переменной rb.

unity передвижение персонажа

Далее в функции Update мы объявляем переменную mov типа Vector3.

Vector3 — это представление трехмерных векторов и точек, используемых для представления трехмерных положений с учетом осей x, y, z.

В нее записываем значение направления по горизонтали (Horizontal) и вертикали (Vertical), умноженное на скорость. Далее в переменную mov записываем обрезанные вектора Clamp Magnitude для ограничения максимальной скорости.

ClampMagnitude возвращает копию вектора с обрезанной величиной.

unity 2d движение персонажа

Оператором if проверяем значение mov, оно не должно быть равно нулю. В блоке if перемещаем и поворачиваем объект.

unity скрипт движение персонажа

Скрипт:

unity скрипты персонажа

Скрипт переносим на персонажа в инспектор. Запускаем и проверяем.

unity поворот персонажа

Сделаем так, чтобы камера следовала за персонажем. Создаем скрипт, называем его CameraManager. В нем объявляем две переменные.
  • Transform pl - координаты персонажа;
  • Vector3 offset - координаты камеры.

unity перемещение персонажа

В Update перемещаем камеру за игроком.

unity камера за персонажем

Перемещаем скрипт на камеру. Добавляем в pl объект персонажа. Нам нужно в инспекторе указать координаты камеры, то есть расстояние между камерой и игроком, чтобы она к нему не прилипала. Запускаем Юнити, в инспекторе меняем координаты камеры в скрипте так, как считаете нужным. Наведите курсор на поле с координатами и у вас появятся стрелки. Если зажатой ЛКМ потянуть в ту или иную сторону, координаты начнут меняться.

управление персонажем в unity 2d

На этом все, вот такое мы сделали управление. Если вы хотите поглубже разобраться в этом игровом движке и узнать, что еще можно сделать с персонажем в Юнити, приходите к нам на полный курс по созданию игр на Unity 3D. Мы научим вас разрабатывать свои полноценные 2D- и 3D-игры, делать анимацию персонажей, добавлять диалоги, NPC, магазин и инвентарь и многое другое. А также программировать на языке С#, который используется в Юнити. Приходите к нам!

Бесплатные видеоуроки Unity для детей