Как сделать раннер на unity 2d

Добавил пользователь Alex
Обновлено: 05.10.2024

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

  1. Скорируйте картинку в папку "Textures"
  2. Создайте новый спрайт и назовите его "Player"
  3. Настройте спрайт так, чтобы он отображался в свойстве "Sprite" компонента "Sprite Renderer"

Если у вас возникли проблемы, обратитесь к предыдущему уроку. Мы проделали точно такие же действия для фона и "реквизита".

  1. Поместите игрока в слой "2 - Foreground"
  2. Измените масштаб на (0.2, 0.2, 1)

Теперь несколько слов о компонентах. Мы только что говорили о компоненте "Sprite Renderer". Если вы еще не заметил, объект игры состоит из нескольких компонентов, видимых в панели "Инспектор".

По умолчанию пустой объект игры выглядит так:

Компоненты пустого игрового объекта

Этот объект имеет только один компонент: Transform . Этот компонент является обязательным и не может быть отключен или удален. Вы можете добавить к объекту столько компонентов, сколько захотите. Например, скрипты добавляются в качестве компонента. Большинство компонентов может быть включено или отключено пока существует объект.

Включить компонент игрового объекта

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

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

Sprite Renderer является компонентом, который способен отображать спрайт-текстуру. Теперь, когда мы узнали о концепции компонента, давайте добавим один к игроку!

Добавляем бокс-коллайдер (Box Collider)

Нажмите на кнопку "Добавить компонент" объекта игрока. Выберите "Box Collider 2D". Вы можете увидеть коллайдер в редакторе "Сцена" зрения и настройки его размера в "Инспекторе" в поле "Размер" (Size).

Существует еще один способ редактирования бокс-коллайдера. Выберите игровой объект с помощью бокс-коллайдера и зажмите клавишу shift на клавиатуре. Вы увидите, что на бокс-коллайдере (зеленый прямоугольник ) появились четыре маленьких рычажка. Перетащите один из них, чтобы изменить форму бокс-коллайдера. Будьте осторожны, синий прямоугольник представляет собой компонент Transform вашего игрового объекта, а не коллайдер.

Мы будем устанавливать размер коллайдера равным (10, 10) .

Это слишком много для настоящего шмапа, но все же меньше, чем спрайт:

Хитбокс игрока

В настоящее время, этого вполне достаточно.

Совет: Если вы планируете создать шмап, вам придется уделить много времени настройке хитбоксов – они должны точно соответствовать маленькому элементу внутри игрового спрайта. Вы также можете изменить такой параметр коллайдера, как shape – например, с помощью "Circle Collider 2D". Благодаря Unity, его поведение при этом не меняется, но это позволяет немного улучить геймплей.

Сохраним объект игрок как префаб. Теперь у вас есть базовую сущность игрока!

Добавляем спрайт игрока

2D полигональный коллайдер

Если вы хотите супер точный и произвольный формы хитбокс, воспользуйтесь компонентом Unity "Полигоннальный коллайдер 2D" (Polygon Collider 2D). Эффект от этого будет незначительный, но зато вы получите такую форму, какую вы хотите.

"Polygon Collider 2D" похож на остальные коллайдеры: вы можете изменять форму с помощью мышки в режиме "Scene". Для удаления точки зажмите cmd или ctrl , а чтобы отрегулировать положение точки или добавить ее в форму коллайдера, используйте shift

Магия Rigidbody

Последний компонент, необходимый для добавления на нашего игрока: "Rigidbody 2D". Это поможет физическому движку правильно задействовать объект в игровом пространстве. Более того, это позволит вам использовать столкновения в скрипте.

  1. Выберите объект Player в "Hierarchy".
  2. Добавьте компонент "Rigidbody 2D".

Теперь, нажмите кнопку "играть" и смотрите, что у нас вышло:

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

По-умолчанию, ускорние свободного падения в Unity равно 9.81 , т.е. мы имеем дело с земной гравитацией.

Гравитация может быть использована в любой игре, но нам она не нужна. К счастью, гравитацию на Rigidbody можн легко отключить. Просто установите "гравитационный масштаб" равным нулю. Вот и все, корабль снова летит. Не забудьте поставить галочку в окошке "Fixed Angles", чтобы предотвратить вращение корабля, обусловленное такой физикой.

Настройки твердого тела игрока

Перемещение игрока

"Sync MonoDevelop Project": Это подменю немного странное.Во-первых, невозможно изменить имя, даже если сменить редактора.
Мы также рекомендуем использовать это меню при создании первого скрипта, так как Unity создаст решения и привяжет их к библиотекам Unity (для Visual Studio, Xamarin Studio или MonoDevelop).
Если вместо этого вы просто откроете скрипт, компилятор вашего IDE, скорее всего, зарегистрирует определенные ошибки, не Unity. Это не имеет значения, потому что вам не придется использовать его напрямую, но функция автоматического завершения объектов Unity не помешает.

По умолчанию в скрипте уже прописаны методы Start и Update . Вот краткий список наиболее часто используемых функций:

  • Awake() вызывается один раз, когда объект создается. По сути аналог обычной функции-конструктора.
  • Start() выполняется после Awake() . Отличается тем, что метод Start() не вызывается, если скрипт не включен (remember the checkbox on a component in the "Inspector").
  • Update() выполняется для каждого кадра in the main game loop.
  • FixedUpdate() вызывается каждый раз через определеннок число кадров. Вы можете вызывать этот метод вместо Update() когда имеете дело с физикой ("RigidBody" и др.).
  • Destroy() вызывается, когда объект уничтожается. Это ваш последний шанс, чтобы очистить или выполнить код.

У вас также есть некоторые функции для обработки столкновений:

  • OnCollisionEnter2D(CollisionInfo2D info) выполняется, когда коллайдер объекта соприкасается с другим коллайдером.
  • OnCollisionExit2D(CollisionInfo2D info) выполняется, когда коллайдер объекта не соприкасается ни с одним другим коллайдером.
  • OnTriggerEnter2D(Collider2D otherCollider) выполняется, когда коллайдер объекта соприкасается с другим коллайдером с пометкой "Trigger".
  • OnTriggerExit2D(Collider2D otherCollider) выполняется, когда коллайдер объекта перестает соприкасаться с коллайдером, помеченным как "Trigger".

Итак, с теорией покончено, пора в бой. Или нет, погодите еще немного: обратите внимание, что почти все, о чем мы говорили с вами имеет, суффикс "2D". Box Collider 2D , a Rigidbody 2D , OnCollisionEnter2D , OnTriggerEnter2D и т.д. Эти новые компоненты или методы появились с Unity 4.3. Используя их, вы работаете с физическим движком, встроенным в Unity 4.3, для 2D-игр (на основе Box2D) вместо движка для 3D-игр (PhysX). Два движка имеют аналогичные концепции и объекты, но они не работают точно так же. Если вы начинаете работать с одним (например, Box2D для 2D-игр), придерживаqntcm его. Именно поэтому мы используем все объекты или методы с суффиксом "2D".

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

Поясню цифры в комментариях к коду:

  1. Сначала определим публичную переменную, которая будет отображаться в окне "Инспектор". Это скорость, используемая для корабля.
  2. Сохраним движение для каждого кадра.
  3. Используем дефолтную ось, которую можно отредактировать в "Edit" -> "Project Settings" -> "Input". При этом мы получим целые значения между [-1, 1] , где 0 будет означать, что корабль неподвижен, 1 - движение вправо, -1 - влево.
  4. Умножим направление на скорость.
  5. Изменим скорость rigidbody. Это даст движку команду к перемещению объекта. Сделаем это в FixedUpdate() , предназначенном для всего, что связано с физикой.

Теперь добавим скрипт к игровому объекту. Для этого перетащите скрипт из окна "Проект" (Project) на игровой объект в "Иерархии" (Hierarchy). Вы также можете нажать на "Add Component" и добвить его вручную.

Попробуйте настроить скорость: нажмите на игрока, измените значения скорости в "Инспекторе", и посмотрите что из этого получится.

Инспектор для сценария

Будьте осторожны: изменения параметров, сделанные во время, игры теряются, когда вы ее остановите! Инспекторе - это отличный инструмент для настройки геймплея, но запомните или запишите, что вы делали, если хотите сохранить изменения. Этот же трюк подходит, если вы хотете проверить что-то новое, но не хотите вносить изменения в реальный проект.

Первый враг

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

Poulpi Sprite

Создадим новый спрайт. Для этого:

  1. Скопируйте картинку в папку "Textures".
  2. Создайте новый спрайт, используя это изображение.
  3. Измените свойство "Масштаб" (Scale) в разделе Трансформирование (Transform) на (0.4, 0.4, 1) .
  4. Добавьте "Box Collider 2D" размером (4, 4) .
  5. Add a "Rigidbody 2D" with a "Gravity Scale" of 0 and "Fixed Angles" ticked.

Сохраните префаб и. вуаля!

Спрайт врага в Unity

Скрипт

Теперь напишем простенький скрипт, отвечающий за движение осьминога в определенном направлении. Для этого создайте новый скрипт, назвав его "MoveScript".

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

Скопируем некоторые части кода, который мы написали в «PlayerScript" для движения персонажа. We will add another designer (a public member you can alter in the "Inspector") variable for the direction:

Прикрепите скрипт к осьминогу. Нажмите "Play" и убедитесь, что спрут движется так, как показано на рисунке ниже:

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

Вы узнали, как добавить игрока, движущегося с помощью клавиатуры. Также, мы создали врага с зачаточным AI. Теперь мы хотим иметь возможность уничтожить его! А для этого, нам нужны боеприпасы, которые мы создадим в следующем уроке 2D игра на Unity. Подробное руководство. Часть 3.

В данном видео мы создадим бесконечный 2D раннер на движке Unity 3D. - Создадим спавнер врагов - Самих врагов .

Привет! В этом видео мы начнём создавать 3D Раннер на Unity, а именно добавим управление персонажем при помощи .

Мы создадим классическую игру "Раннер 2D" (Runner) в Юнити! И заодно вспомним все, что изучали на уроках: .

В этом видео я показываю процесс создания бесконечного 2D раннера за 5 минут! (ну окей, за семь)). В этой части .

Привет! В этом видео мы продолжаем создавать 3D Раннер на Unity. Сегодня мы реализуем слежение камеры за игроком, .

Как создать простой бесконечно генерируемый уровень для линейной игры, вроде раннера или side-scroller'a.

В этом видео я продолжаю делать бесконечный 2D раннер в Unity. Добавляю в игру эффекты и частицы, движущийся .

In this unity tutorial, you'll learn how to make a 2D Endless Runner from start to finish. If you're just a beginner and you want to .

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

Постоянная генерация мира [Бесконечный раннер] Unity 5 Ссылка на скрипт - yadi.sk/d/9f2RSXLN3Hyu8U Я в ВК .

В этом видео я продолжаю делать бесконечный 2D раннер в Unity. Добавляю в игру звуковые эффекты, которые .

В этом видео мы начнём создавать 2D платформер на движке Unity. Добавим фон, платформы для уровней, а также .

Всем дарова! В этом ролике я снова попытался повторить шедевр игровой индустрии: на этот раз - платформер Doodle .

Привет! В этом видео мы продолжаем создавать 3D Раннер на Unity. Сегодня мы добавим возможность подсчёта очков, .

In this video, I will show you how to recreate chrome's Dino Game from Scratch to end in under 15 minutes. The video is targeted .

Давайте в main камень камере удалим компоненты box collider и ridgid body 2d теперь давайте запустим и проверим.

Всем привет сегодня мы делаем бесконечный runner. Вот протокола . Что вас есть есть наш активный объект камень .

Как создать простой бесконечно генерируемый уровень для линейной игры, вроде раннера или side-scroller'a. В этой .

Привет! В этом видео мы начнём создавать свою игру в жанре кликер на движке Unity. Не забывай ставить лайк, .

Хочешь выучить Unity (юнити) всего за 1 час и при этом сделать это качественно? Тогда смотри от профессионала как!

We create a simple and easy mobile endless runner in Unity 3D which we will later on release on the Google Play Store. And we .

Мы создадим классическую игру "Раннер 2D" (Runner) в Юнити! И заодно вспомним все, что изучали на уроках: .

В этом видео я показываю процесс создания бесконечного 2D раннера за 5 минут! (ну окей, за семь)). В этой части .

В этом видео мы начнём создавать 2D платформер на движке Unity. Добавим фон, платформы для уровней, а также .

В данном видео мы создадим бесконечный 2D раннер на движке Unity 3D. - Создадим спавнер врагов - Самих врагов .

В этом видео я продолжаю делать бесконечный 2D раннер в Unity. Добавляю в игру эффекты и частицы, движущийся .

Привет! В этом видео мы начнём создавать 3D Раннер на Unity, а именно добавим управление персонажем при помощи .

Рисовал графику в Иллюстраторе (Illustrator), а саму игру делал в Unity для Android и IOS версий. Хочу и далее заниматься .

Создание игр. Разработка игр. Как начать делать игры. Как сделать игру. Как стать разработчиком. С чего начать делать .

В этом видео мы продолжаем создавать 2D платформер на движке Unity. Изменим всю графику, добавим систему боя, .

В этом видео мы продолжаем создавать 2D-платформер на Unity. Добавляем противников: препятствие с уроном, .

In this video, I will show you how to recreate chrome's Dino Game from Scratch to end in under 15 minutes. The video is targeted .

Привет! В этом видео мы начнём создавать свою игру в жанре кликер на движке Unity. Не забывай ставить лайк, .

В этом видео мы продолжаем создавать 2D-платформер на движке Unity. Перенесём игру на Android, добавим систему .

Привет! В этом видео мы продолжаем создавать 3D Раннер на Unity. Сегодня мы добавим возможность подсчёта очков, .

Привет! В этом видео мы продолжаем (заканчиваем) создание 2D платформера для Android на движке Unity. Добавляем .

Это видео - первая часть моего курса туториалов по Unity для абсолютных новичков, в результате которых у нас получится .

In this unity tutorial, you'll learn how to make a 2D Endless Runner from start to finish. If you're just a beginner and you want to .

Хочешь выучить Unity (юнити) всего за 1 час и при этом сделать это качественно? Тогда смотри от профессионала как!

В ходе урока мы создадим небольшую интересную 2D игру на движке Unity 5. За время урока вы вкратце научитесь .

Как сделать раннер на Unity. Бесконечная генерация мира. Бесконечный раннер Unity. В этом видео я покажу как сделать .

Привет! В этом видео мы продолжаем создавать 3D Раннер на Unity. Сегодня мы реализуем слежение камеры за игроком, .

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

Привет! В этом видео мы продолжим создание 2D платформера на движке Unity. Добавим управление с помощью .

В этом видео уроке мы с вами создадим 2D платформер на игровом движке Unity 5 и сделаем это за 25 минут!

Как сделать раннер на Unity. Генерация монет, ловушек. Бесконечный раннер Unity. В этом видео я покажу как сделать .

Python позволяет создавать не только веб сайты и программы с ИИ, но также на его основе можно строить полноценные .


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

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

Как скачать и установить Unity 3D (Юнити) на ПК (Windows)

Прежде чем перейти к урокам, установим саму программу.

Урок 2. Как создать телепорт в Unity 3D

Урок 3. Как сделать спавн объектов d Unity 3D

В этом видео мы научимся делать спавн объектов в Unity 3D в пределах камеры или на canvas.

Урок 4. Триггеры в Unity 3D.

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

Урок 5. Как создать таймер в Unity 3D

В этом видео мы разберем, как создать таймер двумя способами: с помощью Coroutine (корутины) и InvokeRepeating.

Урок 6. Перемещение объекта мышью в Unity 3D (Mouse Drag)

Урок 7. Как создать полосу жизней персонажа в Unity 3D (Health bar)

Мы разберем, как создать полосу жизней персонажа (Health bar), чтобы вы могли использовать ее в своих играх.

Урок 8. Как сохранить игру в Unity 3D

В этом видео мы изучим метод PlayerPrefs, который позволит нам сохранить и загрузить игровые данные в Unity 3D.

Урок 9. Как создать игру "Раннер" в Unity 3D за 30 минут

Мы создадим классическую игру "Раннер 2D" (Runner) в Юнити! И заодно вспомним все, что изучали на уроках: запрограммируем движение героя, воспользуемся триггерами, сделаем спавн объектов и др.

Урок 10. Как экспортировать игру из Unity на ПК или Android

В этом видео мы узнаем, как собрать и сохранить (экспортировать) проект для компьютера или телефона.

Урок 11. Как загрузить игру в Play Market?

Хотите загрузить свою игру в Play Market и зарабатывать на ней? Вот вам подробная инструкция:

Урок 12. Как сделать прыжок персонажа в Юнити?

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

Урок 13. Как научить персонажа двигаться в 2D- и 3D-играх?

Прыжки мы изучили, настало время разобраться, как в целом управлять персонажем. Для этого мы покажем, как ввести переменные скорости, поворота, а также движения по вертикали и по горизонтали. Как всегда, новую тему мы изучим на примере 2D- и 3D-проекта.

Урок 14. LineRenderer в Unity 2D

LineRenderer — это рендер линий, который позволяет с легкостью рисовать прямые линии между двумя точками. Мы воспользуемся этим методом в 2D-проекте, напишем два скрипта, которые упростят нам работу.

Урок 15. Как сделать автосимулятор в Unity 3D

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

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

Нужен наставник? Записывайтесь на онлайн-уроки программирования для детей в школе "Пиксель": онлайн-курс по разработке игр на игровом движке Unity 3D.

Читайте также: