Виртуальная реальность в Unity
Покупка
Издательство:
ДМК Пресс
Автор:
Линовес Джонатан
Перевод:
Рагимов Р. Н.
Год издания: 2023
Кол-во страниц: 317
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-578-7
Артикул: 651155.03.99
Доступ онлайн
В корзину
Книга позволит вам освоить разработку виртуальной реальности в Unity — наиболее популярном на сегодняшний день игровом движке. Вы узнаете, как использовать Unity для разработки VR-приложений, поддерживающих такие устройства, как Oculus Rift и Google Cardboard, позволяющих взаимодействовать с виртуальными мирами. Книга расскажет вам, как создать ряд интересных и занимательных VR-проектов. Вы научитесь управлять игровым движком Unity 3D с помощью редактора Unity и сценариев на C#. К концу книги, вы сможете с помощью Unity создать ряд многофункциональных интерактивных примеров восприятия виртуальной реальности.
- Полная коллекция по информатике и вычислительной технике
- Виртуальная и дополненная реальность (AR\VR)
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Мультимедиа. Компьютерные игры
- Разработка игр
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
Джонатан Линовес Виртуальная реальность в 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 Джонатан Линовес Москва, 2023 2-е издание, электронное
УДК 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
Оглавление Об авторе ........................................................ 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-приложений, которые можно будет испытать с помощью таких устройств, как Ocu- lus Rift или Google Cardboard. Здесь будут рассмотрены технические вопросы, которые особенно важны и, возможно, уникальны для виртуальной реальности. По завершении чтения этой книги вы будете обладать всеми необходимыми навыками разработки многофункциональных интерактивных решений для виртуальной реальности на Unity. Какие темы охватывает книга Глава 1, «Виртуальность всего для всех», представляет собой краткий экскурс в область новых технологий и виртуальной реальности (VR), применяемых в играх и неигровых приложениях.
Предисловие Глава 2, «Объекты и размеры», посвящена рассмотрению примера сцены диорамы. Она знакомит с игровым движком Unity 3D, а также средой для 3D-моделирования Blender и раскрывает вопросы глобальных координат и масштабирования. Глава 3, «Сборка и выполнение VR-проекта», описывает настройку проектов для выполнения в среде со шлем-дисплеем, таким как Ocu- lus 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 в качестве
Доступ онлайн
В корзину