- •1. Преимущества, недостатки Unity. Примеры игр на основе Unity
- •Описание интерфейса главного окна Unity. Вкладка Scene, вкладка Game и панель инструментов.
- •Работа с мышью и клавиатурой. Навигация. Преобразование объектов. Вкладка Hierarchy, Project, Console и панель Inspector
- •4. Поддержка языков программирования в Unity. Сценарии. Компоненты. Методы Start() и Update(). Вывод информации в консоль.
- •5. Планирование трехмерного проекта fps. Трехмерное координатное пространство. Правая и левая системы координат.
- •6. Размещение объектов на трехмерной сцене. Понятие GameObject. Масштабирование объектов.
- •7. Источники света и камеры. Типы осветителей. Коллайдер, типы коллайдеров и точка наблюдения игрока в проекте fps.
- •3.3.3. Слежение за состоянием персонажа
- •14. Увеличение количества врагов: шаблон экземпляров, создание шаблона врага, сценарий SceneController, порождающий экземпляры врагов.
- •3.4.1. Что такое шаблон экземпляров?
- •3.4.2. Создание шаблона врага
- •3.5.1. Шаблон снаряда
- •3.5.2. Стрельба и столкновение с целью
- •3.5.3. Повреждение игрока
- •16. Типы игровых ресурсов. Создание геометрической модели сцены. Назначение геометрической модели. Наложение текстур. Выбор формата файла
- •4.1. Основные сведения о графических ресурсах
- •4.2. Создание геометрической модели сцены
- •4.2.1. Назначение геометрической модели
- •4.3. Наложение текстур
- •4.3.1. Выбор формата файла
- •17. Импорт файла изображения. Назначение текстуры. Создание неба с помощью текстур. Скайбокс. Создание нового материала для скайбокса
- •4.3.2. Импорт файла изображения
- •4.3.3. Назначение текстуры
- •4.4. Создание неба с помощью текстур
- •4.4.1. Что такое скайбокс?
- •4.4.2. Создание нового материала для скайбокса
- •18. Выбор формата файла для экспорта трехмерных моделей. Экспорт и импорт модели.
- •19. Системы частиц. Редактирование параметров эффекта. Новая текстура для пламени. Присоединение эффектов частиц к трехмерным объектам.
- •20. Подготовка проекта Memory. Понятие спрайт. Анимированные спрайты. Переключение камеры в режим 2d. Интерактивные объекты. Создание объекта из спрайтов.
- •21. Проект Memory: открытие карты по щелчку. Сценарий. Программная загрузка изображений. Выбор изображения в невидимом компоненте SceneController. Сценарий, реализующий эти методы.
- •28. Игра в стиле jetpack joyride в Unity 2d. Передвижение мыши вперед (скрипт). Создание бесконечного уровня в Unity: создание префаба, генератор комнат (скрипт).
- •29. Игра в стиле jetpack joyride в Unity 2d. Анимация персонажа: покадровая анимация, создание анимационных переходов, добавление параметров перехода.
- •31. Игра в стиле jetpack joyride в Unity 2d. Добавление лазеров в игру. Скрипт для включения, выключения, переключения и вращения лазеров. Настройка параметров этого скрипта.
- •32. Игра в стиле jetpack joyride в Unity 2d. Реализация скрипта, описывающего смерть мыши. Добавление анимаций Fall и Die, переходы между ними, триггер при смерти мыши.
- •33. Игра в стиле jetpack joyride в Unity 2d. Добавление монет. Использование тегов для различия в игре монет и лазеров. Обновленный скрипт контроллера персонажа.
- •Добавление метода для добавления нового объекта
- •Генерация и удаление объектов
- •Настройка параметров скрипта
- •35. Игра в стиле jetpack joyride в Unity 2d. Скрипт для добавления счётчика монет на экране. Скрипт для отображения кнопки на экране и возможности перезапуска игры.
- •Звук для лазера
- •Звук сбора монет
- •Звуки шагов и реактивного ранца
- •Добавление Audio Sources
- •Переключение между звуком шагов и реактивного ранца
- •Задание переменных сценария «Шаг» и «полет»
4.2. Создание геометрической модели сцены
Разговор о моделировании сцен мы начнем с рассмотрения процесса создания геометрической модели сцены (whiteboxing). Обычно это первый шаг моделирования уровня с помощью компьютера (следующий за разработкой этого уровня на бумаге). Как следует из английского термина, объекты сцены создаются из набора примитивов, то есть белых ящиков (white boxes). В списке различных ресурсов пустые декорации соответствуют базовому виду трехмерной модели и являются основой для отображения двухмерных картинок. Вспомните сцену, которую мы создали из примитивов в главе 2. Это и есть геометрическая модель (просто на тот момент вы еще не знали этого термина). В некоторых разделах вы найдете отсылки к вещам, которые мы делали в начале главы 2, но на этот раз я буду касаться их совсем коротко, попутно сократив обсуждение новой терминологии.
ПРИМЕЧАНИЕ В английском языке также используется термин grayboxing (gray boxes — серые ящики). Он также означает геометрическую модель сцены, но я предпочитаю слово whiteboxing, потому что узнал его раньше. Реальный цвет примитивов может различаться, точно так же, как светокопии, называемые «синьками» (blueprints), далеко не всегда имели синий цвет.
4.2.1. Назначение геометрической модели
Составление сцены из примитивов практикуется по двум причинам. Во-первых, это позволяет быстро получить «набросок», который со временем будет постепенно совершенствоваться. Эта деятельность близко связана с проектированием игровых уровней.
ОПРЕДЕЛЕНИЕ Проектирование уровней (level design) — это дисциплина, касающаяся планирования и создания в игре сцен (или уровней). Проектировщик уровней — это тот, кто занимается проектированием уровней.
По мере увеличения количества разработчиков в группе и сужения специализации каждого отдельного члена группы создание первой версии каждого игрового уровня в виде геометрической модели отдается на откуп проектировщикам уровней. Затем эта заготовка передается специалистам по графике для визуальной доработки. Но даже в маленькой группе, где за проектирование уровней и работу с графикой может отвечать один и тот же человек, такая последовательность действий является оптимальной. В конце концов, нужно с чего-то начинать, а геометрическая модель становится хорошей основой для создания визуальных эффектов.
Второй причиной использования геометрических моделей является возможность быстро привести сцену в подходящее для игры состояние. Она может быть не окончена (более того, уровень, на котором построена только геометрическая модель, очень далек от завершения), но это уже функциональная версия, поддерживающая игровой процесс. Как минимум, игрок в состоянии перемещаться по сцене (вспомните демонстрационный ролик из главы 2). Можно провести тестирование и убедиться, что игровой уровень построен корректно (например, комнаты имеют подходящий для игры размер), и только после этого тратить время и энергию на его проработку. Если окажется, что чего-то не хватает (скажем, вы поняли, что требуется больше места), несложно внести изменения и провести повторное тестирование на стадии геометрической модели.
Более того, возможность поиграть даже на стадии конструирования уровня хорошо поднимает моральный дух. Не сбрасывайте это преимущество со счетов. Создание богатой в визуальном отношении сцены может занять долгое время, и вы почувствуете усталость от того, что никак не можете воспользоваться плодами своего труда. Геометрическая модель сразу дает вам готовый (хотя и примитивный) игровой уровень и возможность играть в постоянно совершенствующуюся игру.
Итак, теперь, когда вы понимаете, почему разработки всех уровней начинаются с геометрических моделей, давайте приступим к созданию игры!