Добавить в корзинуПозвонить
Найти в Дзене
Геймдев после 30

Как сделать свою первую игру на Unity? «Ловец Сфер» – Урок 1

«Разбираем базовые принципы Unity на примере простой аркады»
(упражнения рассчитаны на работу в Unity 6.1 и выше) Практика — единственный путь чему-то научиться. Я не эксперт, а такой же ученик, просто начавший чуть раньше. Вместе мы создадим прототип игры «Sphere Catcher» с базовыми механиками: • Текущих очков • Рекорда • Количества жизней После реализации основы обсудим, как улучшить игру: Готовы к первому шагу? Поехали! К концу этого урока вы: 1. Создаем стандартный проект Universal 3D, даем ему имя sphere_catcher. 2. Сохраняем сцену с именем _Scene_0. 3. В панели Project создаем папки Scripts, Prefabs и Materials. 4. Добавляем спавнер: • Зададим нашему спавнеру подходящую форму и положение в пространстве: Spawner → Inspector → Transform. Scale = (3, 1, 3), Position = (0, 5, 0). Теперь наш спавнер стал похож на некое подобие летающей тарелки. 5. Создаем префаб сферы: Префаб - это ваша игровая «заготовка». Почему это важно – если вы, к примеру, разместите на сцене сто таких летающих
Оглавление

«Разбираем базовые принципы Unity на примере простой аркады»
(упражнения рассчитаны на работу в Unity 6.1 и выше)

Вступление: 🔛

Практика — единственный путь чему-то научиться.

Я не эксперт, а такой же ученик, просто начавший чуть раньше. Вместе мы создадим прототип игры «Sphere Catcher» с базовыми механиками:

  1. Летающий портал, генерирующий падающие сферы
  2. Управляемая корзина для ловли
  3. Система очков (+1 за поимку, -1 жизнь за пропуск)
  4. Интерфейс с отображением:

• Текущих очков

• Рекорда

• Количества жизней

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

  • Разноцветные сферы с разными свойствами
  • Изменяемая скорость падения
  • Бонусные эффекты

Готовы к первому шагу? Поехали!

-2

I. Цели занятия ✨

К концу этого урока вы:

  1. Научитесь создавать и настраивать свой проект.
  2. Поймёте базовый принцип спавна объектов.
  3. Научитесь работать с компонентами, префабами и физикой Rigidbody.
  4. Освоите тайминг через Time.deltaTime.
  5. Поиграетесь с рандомизацией (позиция, цвет).
  6. Получите основу для более сложных систем (враги, бонусы, эффекты).

II. Подготовка проекта 🚀

1. Создаем стандартный проект Universal 3D, даем ему имя sphere_catcher.

2. Сохраняем сцену с именем _Scene_0.

3. В панели Project создаем папки Scripts, Prefabs и Materials.

4. Добавляем спавнер:

  • GameObject → Create Empty (назови Spawner).
  • Добавьте компонент Mesh Filter: Inspector → Add Component → Mesh Filter. В поле Mesh выберите Sphere (это каркас).
  • Добавьте компонент Mesh Renderer: Inspector → Add Component → Mesh Renderer (это слой, делающий наш каркас видимым).
  • Создайте материал: Assets → Create → Material. Назовите его Mat_Spawner и перетащите в папку Materials (в проекте должен быть порядок).
  • Сделаем материал фиолетовым и металлическим: Mat_Spawner → Inspector → Base Map → выбираем фиолетовый цвет 🟣. Устанавливаем параметры Metallic Map - 0,5. Smoothness - 0,65.
  • Перетаскиваем материал на Spawner в Hierarchy (наш спавнер станет фиолетовым и металлическим).
-3

• Зададим нашему спавнеру подходящую форму и положение в пространстве: Spawner → Inspector → Transform. Scale = (3, 1, 3), Position = (0, 5, 0). Теперь наш спавнер стал похож на некое подобие летающей тарелки.

5. Создаем префаб сферы:

  • GameObject → 3D Object → Sphere.
  • Добавляем ей физику Sphere → Inspector → Add Component → Rigidbody (теперь на сферу будет действовать сила тяжести).
  • Перетаскиваем сферу Hierarchy → Project → Prefabs.
  • Удаляем сферу из Hierarchy.
Префаб - это ваша игровая «заготовка». Почему это важно – если вы, к примеру, разместите на сцене сто таких летающих тарелок, скопировав префаб, а потом вдруг решите у всех поменять форму или цвет, то вам не нужно будет делать это с каждой – достаточно будет внести изменения в родительский префаб, находящийся в панели Project.

6. Создаем скрипт:

• Assets → Create → MonoBehaviour Script

• Даем ему имя SphereSpawner.

• Вешаем его на объект Spawner.

Вот, что в итоге должно получиться у вас на рабочем столе:

-4

III. Пишем код Спавнера ⌨️

А теперь начинаем творить магию! Открываем скрипт и вводим в него код, приведенный на картинке ниже.

Комментарии тоже обязательно пишите – это поможет лучше понимать, что вы делаете, а когда через недельку вновь вернетесь к проекту сразу вспомнить что к чему.
-5
Я специально не оставляю вам код для копирования, чтобы вы писали ручками. Хочешь научиться хорошо кодить – пиши код каждый день.


IV. Последние штрихи ✂️

  • Сохраняем скрипт.
  • Перетаскиваем префаб сферы из Project в Inspector в графу Sphere Prefab (назначаем объект спавна).
  • Нажимаем кнопку плей сверху и наблюдаем магию вне Хогвардса.
-6

V. Пора экспериментировать! 🧪

Теперь, когда основа работает, попробуйте «поиграть в геймдизайнера». В панели Inspector:

  1. В скрипте Spawner:
    • Уменьшите Spawn Delay до 0.5 — сферы посыплются как из ведра
    • Уменьшите Spawn Radius до 1 — теперь они падают почти по центру
  2. В Rigidbody префаба сферы:
    • Поставьте Mass = 50 — сферы станут «тяжеловесами»
    • Включите Use Gravity — и наблюдайте «космический» эффект

Подумайте:

  • Как изменения повлияют на сложность ловли?
  • При каких значениях игра становится слишком простой/сложной?
  • Какие настройки кажутся вам самыми satisfying?
Совет: Не бойтесь «сломать» игру — это часть процесса. Чтобы вернуть исходные значения, просто перетащите префаб из панели Project на сцену заново.


Уже чувствуете себя волшебником, управляющим физикой?
☄️

VI. Итоги: что освоили

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

  • Базовый менеджмент проекта → привыкаем к порядку – сейчас у нас всего несколько элементов, а представьте когда их будет сотня.
  • Работа с компонентами игровых объектов → объект – это пустая коробка, а компоненты – ее наполнение.
  • Спавн объектов → основа для пуль, врагов, предметов.
  • Работа с префабами → экономия ресурсов и порядка в проекте.
  • Таймеры на Time.deltaTime → контроль времени в играх.
  • Простая физика → падение, столкновения (Rigidbody).
  • Рандомизация → делает игру живой и непредсказуемой.

VII. Что дальше 🤖

На следующем занятии мы с вами продолжим работать над проектом:

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

Реализуем механику ловли сфер.

VII. P.S. –

Надеюсь, это занятие было для вас полезным!

👍 Лайк / 🔔 Подписка – если хотите больше такого контента!
💬
Вопросы и пожелания? Пишите в комментариях – отвечу с радостью!
Помните: наша «волшебная таблетка» – это упорство + страсть!
🚀
Геймдев ждёт именно таких – идейных и целеустремлённых, как вы!

-7