УДК 004.4'2Unity3D
ББК 32.972
Л59
Л59 Джонатан Линовес
Виртуальная реальность в Unity. / Пер. с англ. Рагимов Р. Н. –
М.: ДМК Пресс, 2016. – 316 с.: ил.
ISBN 978-5-97060-234-8
Книга позволит вам освоить разработку виртуальной реальности
в Unity – наиболее популярном на сегодняшний день
игровом движке. Вы узнаете, как использовать Unity для разработки
VR-приложений, поддерживающих такие устройства,
как Oculus Rift и Google Cardboard, позволяющих взаимодействовать
с виртуальными мирами. Книга расскажет вам, как
создать ряд интересных и занимательных VR-проектов. Вы
научитесь управлять игровым движком Unity 3D с помощью
редактора Unity и сценариев на C#. К концу книги, вы сможете
с помощью Unity создать ряд многофункциональных интерактивных
примеров восприятия виртуальной реальности.
УДК 004.4'2Unity3D
ББК 32.972
Original English language edition published by Published by Packt Publishing
Ltd., Livery Place, 35 Livery Street, Birmingham B3 2PB, UK. Copyright © 2015
Packt Publishing. Russian-language edition copyright © 2016 by DMK Press. All
rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена
в какой бы то ни было форме и какими бы то ни было средствами без
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку
вероятность технических ошибок все равно существует, издательство
не может гарантировать абсолютную точность и правильность приводимых
сведений. В связи с этим издательство не несет ответственности за возможные
ошибки, связанные с использованием книги.
ISBN 978-1-78398-855-6 (англ.)
ISBN 978-5-97060-234-8 (рус.)
Copyright © 2015 Packt Publishing
© Оформление, перевод на русский язык,
ДМК Пресс, 2016
Стр.5
Оглавление
Об авторе ........................................................ 11
О технических рецензентах ................................ 12
Предисловие ................................................... 15
Какие темы охватывает книга ........................................................ 15
Что потребуется для работы с книгой ............................................ 17
Кому адресована эта книга ............................................................ 18
Соглашения................................................................................... 18
Обратная связь ............................................................................. 20
Скачивание исходного кода программ .......................................... 20
Ошибки и опечатки ........................................................................ 20
Нарушение авторских прав ........................................................... 21
Глава 1. Виртуальность всего для всех ................. 22
Что такое виртуальная реальность? ............................................... 23
Виды шлем-дисплеев .................................................................... 26
Настольные VR-устройства ................................................................... 26
Мобильные VR-устройства .................................................................... 26
Разница между виртуальной и дополненной реальностью ............. 27
Приложения и игры ....................................................................... 28
Содержание и назначение книги ................................................... 32
Кто мой читатель? ................................................................................. 33
Виды восприятия виртуальной реальности ................................... 33
Технические навыки, которые важны при работе с VR .................... 35
Итоги ............................................................................................ 36
Глава 2. Объекты и размеры ............................... 38
Начало работы с Unity .................................................................... 39
Создание нового проекта Unity ............................................................. 39
Редактор Unity ...................................................................................... 40
Глобальное пространство по умолчанию ............................................... 41
Стр.6
6
Оглавление
Создание простой диорамы .......................................................... 42
Добавление куба ................................................................................... 42
Добавление плоскости .......................................................................... 43
Добавление сферы и материала ........................................................... 45
Изменение обзора сцены...................................................................... 47
Добавление фотографии ...................................................................... 49
Окрашивание горизонтальной плоскости ............................................. 51
Измерительные инструменты ........................................................ 52
Подготовка единичного куба ................................................................. 52
Использование проектора сетки ........................................................... 52
Измерение персонажа Ethan ................................................................. 54
Экспериментальный импорт из приложения Blender ..................... 56
Введение в Blender ............................................................................... 58
Единичный куб ...................................................................................... 60
Текстура развертки ............................................................................... 62
Импорт в Unity ....................................................................................... 65
Некоторые наблюдения ........................................................................ 66
Итоги ............................................................................................ 68
Глава 3. Сборка и выполнение VR-проекта ............ 69
Программное обеспечение интеграции VR-устройств ................... 70
Встроенная в Unity поддержка VR .......................................................... 70
Наборы инструментов разработки, специфичные для устройств........... 71
Проект OSVR ......................................................................................... 71
WebVR ................................................................................................... 72
3D-миры ............................................................................................... 73
Создание предварительно подготовленного объекта MeMyselfEye ....73
Сборка для Oculus Rift ................................................................... 74
Сборка для Google Cardboard ........................................................ 76
Настройка для Android .......................................................................... 76
Настройка для iOS ................................................................................ 76
Установка пакета Cardboard Unity .......................................................... 77
Добавление камеры .............................................................................. 77
Настройки сборки ................................................................................. 78
Режим воспроизведения....................................................................... 79
Сборка и выполнение на Android ........................................................... 79
Сборка и выполнение на iOS ................................................................. 80
Независимый обработчик ввода .................................................... 80
Как в действительности работает виртуальная реальность ............ 82
Стереоскопический 3D-просмотр ......................................................... 83
Отслеживание положения головы ......................................................... 86
Итоги ............................................................................................ 89
Глава 4. Управление взглядом ............................ 90
Превращение персонажа Ethan в бродягу ..................................... 91
Стр.7
Оглавление
7
Искусственный интеллект для персонажа Ethan .................................... 92
Внедрение навигационного меша ......................................................... 93
Прогулка по случайно выбранным направлениям .................................. 94
Интерлюдия: краткое введение в программирование для Unity ............. 95
Сценарий RandomPosition ..................................................................... 98
«Зомбированный» Ethan ...................................................................... 100
Иди туда, куда я смотрю .............................................................. 102
Сценарий LookMoveTo ........................................................................ 102
Добавление курсора обратной связи .................................................. 105
Маленькая хитрость ............................................................................ 106
«Убийственный» взгляд ............................................................... 107
Сценарий KillTarget ............................................................................. 108
Добавление эффектов частиц ............................................................. 110
Уборка ................................................................................................ 112
Итоги .......................................................................................... 112
Глава 5. Пространственный пользовательский
интерфейс .................................................... 114
Повторно используемый компонент Canvas по умолчанию .......... 116
Информационный щиток ............................................................. 122
Курсор в виде перекрестья .......................................................... 124
Информационное лобовое стекло ............................................... 127
Игровой элемент пользовательского интерфейса ....................... 130
Выноски ...................................................................................... 132
Встроенные в игру приборные панели с обработкой ввода ......... 136
Создание информационной панели с кнопками .................................. 137
Связывание брандспойта с кнопками ................................................. 140
Активация кнопок из сценария ............................................................ 142
Подсветка кнопки взглядом ................................................................ 143
Смотрим, а затем щелкаем для выбора .............................................. 146
Смотрим и выполняем выбор .............................................................. 147
Адаптивные объекты пользовательского интерфейса,
отслеживающие положение головы ............................................ 149
Использование положения головы ...................................................... 149
Использование движений головы ....................................................... 152
Итоги .......................................................................................... 155
Глава 6. Персонаж, действующий от первого лица ... 157
Понятие персонажа в Unity .......................................................... 158
Компоненты Unity ................................................................................ 158
Стандартные ресурсы Unity ................................................................. 161
Создание персонажа, действующего от первого лица ................. 164
Движение в направлении взгляда ....................................................... 165
Стр.8
8
Оглавление
Ноги на поверхности земли ................................................................. 166
Нельзя проходить сквозь твердые предметы ...................................... 167
Нельзя покидать пределы мира .......................................................... 169
Перешагивание через мелкие объекты и учет неровностей
ландшафта.......................................................................................... 170
Начало и окончание движения ............................................................ 170
Использование движений головы для запуска/остановки
перемещения ..................................................................................... 171
Калибровка пользователя ........................................................... 172
Высота персонажа .............................................................................. 173
Реальный рост игрока ......................................................................... 175
Центрирование ................................................................................... 176
Поддержка самоощущения ......................................................... 176
Изолированность головы и тела .......................................................... 177
Голова, тело... ..................................................................................... 178
...и ощущение ..................................................................................... 179
Аватар тела ......................................................................................... 181
Виртуальный Дэвид ле Нос ................................................................. 183
Звуковое сопровождение ................................................................... 184
Передвижение, телепортация и датчики ..................................... 185
Предотвращение VR-укачивания ................................................. 188
Итоги .......................................................................................... 190
Глава 7. Законы физики и окружающая среда ...... 192
Физические законы в Unity .......................................................... 193
Надувные мячи ............................................................................ 195
Удары головой ............................................................................. 200
Батут и кирпич ............................................................................. 204
Человек на батуте ........................................................................ 206
Подобно кирпичу ................................................................................ 206
Подобно персонажу ............................................................................ 207
Интерлюдия: окружающая среда и предметы .............................. 211
Wispy Sky ............................................................................................ 211
Планета Земля .................................................................................... 211
Логотип компании ............................................................................... 212
Лифт ........................................................................................... 213
Прыжки ....................................................................................... 215
Итоги .......................................................................................... 217
Глава 8. Прогулки и отображение ...................... 219
Построение моделей в Blender .................................................... 220
Стены ................................................................................................. 221
Потолок .............................................................................................. 225
Стр.9
Оглавление
9
Сборка сцены в Unity ................................................................... 228
Помещение галереи ........................................................................... 228
Контейнер для произведения искусства ............................................. 230
План экспозиции................................................................................. 233
Добавление в галерею фотографий ............................................ 235
Анимированная прогулка ............................................................ 238
Система анимации Unity ..................................................................... 238
Анимация с помощью сценариев ........................................................ 239
Оптимизация производительности и комфортности ................... 242
Оптимизация реализации и контента .................................................. 244
Оптимизация конвейера отображения Unity ........................................ 247
Оптимизация целевого оборудования и драйверов ............................ 251
Профилирование в Unity ..................................................................... 252
Итоги .......................................................................................... 254
Глава 9. Обзор в 360 градусов ........................... 255
Медиаконтент с обзором в 360 градусов ..................................... 256
Стеклянные шары........................................................................ 257
Магические шары ........................................................................ 259
Панорамы ................................................................................... 262
Инфографика .............................................................................. 264
Эквидистантные проекции .......................................................... 268
Глобусы ....................................................................................... 270
Фотосферы ................................................................................. 272
Область обзора ........................................................................... 275
Захват медиаконтента с обзором в 360 градусов ........................ 277
Итоги .......................................................................................... 278
Глава 10. Социальная VR-метавселенная ............ 280
Многопользовательская сеть ...................................................... 281
Сетевые сервисы ................................................................................ 281
Архитектура сети ................................................................................ 282
Локальный или серверный объект ....................................................... 283
Сетевая система Unity ......................................................................... 285
Настройка простой сцены ........................................................... 286
Создание среды сцены ....................................................................... 286
Создание аватара головы ................................................................... 288
Добавление многопользовательской сети ................................... 290
Компонент Network Manager и индикатор важной информации ........... 290
Компоненты Network Identity и Network Transform ................................ 290
Запуск в качестве хоста ...................................................................... 291
Стр.10
10
Оглавление
Добавление позиций порождения ....................................................... 292
Запуск двух экземпляров игры ............................................................ 293
Связывание аватара с персонажем, действующим от первого лица .... 294
Добавление многопользовательской виртуальной реальности ... 296
Игроки, использующие Oculus Rift....................................................... 296
Игроки, использующие Google Cardboard ........................................... 298
Дальнейшие действия ........................................................................ 301
Разработка и совместное использование нестандартных
комнат VRChat ............................................................................. 301
Подготовка и сборка мира .................................................................. 302
Размещение мира ............................................................................... 303
Итоги .......................................................................................... 304
Глава 11. Что дальше? ..................................... 305
Предметный указатель .................................... 308
Стр.11