УДК 004.4’2Unity3D
ББК 32.972
Л59
Линовес, Джонатан.
Л59
Виртуальная реальность в Unity / Дж. Линовес ; пер. с англ. Р. Н. Рагимова.
— 2-е изд., эл. — 1 файл pdf : 317 с. — Москва : ДМК Пресс, 2023. —
Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ;
экран 10". — Текст : электронный.
ISBN 978-5-89818-578-7
Книга позволит вам освоить разработку виртуальной реальности в Unity — наиболее
популярном на сегодняшний день игровом движке. Вы узнаете, как использовать
Unity для разработки VR-приложений, поддерживающих такие устройства, как Oculus
Rift и Google Cardboard, позволяющих взаимодействовать с виртуальными мирами.
Книга расскажет вам, как создать ряд интересных и занимательных VR-проектов. Вы
научитесь управлять игровым движком Unity 3D с помощью редактора Unity и сценариев
на C#. К концу книги, вы сможете с помощью Unity создать ряд многофункциональных
интерактивных примеров восприятия виртуальной реальности.
УДК 004.4’2Unity3D
ББК 32.972
Электронное издание на основе печатного издания: Виртуальная реальность в Unity /
Дж. Линовес ; пер. с англ. Р. Н. Рагимова. — Москва : ДМК Пресс, 2016. — 316 с. — ISBN
978-5-97060-234-8. — Текст : непосредственный.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было
форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических
ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность
приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные
с использованием книги.
В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.
ISBN
978-5-89818-578-7
© 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