
- •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
- •Переключение между звуком шагов и реактивного ранца
- •Задание переменных сценария «Шаг» и «полет»
18. Выбор формата файла для экспорта трехмерных моделей. Экспорт и импорт модели.
Форматы файлов трехмерных моделей, поддерживаемые в Unity
Выбор варианта сводится к поддержке анимации. Так как единственными удовлетворяющими этому условию вариантами являются Collada и FBX, выбирать приходится между ними. Когда есть такая возможность (не все инструменты для работы с трехмерной графикой экспортируют данные в этом формате), лучше всего пользоваться форматом FBX, в противном случае подойдет и формат Collada.
Инструмент Unity позволяет прямо переносить их файлы в ваши проекты, что сначала кажется удобным, но эта функциональность имеет несколько подводных камней. Во-первых, Unity не загружает непосредственно сами файлы. Модель загружается в фоновом режиме, затем загружается экспортированный файл. Но так как модель в любом случае экспортируется в формате FBX или Collada, лучше делать это в явном виде. Во-вторых, для подобной операции у вас должно быть установлено соответствующее приложение.
Экспорт и импорт модели
Первым делом откройте файл со скамейкой в приложении Blender и выберите в меню File команду ExportFBX. Сохраненный файл импортируйте в Unity тем же способом, которым осуществлялся импорт изображений. Перетащите FBX-файл на вкладку Project или щелкните на этой вкладке правой кнопкой мыши и выберите команду Import New Asset. Трехмерная модель будет скопирована в Unity-проект, готовая к вставке в сцену.
При импорте моделей желательно сразу же поменять несколько параметров. Можно также установить флажок Generate Colliders (генерировать коллайдеры), но это не обязательно. Затем перейдите на вкладку Animation в параметрах импорта и сбросьте флажок Import Animation (импорт анимации) — ведь эту модель мы анимировать не будем.
Это обеспечит нам корректный импорт сетки. Теперь что касается текстуры; при импорте FBX-файла инструмент Unity заодно создал материал для скамейки. Назначьте ему текстуру: перетащите изображение на вкладку Project, чтобы импортировать его в Unity, а затем — на ячейку текстуры в настройках материала скамейки.
19. Системы частиц. Редактирование параметров эффекта. Новая текстура для пламени. Присоединение эффектов частиц к трехмерным объектам.
Редактирование параметров эффекта
Рисунок демонстрирует полный список вариантов настройки системы частиц. Мы остановимся только на том, что требуется для создания эффекта пламени.
Новая текстура для пламени
Теперь наша система частиц больше напоминает факел, но нужно придать частицам вид пламени, а не шариков. Для этого нам потребуется импортировать в Unity еще одно изображение. Я поставил оранжевую точку и воспользовался инструментом Smudge для имитации языков пламени. Перетащите картинку на панель Project или выберите в меню Assets команду Import New Asset
Системе частиц, как и трехмерной модели, невозможно назначить текстуру напрямую; поэтому добавьте эту текстуру к материалу и назначьте его системе частиц. Создайте новый материал и перетащите текстуру с вкладки Project на ячейку Albedo на панели Inspector. Это свяжет текстуру с материалом, после чего его можно будет добавить к системе частиц. Эта процедура показана на рис. 4.22. Выделите систему частиц, раскройте свиток Renderer в нижней части списка настроек и перетащите материал на ячейку Material.
Как и в случае материала для скайбокса, вам нужно выбрать другой вариант раскраски. Щелчком откройте меню Shader в верхней части настроек материала, чтобы увидеть список доступных раскрасок. Вместо используемого по умолчанию стандартного варианта материал для частиц нуждается в одном из вариантов раскраски, перечисленных в дополнительном меню Particles. Как показано на рис. 4.23, на этот раз мы выбираем вариант Additive (Soft). Это заставит частицы опалесцировать и освещать сцену, как настоящий огонь.
Присоединение эффектов частиц к трехмерным объектам
Создайте сферу (напоминаю, что в меню GameObject нужно выбрать команду 3D ObjectSphere). Создайте новый сценарий с именем BackAndForth, показанный в следующем листинге, и присоедините его к сфере
Скрипт «Движение объекта взад и вперед по прямой»
Теперь система частиц двигается вместе со сферой, но пламя при этом не отклоняется, что выглядит неестественно. Это связано с тем, что по умолчанию частицы перемещаются корректно только в локальном пространстве собственной системы. Для завершения модели горящей сферы найдите в настройках системы частиц параметр Simulation Space и измените его значение с Local на World.