Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Виртуальная реальность в Unity

Покупка
Артикул: 651155.02.99
К покупке доступен более свежий выпуск Перейти
Книга позволит вам освоить разработку виртуальной реальности в Unity - наиболее популярном на сегодняшний день игровом движке. Вы узнаете, как использовать Unity для разработки VR-приложений, поддерживающих такие устройства, как Oculus Rift и Google Cardboard, позволяющих взаимодействовать с виртуальными мирами. Книга расскажет вам, как создать ряд интересных и занимательных VR-проектов. Вы научитесь управлять игровым движком Unity 3D с помощью редактора Unity и сценариев на С#. К концу книги, вы сможете с помощью Unity создать ряд многофункциональных интерактивных примеров восприятия виртуальной реальности.
Линовес, Д. Виртуальная реальность в Unity / Джонатан Линовес ; пер. с англ. Р.Н. Рагимова. - Москва : ДМК Пресс, 2016. - 316 с. - ISBN 978-5-97060-234-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/1028048 (дата обращения: 30.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Джонатан Линовес

Виртуальная 
реальность 

в Unity

Unity Virtual Reality 
Projects

Explore the world of virtual reality by  
building immersive and fun VR  
projects using Unity 3D

Jonathan Linowes

BIRMINGHAM - MUMBAI

Виртуальная 
реальность в Unity

Окунитесь в мир виртуальной реальности, 
создавая захватывающие и дарящие 
радость VR-проекты в Unity 3D

Джонатан Линовес

Москва, 2016

УДК  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 (англ.)                     Copyright © 2015 Packt Publishing 
ISBN 978-5-97060-234-8 (рус.)                       © Оформление, перевод на русский язык,

          ДМК Пресс, 2016

Оглавление

Об авторе ........................................................ 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

Оглавление

Создание простой диорамы .......................................................... 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

Оглавление

Искусственный интеллект для персонажа 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

Оглавление

Ноги на поверхности земли ................................................................. 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

Оглавление

Сборка сцены в 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

Оглавление

Добавление позиций порождения ....................................................... 292
Запуск двух экземпляров игры ............................................................ 293
Связывание аватара с персонажем, действующим от первого лица .... 294

Добавление многопользовательской виртуальной реальности ... 296
Игроки, использующие Oculus Rift....................................................... 296
Игроки, использующие Google Cardboard ........................................... 298
Дальнейшие действия ........................................................................ 301

Разработка и совместное использование нестандартных  
комнат VRChat ............................................................................. 301
Подготовка и сборка мира .................................................................. 302
Размещение мира ............................................................................... 303

Итоги .......................................................................................... 304

Глава 11. Что дальше? ..................................... 305

Предметный указатель .................................... 308

Об автОре

Джонатан Линовес (Jonathan Linowes) – владелец консалтинговой 
фирмы Parkerhill Reality Labs, занимающейся виртуальной и дополненной реальностью. Он истинный энтузиаст VR- и 3D-графики, 
многопрофильный веб-разработчик, программный инженер, успешный предприниматель и преподаватель. Линовес получил диплом 
изобразительного искусства Сиракузского университета и степень 
магистра MIT Media Lab. Он основал несколько успешных стартапов 
и занимал руководящие должности в крупных корпорациях, включая 
Autodesk Inc.

Посвящаю эту книгу моей жене Лизе, лучшему другу и единомышленнику, и удивительной семье, созданной нами: Райне, 
Джарретт, Стивену и Шире, которые в глубине души догадываются, что будущее принадлежит им.

О технических 
рецензентах

Кристиан Бабилински (Krystian Babilinski) начал работать с Unity и 
Blender, когда еще учился в средней школе. Став студентом, он вместе со своим братом Адрианом занялся преподаванием через сервис 
Helpouts Google. Преподавая, он открывал для себя новые задачи, решая которые приобретал опыт. Постепенно Кристиан начал сотрудничать в крупномасштабных проектах и выполнять работы под заказ. 
Расширив свой портфолио и пополнив знание Unity 3D, он вместе 
с братом организовал собственную креативную фирму в 2014 году. 
Эта компания разрабатывает ресурсы для Unity Asset Store и выполняет заказы крупных клиентов, таких как Hasley Group и Beach 
Consulting. Таких успехов невозможно было бы добиться без доверия 
со стороны заказчиков.

Ариндам Асхим Бозе (Arindam Ashim Bose) на момент написания 
книги (2015 год) получал степень магистра в области компьютерных 
наук в Технологическом институте Джорджии в Атланте. Среди его 
увлечений – компьютерная графика, виртуальная и дополненная реальность, разработка игр.
Ариндам родился в Мумбаи и ощутил тягу к компьютерам, информационным технологиям и особенно компьютерным играм в очень 
раннем возрасте. Во время каникул и в выходные дни он проводил 
много времени, играя в компьютерные игры и пытаясь как-либо изменить их. Именно эта страсть к «тюнингу» программ и привела его в 
компьютерное программирование.
В настоящее время Ариндам Асхим Бозе работает в игровой индустрии в качестве программиста.

Ронгкай Го (Rongkai Guo) – доцент кафедры программной инженерии, дизайна и разработки игр в университете Кеннесоу. Круг интересов Ронгкая Го составляют «серьезные» игры, игры для ПК и мо
О технических рецензентах

бильных приложений, виртуальная реальность (VR). Он исследует 
применение виртуальной реальности в реабилитационных проектах 
уже более четырех лет. Первая научная работа Ронгкая называлась 
In The World и была посвящена изучению воздействия виртуальной 
реальности на лиц с нарушениями опорно-двигательного аппарата.

Арун Кулшрешз (Arun Kulshreshth) – исследователь кафедры компьютерных наук в Университете Центральной Флориды. Областью 
его исследования являются пользовательские 3D-интерфейсы, взаимодействие человека с компьютером (human-computer interactions, 
сокращенно HCI), игры и виртуальная реальность. В 2005 году Арун 
получил степень магистра математики и вычислительной техники 
(интегрированная 5-летняя программа обучения) в Индийском технологическом институте Дели. В 2012 году получил степень магистра 
компьютерных наук, а в 2015 году – докторскую степень в области 
компьютерных наук в Университете Центральной Флориды.
Является автором нескольких публикаций, связанных с его исследовательской работой, относящихся к применению технологий 
пользовательского 3D-интерфейса (таких как стереоскопическое 3D, 
отслеживание движений головы, жестикуляционные интерфейсы 
и так далее) в видеоиграх. Арун Кулшрешз – член Ассоциации вычислительной техники (Association for Computing Machinery, ACM) и 
ассоциации Института инженеров по электротехнике и электронике 
(Institute of Electrical and Electronics Engineers, IEEE). В прошлом 
вел исследования в нескольких странах мира, в том числе Испании, 
Дании и США. Одна из работ Аруна была удостоена почетной награды на конференции HCI 2014 года. В том же году его имя упоминалось в статье Reuters, а один из его проектов был показан на канале 
Discovery News.

Робин де Ланге (Robin de Lange) – исследователь, преподаватель и 
предприниматель, занимающийся виртуальной реальностью и образованием.
Робин имеет степень магистра в области медиатехнологий Университета Лейдена и степень бакалавра физики и философии того же 
университета. В качестве внештатного доктора философии он включен в состав исследовательской группы медиатехнологий Лейденского университета под руководством доктора База Харинга. В своей 
работе Робин де Ланге изучает сложные проблемы применения дополненной и виртуальной реальности. В рамках этого исследования 

О технических рецензентах

он проводит для группы студентов факультативный курс, посвященный созданию прототипов виртуальной реальности в области образования.
Параллельно с академической деятельностью Робин ведет несколько проектов. Он является директором компании самообразования и 
основателем лицея CodeWeken, а также разработчиком уникального 
курса программы для обучения старшеклассников программированию.

Сэмюэль Мосли (Samuel Mosley) – дизайнер игр. Он учился программированию и дизайну компьютерных игр в Университете штата Техас 
в Далласе. Интересуясь одновременно программированием и играми, 
Сэмюель надеется достичь успехов в обеих областях. В настоящее 
время работает дизайнером игр в Bohemia Interactive Simulations.

ПредислОвие

Сегодня мы являемся свидетелями расцвета виртуальной реальности 
(virtual reality, сокращенно VR) – захватывающей новой технологии, 
которая обещает коренным образом изменить наше взаимодействие с 
информацией, друзьями и миром в целом.
Чем является виртуальная реальность для пользователя? Надев 
шлем-дисплей (нечто подобное очкам), вы можете просматривать 
сцены в 3D. Можете оглядеться вокруг, повернув голову, и переместиться в пространстве с помощью ручного управления или датчиков 
движения. Таким образом достигается эффект полного присутствия. 
Вам кажется, что вы действительно находитесь в другом, виртуальном мире.
Эта книга является практическим, основанным на конкретных 
проектах руководством по разработке виртуальной реальности в 
игровом движке Unity 3D. Вниманию читателя предлагаются ряд 
практических примеров, пошаговые инструкции и подробное рассмотрение использования Unity 5 и другого программного обеспечения, 
бесплатного и с открытым исходным кодом. Хотя технология виртуальной реальности быстро развивается, мы постараемся охватить 
основные принципы и технологии, которые вы сможете эффективно 
использовать в ваших VR-играх и VR-приложениях.
Вы научитесь использовать Unity для разработки VR-приложений, 
которые можно будет испытать с помощью таких устройств, как Oculus Rift или Google Cardboard. Здесь будут рассмотрены технические 
вопросы, которые особенно важны и, возможно, уникальны для виртуальной реальности. По завершении чтения этой книги вы будете обладать всеми необходимыми навыками разработки многофункциональных интерактивных решений для виртуальной реальности на Unity.

Какие темы охватывает книга

Глава 1, «Виртуальность всего для всех», представляет собой краткий 
экскурс в область новых технологий и виртуальной реальности (VR), 
применяемых в играх и неигровых приложениях. 

Предисловие

Глава 2, «Объекты и размеры», посвящена рассмотрению примера 
сцены диорамы. Она знакомит с игровым движком Unity 3D, а также 
средой для 3D-моделирования Blender и раскрывает вопросы глобальных координат и масштабирования.
Глава 3, «Сборка и выполнение VR-проекта», описывает настройку 
проектов для выполнения в среде со шлем-дисплеем, таким как Oculus Rift или Google Cardboard (на Android или iOS). Здесь же приведены подробные сведения о работе оборудования и программного 
обеспечения виртуальной реальности.
Глава 4, «Управление взглядом», посвящена исследованию взаимосвязи между VR-камерой и объектами в сцене, в том числе 
3D-курсорами и лучами, направляемыми взглядом. Эта глава также 
знакомит с написанием сценариев для Unity на языке программирования C#.
Глава 5, «Пространственный пользовательский интерфейс», содержит реализацию множества примеров пользовательского интерфейса 
(UI) для виртуальной реальности, включая информационную панель 
(HUD), выноски и внутренние объекты игры. Здесь представлено 
много кода и пояснений к нему.
Глава 6, «Персонаж, действующий от первого лица», разбивает персонаж Unity на составляющие его объекты и компоненты, которые 
будут использованы при разработке персонажа, действующего от 
первого лица и управляемого взглядом. Здесь же показано, как отображается виртуальное тело персонажа, и рассмотрен вопрос об укачивании.
Глава 7, «Законы физики и окружающая среда», подробно рассматривает физический движок Unity, компоненты и материалы, описывает работу с силами и гравитацией на ряде примеров VR-проектов 
и VR-игр.
Глава 8, «Прогулки и отображение», рассматривает создание архитектуры 3D-пространства и реализацию виртуального прохождения. 
Здесь же затрагиваются вопросы отображения в Unity и оптимизации производительности.
Глава 9, «Обзор в 360 градусов», посвящена применению мультимедийных материалов с 360-градусным обзором, в том числе глобусов, 
панорам и фотосфер, в различных проектах. Здесь же описано, как 
все это работает.
Глава 10, «Социальная VR-метавселенная», описывает реализацию 
многопользовательской виртуальной реальности с помощью сетевых 
компонентов Unity 5. Также будет рассмотрен VRChat в качестве 

К покупке доступен более свежий выпуск Перейти