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

Как научить персонажа двигаться в Unity 2D и 3D

Привет, друзья! Давайте начнем обучение созданию игр на Unity (Юнити). Мы публикуем уроки Юнити бесплатно, чтобы вы смогли познакомиться с этой средой и узнать, как устроен язык программирования C# (Си Шарп). В этом уроке разберем как сделать управление персонажем и прыжки в 2D- и 3D-проекте.

Инструкция: как скачать Unity 3D на ПК.

Управление персонажем в 3D

На сцене создаем Plane и Sphere.
  • Plane — это территория, по которой будет перемещаться наш персонаж.
  • Sphere — объект персонажа.

На персонажа добавляем физику. В инспекторе нажимаем Add Component - Physics - RigidBody.


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


Объявляем переменные в Unity:
  • movementSpeed — скорость передвижения.
  • turningSpeed — скорость поворота.
  • vertical — движение по вертикали.
  • horizontal — движение по горизонтали.

В Update прописываем поворот персонажа по оси Y и движение персонажа по оси Z. Сохраняем скрипт и перемещаем его на персонажа. Запускаем Юнити и проверяем.


Управление персонажем в 2D

Для работы потребуется два спрайта — для персонажа и для земли. Перемещаем персонажа и землю на сцену. С помощью клавиш CTRL+D дублируем землю.


Создаем пустой объект. И в него перемещаем все объекты земли.


На пустой объект добавляем коллайдер. Add Component - Physics2D - BoxCollider. И с помощью инструмента Edit Collider настраиваем размеры.


Персонажу добавляем физику и коллайдер и так же настраиваем границы коллайдера.


Создаем скрипт на C#

Объявляем переменные:
  • maxSpeed — скорость персонажа
  • flipRight — направление спрайта персонажа.

В Update в переменную move будем записывать, в какую сторону движется наш персонаж. Если нажата левая клавиша, нам вернется единица, если правая — то минус единица. Далее прикладываем силу для движения по оси Х.

Теперь отражаем наш спрайт в зависимости от того, в какую сторону движется наш персонаж. Условием If проверяем. Если нажали клавишу для перемещения вправо, а персонаж направлен влево, то поворачиваем спрайт вправо. С else if — обратная ситуация.

И теперь сама функция Flip. В ней мы отражаем спрайт по оси X и задаем размеры, чтобы из-за отражения не исказились размеры спрайта.


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

В школе “Пиксель” мы ведем полный курс обучения Unity 3D для детей и подростков. Изучая наши уроки Си Шарп, вы быстро освоите азы программирования и научитесь создавать свои игры. 

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