Разработка игр на Unity 3D в RealTime School | RealTime School

Unity 3D | Разработка игр. Основы



Изображение: игра Firewatch

Описание курса

Unity 3D — это современный кросс-платформенный движок для разработки 2d и 3d приложений и игр, разработанный Unity Technologies. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL и работают под различными операционными системами – Windows, OS X, Android, Apple iOS, Linux, а также на игровых приставках Play Station 4, XBox One и Nintendo Switch.

Unity 3D обладает огромным количеством преимуществ, среди которых: возможности импорта, тестирование игры непосредственно в редакторе, кросс-платформенность, инструментарий для совместной разработки, гибкость и масштабируемость, доступная ценовая категория, поддержка физики тканей и многое другое.

Результат обучения

Пройдя курс, студенты освоят работу с движком, работу с 2d-спрайтами и 3d-моделями, левелдизайн, настройку освещения и материалов, работу с физикой, анимацией, AI-навигацией, написание игровых скриптов, работу с аудио и др., и смогут самостоятельно создавать игры под различные платформы и выкладывать их в магазин приложений.


Демонстрационная игра для курса “Unity 3D | Разработка игр. Основы”.
Разработчик – инструктор курса Сергей Молчановский.

Требования к слушателям

Основы программирования на любом языке, желательно знание языка C# хотя бы на базовом уровне и знание любого 3d-редактора.

Структура курса

Курс проводится в формате “лекция/лабораторная работа”. Занятия с преподавателем – с 10 утра до 10 вечера с перерывами на кофе-брейк, обед и ужин. Длительность курса – 4 выходных дня (суббота, воскресенье).

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


Изображение: игра Ori and the Blind Forest

Программа курса

День первый. Суббота

  • Пользовательский интерфейс Юнити. Основные окна. Навигация. Структура проекта. Игровые объекты и компоненты; префабы; тэги; слои.
  • Создание простейшего пейзажа стандартными средствами: поверхность земли, трава, деревья, вода, ветер, Skybox.
  • Standard Assets.
  • Практика. Создание своего пейзажа + рассказ о вспомогательных ассетах для его создания.
  • Импорт объектов из 3d-редактора и их настройка. Основы левелдизайна. Прототипирование.
  • Практика.

День второй. Воскресенье

  • Скриптинг: основы C# и ООП, сообщения MonoBehaviour, векторная алгебра в играх, активация объектов и компонентов из скрипта. Получение ввода с клавиатуры и мыши.
  • Скриптинг: Lerp, deltaTime, инстанциирование и уничтожение объектов. Корутины. Компонент Transform.
  • Практика.
  • Юнити для 2D-игр: 2D-режим, спрайты, их сортировка и отображение. 2D-физика, Rigidbody2D, коллайдеры, эффекторы.
  • Практика. Делаем свою несложную 2D-игру. Ловля призов, арканоид, полет по лабиринту.
  • Домашнее задание: доделать игру до конца (в рамках того, что уже изучено).

День третий. Суббота

  • Освещение: виды источников, Cookies, запекание освещения. Материалы и их настройка. Системы частиц, эффекты в играх.
  • Практика по настройке материалов интерьера.
  • Физика: Rigidbody, коллайдеры, триггеры, силы, моменты вращения, джойнты, OnCollisionEnter, рэйкастинг. Физические материалы.
  • Звуки и музыка. 3D-источники и слушатели. Звуковой микшер.
  • Скриптинг: типичные игровые паттерны.
  • Практика.

День четвёртый. Воскресенье

  • Канвас, UI-компоненты, «резиновая» верстка. Создание игрового меню.
  • Анимация в Юнити. Ивенты анимаций. Персонажная анимация. Старая и новая система анимации. Компонент Animator, понятие автомата состояний, переходы между состояниями, управление из скрипта.
  • Практика.
  • Навигация AI-агентов.
  • Основы мультиплеера Unet.
  • Аналитика, модели монетизации, IAP, социальные функции, настройка билда под разные платформы, как публиковать в Google Play / App Store.