Unity в действии. Мультиплатформенная разработка на C#
Хокинг Д.
Unity зачастую представляют как набор компонентов, не требующих программирования, что в корне неверно. Для создания успешной игры необходимо многое: великолепная работа художника, программистские навыки, интересная история, увлекательный геймплей и дружная и слаженная работа команды разработчиков. А еще нельзя забывать про безупречную визуализацию и качественную работу на всех платформах — от игровых консолей до мобильных телефонов. Unity объединяет мощный движок, возможности профессионального программирования и творчества дизайнеров, позволяя воплотить в жизнь самые невероятные и амбициозные проекты.
Осваивайте Unity и быстрее приступайте к созданию собственных игр!
Издательство: Питер, Серия: Для профессионалов, 2016 г.
ISBN 978-5-496-01960-6
Количество страниц: 336.
Содержание книги «Unity в действии. Мультиплатформенная разработка на C#»:
- 11 Предисловие
- 12 Введение
- 14 Благодарности
- 15 О книге
- 16 Перспективы
- 17 Условные обозначения, требования и доступные для скачивания данные
- 17 Автор в Интернете
- 18 Об авторе
- 20 Часть I. Первые шаги
- 20 Глава 1. Знакомство с Unity
- 21 1.1. Достоинства Unity
- 21 1.1.1. Сильные стороны и преимущества Unity
- 24 1.1.2. Недостатки, о которых нужно знать
- 24 1.1.3. Примеры игр на основе Unity
- 27 1.2. Как работать с Unity
- 28 1.2.1. Вкладка Scene, вкладка Game и панель инструментов
- 29 1.2.2. Работа с мышью и клавиатурой
- 30 1.2.3. Вкладка Hierarchy и панель Inspector
- 31 1.2.4. Вкладки Project и Console
- 32 1.3. Готовимся программировать в Unity
- 33 1.3.1. Запуск кода в Unity: компоненты сценария
- 34 1.3.2. Программа MonoDevelop — межплатформенная среда разработки
- 35 1.3.3. Вывод на консоль: «Hello World!»
- 37 1.4. Заключение
- 21 1.1. Достоинства Unity
- 38 Глава 2. Создание 3D-ролика
- 39 2.1. Подготовка…
- 39 2.1.1. Планирование проекта
- 40 2.1.2. Трехмерное координатное пространство
- 42 2.2. Начало проекта: размещение объектов
- 43 2.2.1. Декорации: пол, внешние и внутренние стены
- 45 2.2.2. Источники света и камеры
- 46 2.2.3. Коллайдер и точка наблюдения игрока
- 47 2.3. Двигаем объекты: сценарий, активирующий преобразования
- 48 2.3.1. Схема программирования движения
- 48 2.3.2. Написание кода
- 50 2.3.3. Локальные и глобальные координаты
- 51 2.4. Компонент сценария для осмотра сцены: MouseLook
- 52 2.4.1. Горизонтальное вращение, следящее за указателем мыши
- 53 2.4.2. Поворот по вертикали с ограничениями
- 56 2.4.3. Одновременные горизонтальное и вертикальное вращения
- 58 2.5. Компонент для клавиатурного ввода
- 58 2.5.1. Реакция на нажатие клавиш
- 59 2.5.2. Независимая от скорости работы компьютера скорость перемещений
- 60 2.5.3. Компонент CharacterController для распознавания столкновений
- 62 2.5.4. Ходить, а не летать
- 63 2.6. Заключение
- 39 2.1. Подготовка…
- 64 Глава 3. Добавляем в игру врагов и снаряды
- 65 3.1. Стрельба путем бросания лучей
- 65 3.1.1. Что такое бросание лучей?
- 66 3.1.2. Имитация стрельбы командой ScreenPointToRay
- 68 3.1.3. Добавление визуальных индикаторов для прицеливания и попаданий
- 71 3.2. Создаем активные цели
- 71 3.2.1. Определяем точку попадания
- 72 3.2.2. Уведомляем цель о попадании
- 74 3.3. Базовый искусственный интеллект для перемещения по сцене
- 74 3.3.1. Диаграмма работы базового искусственного интеллекта
- 75 3.3.2. «Поиск» препятствий методом бросания лучей
- 76 3.3.3. Слежение за состоянием персонажа
- 78 3.4. Увеличение количества врагов
- 78 3.4.1. Что такое шаблон экземпляров?
- 79 3.4.2. Создание шаблона врага
- 79 3.4.3. Экземпляры невидимого компонента SceneController
- 82 3.5. Стрельба путем создания экземпляров
- 82 3.5.1. Шаблон снаряда
- 84 3.5.2. Стрельба и столкновение с целью
- 86 3.5.3. Повреждение игрока
- 87 3.6. Заключение
- 65 3.1. Стрельба путем бросания лучей
- 88 Глава 4. Работа с графикой
- 88 4.1. Основные сведения о графических ресурсах
- 91 4.2. Создание геометрической модели сцены
- 91 4.2.1. Назначение геометрической модели
- 92 4.2.2. Рисуем план уровня
- 93 4.2.3. Расставляем примитивы в соответствии с планом
- 94 4.3. Наложение текстур
- 95 4.3.1. Выбор формата файла
- 96 4.3.2. Импорт файла изображения
- 98 4.3.3. Назначение текстуры
- 100 4.4. Создание неба с помощью текстур
- 100 4.4.1. Что такое скайбокс?
- 101 4.4.2. Создание нового материала для скайбокса
- 103 4.5. Собственные трехмерные модели
- 103 4.5.1. Выбор формата файла
- 104 4.5.2. Экспорт и импорт модели
- 106 4.6. Системы частиц
- 107 4.6.1. Редактирование параметров эффекта
- 109 4.6.2. Новая текстура для пламени
- 110 4.6.3. Присоединение эффектов частиц к трехмерным объектам
- 111 4.7. Заключение
- 113 Часть II. Жизнь налаживается
- 113 Глава 5. Игра Memory на основе новой 2D-функциональности
- 114 5.1. Подготовка к работе с двухмерной графикой
- 115 5.1.1. Подготовка проекта
- 117 5.1.2. Отображение двухмерных изображений (спрайтов)
- 119 5.1.3. Переключение камеры в режим 2D
- 120 5.2. Создание карт и превращение их в интерактивные объекты
- 121 5.2.1. Создание объекта из спрайтов
- 121 5.2.2. Код ввода с помощью мыши
- 122 5.2.3. Открытие карты по щелчку
- 123 5.3. Отображение различных карт
- 123 5.3.1. Программная загрузка изображений
- 124 5.3.2. Выбор изображения в невидимом компоненте SceneController
- 126 5.3.3. Создание экземпляров карт
- 127 5.3.4. Тасуем карты
- 129 5.4. Совпадения и подсчет очков
- 130 5.4.1. Сохранение и сравнение открытых карт
- 130 5.4.2. Скрытие несовпадающих карт
- 131 5.4.3. Текстовое отображение счета
- 133 5.5. Кнопка Restart
- 133 5.5.1. Добавление к компоненту UIButton метода SendMessage
- 136 5.5.2. Вызов метода LoadLevel в сценарии SceneController
- 136 5.6. Заключение
- 114 5.1. Подготовка к работе с двухмерной графикой
- 138 Глава 6. Двухмерный GUI для трехмерной игры
- 140 6.1. Перед тем как писать код…
- 140 6.1.1. IMGUI или усовершенствованный 2D-интерфейс?
- 141 6.1.2. Выбор компоновки
- 141 6.1.3. Импорт изображений UI
- 142 6.2. Настройка GUI
- 142 6.2.1. Холст для интерфейса
- 144 6.2.2. Кнопки, изображения и текстовые подписи
- 146 6.2.3. Управление положением элементов UI
- 148 6.3. Программирование интерактивного UI
- 148 6.3.1. Программирование невидимого объекта UIController
- 150 6.3.2. Создание всплывающего окна
- 153 6.3.3. Задание значений с помощью ползунка и поля ввода
- 155 6.4. Обновление игры в ответ на события
- 156 6.4.1. Интегрирование системы сообщений
- 157 6.4.2. Рассылка и слушание сообщений сцены
- 158 6.4.3. Рассылка и слушание сообщений проекционного дисплея
- 159 6.5. Заключение
- 140 6.1. Перед тем как писать код…
- 160 Глава 7. Игра от третьего лица: перемещение и анимация игрока
- 162 7.1. Корректировка положения камеры
- 163 7.1.1. Импорт персонажа
- 164 7.1.2. Добавление в сцену теней
- 165 7.1.3. Облет камеры вокруг персонажа
- 168 7.2. Элементы управления движением, связанные с камерой
- 169 7.2.1. Поворот персонажа лицом в направлении движения
- 171 7.2.2. Движение вперед в выбранном направлении
- 172 7.3. Выполнение прыжков
- 173 7.3.1. Добавление вертикальной скорости и ускорения
- 174 7.3.2. Распознавание поверхности с учетом краев и склонов
- 178 7.4. Анимация персонажа
- 180 7.4.1. Создание анимационных клипов для импортированной модели
- 182 7.4.2. Создание контроллера для анимационных клипов
- 186 7.4.3. Код, управляющий контроллером-аниматором
- 187 7.5. Заключение
- 162 7.1. Корректировка положения камеры
- 188 Глава 8. Добавление в игру интерактивных устройств и элементов
- 189 8.1. Создание дверей и других устройств
- 189 8.1.1. Открывание и закрывание дверей
- 191 8.1.2. Проверка расстояния и направления перед открытием двери
- 192 8.1.3. Управление меняющим цвет монитором
- 194 8.2. Взаимодействие с объектами путем столкновений
- 194 8.2.1. Столкновение с препятствиями, обладающими физическими свойствами
- 195 8.2.2. Управление дверью с помощью триггера
- 198 8.2.3. Сбор разбросанных по игровому уровню элементов
- 199 8.3. Управление инвентаризационными данными и состоянием игры
- 200 8.3.1. Настраиваем диспетчеры игрока и инвентаря
- 201 8.3.2. Программирование диспетчеров
- 205 8.3.3. Сохранение инвентаря в виде коллекции: списки и словари
- 208 8.4. Интерфейс для использования и подготовки элементов
- 208 8.4.1. Отображение элементов инвентаря в UI
- 210 8.4.2. Подготовка ключа для открытия двери
- 212 8.4.3. Восстановление здоровья персонажа
- 213 8.5. Заключение
- 189 8.1. Создание дверей и других устройств
- 215 Часть III. Уверенный финиш
- 215 Глава 9. Подключение игры к Интернету
- 217 9.1. Создание натурной сцены
- 217 9.1.1. Генерирование неба с помощью скайбокса
- 218 9.1.2. Настройка управляемой кодом атмосферы
- 220 9.2. Скачивание сводки погоды из Интернета
- 223 9.2.1. Запрос веб-данных через сопрограмму
- 227 9.2.2. Парсинг текста в формате XML
- 229 9.2.3. Парсинг текста в формате JSON
- 231 9.2.4. Изменение вида сцены на базе данных о погоде
- 232 9.3. Добавление рекламного щита
- 233 9.3.1. Загрузка изображений из Интернета
- 235 9.3.2. Вывод изображения на щите
- 236 9.3.3. Кэширование скачанного изображения
- 238 9.4. Отправка данных на веб-сервер
- 239 9.4.1. Слежение за погодой: отправка запросов POST
- 241 9.4.2. Серверный код в PHP-сценарии
- 241 9.5. Заключение
- 217 9.1. Создание натурной сцены
- 242 Глава 10. Звуковые эффекты и музыка
- 243 10.1. Импорт звуковых эффектов
- 243 10.1.1. Поддерживаемые форматы файлов
- 245 10.1.2. Импорт аудиофайлов
- 246 10.2. Воспроизведение звуковых эффектов
- 246 10.2.1. Система воспроизведения: клипы, источник, подписчик
- 248 10.2.2. Присваивание зацикленного звука
- 249 10.2.3. Активация звуковых эффектов из кода
- 250 10.3. Интерфейс управления звуком
- 250 10.3.1. Настройка центрального диспетчера управления звуком
- 252 10.3.2. UI для управления громкостью
- 255 10.3.3. Воспроизведение звуков UI
- 256 10.4. Фоновая музыка
- 257 10.4.1. Воспроизведение музыкальных циклов
- 261 10.4.2. Отдельная регулировка громкости
- 263 10.4.3. Переход между песнями
- 266 10.5. Заключение
- 243 10.1. Импорт звуковых эффектов
- 267 Глава 11. Объединение фрагментов в готовую игру
- 268 11.1. Построение ролевого боевика изменением назначения проектов
- 269 11.1.1. Сборка ресурсов и кода из разных проектов
- 271 11.1.2. Элементы наведения и щелчка
- 276 11.1.3. Замена старого GUI новым
- 283 11.2. Разработка общей игровой структуры
- 283 11.2.1. Управление ходом миссии и набором уровней
- 287 11.2.2. Завершение уровня
- 289 11.2.3. Проигрыш уровня
- 291 11.3. Обработка хода игры
- 291 11.3.1. Сохранение и загрузка достижений игрока
- 295 11.3.2. Победа в игре при прохождении всех уровней
- 297 11.4. Заключение
- 268 11.1. Построение ролевого боевика изменением назначения проектов
- 298 Глава 12. Развертывание игр на устройствах игроков
- 300 12.1. Создание приложений для настольных компьютеров: Windows, Mac и Linux
- 300 12.1.1. Построение приложения
- 301 12.1.2. Настройки проигрывателя: имя и значок приложения
- 303 12.1.3. Компиляция в зависимости от платформы
- 304 12.2. Создание игр для Интернета
- 304 12.2.1. Проигрыватель Unity и HTML5/WebGL
- 304 12.2.2. Создание файла Unity и тестовой веб-страницы
- 305 12.2.3. Обмен данными с JavaScript в браузере
- 307 12.3. Сборки для мобильных устройств: iOS и Android
- 307 12.3.1. Настройка инструментов сборки
- 311 12.3.2. Сжатие текстур
- 312 12.3.3. Разработка подключаемых модулей
- 320 12.4. Заключение
- 300 12.1. Создание приложений для настольных компьютеров: Windows, Mac и Linux
- 321 Приложение А. Перемещение по сцене и клавиатурные комбинации
- 321 А.1. Навигация с помощью мыши
- 322 А.2. Распространенные клавиатурные комбинации
- 323 Приложение Б. Внешние инструменты, используемые вместе с Unity
- 323 Б.1. Инструменты программирования
- 323 Б.1.1. Visual Studio
- 323 Б.1.2. Xcode
- 324 Б.1.3. Android SDK
- 324 Б.1.4. SVN, Git или Mercurial
- 324 Б.2. Приложения для работы с трехмерной графикой
- 324 Б.2.1. Maya
- 324 Б.2.2. 3ds Max
- 325 Б.2.3. Blender
- 325 Б.3. Редакторы двухмерной графики
- 325 Б.3.1. Photoshop
- 325 Б.3.2. GIMP
- 325 Б.3.3. TexturePacker
- 325 Б.4. Звуковое программное обеспечение
- 326 Б.4.1. Pro Tools
- 326 Б.4.2. Audacity
- 323 Б.1. Инструменты программирования
- 327 Приложение В. Моделирование скамейки в программе Blender
- 327 В.1. Создание сеточной геометрии
- 331 В.2. Назначение материала
Инструкция как скачать книгу Хокинг Д.: Unity в действии. Мультиплатформенная разработка на C# в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.