«Разбираем базовые принципы Unity на примере простой аркады»
(упражнения рассчитаны на работу в Unity 6.1 и выше)
Вступление: 🔛
Практика — единственный путь чему-то научиться.
Я не эксперт, а такой же ученик, просто начавший чуть раньше. Вместе мы создадим прототип игры «Sphere Catcher» с базовыми механиками:
- Летающий портал, генерирующий падающие сферы
- Управляемая корзина для ловли
- Система очков (+1 за поимку, -1 жизнь за пропуск)
- Интерфейс с отображением:
• Текущих очков
• Рекорда
• Количества жизней
После реализации основы обсудим, как улучшить игру:
- Разноцветные сферы с разными свойствами
- Изменяемая скорость падения
- Бонусные эффекты
Готовы к первому шагу? Поехали!
I. Цели занятия ✨
К концу этого урока вы:
- Научитесь создавать и настраивать свой проект.
- Поймёте базовый принцип спавна объектов.
- Научитесь работать с компонентами, префабами и физикой Rigidbody.
- Освоите тайминг через Time.deltaTime.
- Поиграетесь с рандомизацией (позиция, цвет).
- Получите основу для более сложных систем (враги, бонусы, эффекты).
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 (наш спавнер станет фиолетовым и металлическим).
• Зададим нашему спавнеру подходящую форму и положение в пространстве: 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.
Вот, что в итоге должно получиться у вас на рабочем столе:
III. Пишем код Спавнера ⌨️
А теперь начинаем творить магию! Открываем скрипт и вводим в него код, приведенный на картинке ниже.
Комментарии тоже обязательно пишите – это поможет лучше понимать, что вы делаете, а когда через недельку вновь вернетесь к проекту сразу вспомнить что к чему.
Я специально не оставляю вам код для копирования, чтобы вы писали ручками. Хочешь научиться хорошо кодить – пиши код каждый день.
IV. Последние штрихи ✂️
- Сохраняем скрипт.
- Перетаскиваем префаб сферы из Project в Inspector в графу Sphere Prefab (назначаем объект спавна).
- Нажимаем кнопку плей сверху и наблюдаем магию вне Хогвардса.
V. Пора экспериментировать! 🧪
Теперь, когда основа работает, попробуйте «поиграть в геймдизайнера». В панели Inspector:
- В скрипте Spawner:
• Уменьшите Spawn Delay до 0.5 — сферы посыплются как из ведра
• Уменьшите Spawn Radius до 1 — теперь они падают почти по центру - В Rigidbody префаба сферы:
• Поставьте Mass = 50 — сферы станут «тяжеловесами»
• Включите Use Gravity — и наблюдайте «космический» эффект
Подумайте:
- Как изменения повлияют на сложность ловли?
- При каких значениях игра становится слишком простой/сложной?
- Какие настройки кажутся вам самыми satisfying?
Совет: Не бойтесь «сломать» игру — это часть процесса. Чтобы вернуть исходные значения, просто перетащите префаб из панели Project на сцену заново.
Уже чувствуете себя волшебником, управляющим физикой? ☄️
VI. Итоги: что освоили ✅
И так, коллеги, давайте подведем итоги сегодняшнего урока – чему научились и где мы сможем в дальнейшем применить эти знания и навык:
- Базовый менеджмент проекта → привыкаем к порядку – сейчас у нас всего несколько элементов, а представьте когда их будет сотня.
- Работа с компонентами игровых объектов → объект – это пустая коробка, а компоненты – ее наполнение.
- Спавн объектов → основа для пуль, врагов, предметов.
- Работа с префабами → экономия ресурсов и порядка в проекте.
- Таймеры на Time.deltaTime → контроль времени в играх.
- Простая физика → падение, столкновения (Rigidbody).
- Рандомизация → делает игру живой и непредсказуемой.
VII. Что дальше 🤖
На следующем занятии мы с вами продолжим работать над проектом:
- Научим наш спавнер плавать по небу и сбрасывал сферы в разных местах.
- Создадим корзину для ловли сфер.
- Подключим корзину у курсору мыши, чтобы перемещать ее.
Реализуем механику ловли сфер.
VII. P.S. –
Надеюсь, это занятие было для вас полезным!
👍 Лайк / 🔔 Подписка – если хотите больше такого контента!
💬 Вопросы и пожелания? Пишите в комментариях – отвечу с радостью!
✨ Помните: наша «волшебная таблетка» – это упорство + страсть!
🚀 Геймдев ждёт именно таких – идейных и целеустремлённых, как вы!