- PVSM.RU - https://www.pvsm.ru -
В сети есть тонны руководств и блогов про дизайн для виртуальной реальности. Но у вас не хватит времени проштудировать их все и выделить наиболее полезную информацию. Поэтому я решил поделиться своими заметками на тему VR. Это не окончательная форма статьи, она будет дополняться по мере развития технологий и подходов. Также приветствуется обратная связь.
Вы новичок в VR? Этот короткий (1-1,5 часа) путеводитель поможет вам сориентироваться в самых важных вещах. К сожалению, без прямого доступа к VR-системе не получится получить полного представления. Наиболее доступные и популярные платформы требуют Android-смартфон. Я рекомендую взять такой, на котором можно будет запускать Daydream [8]. Если вы будете пытаться изучать VR, не попробовав сначала Daydream, то просто потеряете время. Обсуждать VR — это как танцевать про архитектуру. Сначала нужно получить эмпирический фундамент, на котором можно строить последующее обучение.
Приложение Google Cardboard Design Lab [9] для Android — лучший способ освоения фундаментальных принципов хорошего VR-дизайна, как они представляются на сегодняшний день.
Майк Элгар освещает важные моменты, связанные с эргономикой в VR. Предлагаются разные подходы к обдумыванию дизайнерских решений, о командном процессе создания дизайна и документации.
Напоследок взгляните на действительно творческое исследование, проведённое командой Daydream Labs. Оно разбито на три части: взаимодействие, погружение, социальное общение. Эти эксперименты позволяют представить объём работы, необходимой для создания по-настоящему зрелых дизайнерских подходов. Очень много работы.
Итак, добро пожаловать в дизайн для VR. Прежде чем продолжить, хочу отметить, что большая часть представленной выше информации относится к приложениям, основанным на эффекте присутствия пользователя (presence-dependent), это сфера развлечений и игр. Рискуя прослыть Капитаном, всё же подчеркну:
Существуют фундаментальные различия между приложениями, основанными на присутствии (presence-dependent), и задача-ориентированными (task-focused).
Пользовательский интерфейс, создаваемый для игры, никогда не будет удовлетворять потребностям приложения для повышения производительности труда. Я думаю, что на этапе развития индустрии ошибочное применение разных подходов будет главным источником неудобств при работе с VR-приложениями.
(Взято из выступления [10] Designing for Daydream, Google I/O 2016)
«Слух — это разновидность зрения, сразу дающее полное представление о сцене»
Алекс Фааборг (Google), Голоса VR, эпизод #423 [12]
Идеальный диапазон расстояний для размещения элементов интерфейса, согласно Майку Элгеру.
Человеку неудобно фокусироваться на объектах ближе полуметра. А всё, что дальше 20 метров, теряет эффект глубины, «трёхмерность». Экраны и оптика современных VR-устройств лучше всего позволяют фокусироваться в диапазоне 2-10 метров.
Схема зон размещения разных видов контента, согласно Майку Элгеру.
Алекс Чу, разработчик из Samsung, провёл исследования и выявил оптимальные диапазоны движения головы:
Размер текста можно вычислить по следующей формуле. Не будем здесь её разбирать, возможно, вскоре появится удобный инструмент для подобных вычисленй.
Трёхмерному окружению нужно небо, это эквивалент фона. Обычно оно выполняется в виде сферы (с панорамной текстурой, проецируемой эквидистантным или каким-либо другим способом) или куба (с натянутой на грани текстурой). Более подробную информацию можно почерпнуть из прекрасных материалов Тессы Чанг:
Создание скайбоксов в VR: Как перенести физику реального мира в методики VR-дизайна [13]
Процесс создания дизайна в VR требует многочисленных экспериментов.
Алекс Чу, конференция Samsung Developer [14]:
Адаптируйте ваш привычный процесс. Делайте больше, планируйте меньше.
- Спорные вопросы решаются на макетах.
- Макеты, «серый ящик» и прототипы.
- Расширенные методы рисования.
- Итеративность предпочтительнее: дизайн, разработка, тест, повторение.
- Делайте черновик простейшей функциональности и оттачивайте её.
- Ваши предположения ошибочны. Чаще тестируйте.
- Используйте другие дисциплины и методики.
- Кинематограф, архитектура, строительство, художественное оформление, игры…
Посмотрите это видео от команды Google VR (23:00–34:00), там рассказывается о подходе к процессу создания дизайна VR-продуктов, используемом в Daydream Labs:
Набор дизайнерских инструментов для VR находится на самом раннем этапе становления. Не существует универсального решения для внедрения ясного процесса создания дизайна, при котором все инструменты работают вместе и дополняют друг друга. Так что приготовьтесь с головой окунуться в технические подробности, впереди много скучного.
90% вашей работы над дизайном, особенно в начале, будет связано с прототипированием. Так что предлагаю вам список найденных мной инструментов, удачных и не очень.
Примечание: список далеко не исчерпывающий. У меня пока нет очков HTC Vive, для которых есть прекрасные инструменты для создания дизайна, например, Tilt Brush [15]. Для Oculus есть Medium и Quill. Движки Unity и Unreal имеют возможность создавать рабочие окружения для «комнатных» (room-scale) VR-платформ, которые также в процессе выпуска.
Отличные инструменты
Я пока не нашёл ничего, что можно отнести к этой категории. Надеюсь, скоро это изменится.
Есть статья [16], посвящённая последним новостям про Unity.
Запуск ожидается в конце года.
Хорошие инструменты
Менее хорошие инструменты
Иногда нужно быстро сгенерировать модель. В любых приложениях есть простейшие геометрические фигуры (кубы, сферы и так далее), но их не всегда достаточно. По моему опыту, самый удобный для портирования формат — .obj. Вот список хороших инструментов для моделирования, с которых можно начать:
Множество готовых моделей есть в сети. Наверняка скоро начнёт появляться всё больше сторов.
Итак, у вас есть идея. Как её протестировать на пользователях? Пока что доступна лишь одна специализированная VR-платформа: Fishbowl VR [29]. Кое-что придётся настраивать вручную, хотя вам в первую очередь захочется получить:
Некоторые компании разработали комплексы так называемой «гибридной реальности» (Mixed Reality), видеозапись с реальным человеком внедряется в виртуальный мир. Но пока что это довольно сложный процесс, об этом хорошо написано здесь [30].
HMD: Head Mounted Display, шлем/очки виртуальной реальности.
Tracked: в tracked-системе известна не только ориентация головы, но и позиция VR-устройства в пространстве. Это позволяет наклонять голову вбок и вперёд/назад, а также приседать и вставать на цыпочки.
Room scale: «комнатная» система, использующая достаточно большое отслеживаемое пространство, в котором пользователь может свободно перемещаться. Иными словами, можно ходить по комнате.
Inside out tracking: «отслеживание наоборот». Используется в HMD.
Дисплей: экран VR-устройства. Сегодня все системы используют LCD-экраны, с плотностью пикселей как минимум 400 ppi.
Линзы: все HMD используют линзы, установленные перед дисплеями, чтобы пользователи могли сфокусировать взгляд на изображении.
Бочкообразная дисторсия [31]: для коррекции создаваемых линзами изображений движок генерирует изображение с бочкообразной дисторсией. В результате изображение выглядит чётче.
IPD, Inter-pupilary distance: межзрачковое расстояние. Используется для оценки расстояния между глазами человека. Это индивидуальный параметр, влияющий на стереоскопический эффект, который и создаёт иллюзию глубины.
FOV, Field of view: поле зрения дисплея в градусах, по вертикали и горизонтали.
PPD: Pixels per degree: пиксели на градус. При печати мы используем DPI (точки на дюйм), экраны оцениваем в PPI (пиксели на дюйм), а в VR используется PPD. Зная этот параметр для каждой платформы, вы сможете делать более качественные и реалистичные дизайны.
Метры: в виртуальных сценах всё измеряется в метрах. Это верно для WebVR (а значит и для A-frame), Unity и Unreal. Никаких футов.
В VR используются параметры: «частота кадров» (Frame Rate) для программного обеспечения, «частота обновления» (Refresh Rate) для дисплея и «частота дискретизации» (Sampling Rate) для отслеживания положения в пространстве, движения и ориентации устройства и контроллеров.
Частота кадров: минимум 60 fps, в идеале 120 fps. Сколько кадров в секунду отрисовывает приложение. Это не константа, параметр сильно зависит от процессора и графического чипа. Но нужно стремиться к тому, чтобы на любом устройстве ваш продукт выдавал не менее 60 кадров. Но на сегодняшний день есть серьёзная проблема с VR на Android-браузерах — Chrome ограничивает частоту 30 кадрами.
Частота обновления: минимум 60 Гц, в идеале 120 Гц. Сколько раз в секунду обновляется изображение на дисплее. Все современные VR-платформы обеспечивают минимальное значение. Этот параметр можно использовать для определения, какие смартфоны не будут поддерживаться вашим приложением.
Частота дискретизации: минимум ~100 Гц, в идеале 1000+ Гц. Сколько раз в секунду считывается положение в пространстве. Низкое значение этого параметра — одна из главных причин ощущения тошноты при использовании VR. Все современные платформы обеспечивают минимальное значение. В iPhone 6s у IMU (inertial measurement unit, инцерциальный измерительный блок) максимальная частота дискретизации равна 100 Гц. У Android-смартфоном широкий разброс. Вдобавок ко всему, в Chrome для Android частота дискретизации понижена, так что при быстрых движениях вас может быстро укачать.
«Время до фотонов» (Time to Photons / Motion to Photons): минимум 50 мс, рекомендуется 20 мс, в идеале 2 мс. Комбинация частоты кадров, обновления и дискретизации даёт нам величину, которую можно назвать общей системной задержкой, или «временем до фотонов»: это промежуток между действием пользователя и отображением его результата на дисплее. Если он больше 50 мс, это может вызвать дезориентацию. Задержка в 2 и менее миллисекунд уже не замечается.
Процесс адаптации, FOV, разрешение, частоты кадров/обновления и методы ввода кардинально различаются от платформы к платформе. Ниже я привёл важную информацию и ссылки на официальные руководства.
Такие системы не имеют кабелей, все вычисления выполняются в смартфоне, который также выступает в роли дисплея.
Одна из наиболее проработанных и доступных платформ. Думаю, она получит широкую популярность. SDK доступен.
Руководства: Обзор от разработчиков [32]
Дата выхода: 10 ноября 2016
Торговая площадка: Android Play Store
ОС: Android (для смартфонов, совместимых с Daydream)
Управление: поворот головы, не отслеживаемый контроллер с тремя степенями свободы, трекпад с двумя кнопками
FOV: ~90°
Daydream — лучшая система без привязки.
Я думаю, что Cardboard VR будет быстро вытеснена другими, куда более практичными дешёвыми решениями. С другой стороны, это пока единственная VR-платформа, ориентированная на iOS, так что её нельзя игнорировать.
Руководства: Cardboard Design Lab (Android-приложение) [9], Designing for Cardboard [34]
Дата выхода: постоянные инкрементальные релизы приложения и самой конструкции
Торговая площадка: iOS App Store, Android Play Store
ОС: iOS/Android
Управление: поворот головы, одна кнопка HMD
FOV: 85–100°
Учитывая уровень интеграции Daydream, трудно представить, что комбинация смартфон + наголовный держатель Gear VR сохранит свою ценность. В то же время, система даёт доступ ко всему контенту Oculus Exclusive.
Руководства: UI [36] + Управление и навигация [37]
Дата выхода: 27 ноября 2015 (новый релиз ожидается в четвёртом квартале 2016)
Торговая площадка: Oculus Store
ОС: Android (limited to Samsung Galaxy series phones)
Управление: поворот головы, крестовина + одна ёмкостная кнопка на HMD (в новой версии — кнопки «назад» и «домой»)
FOV: 96–101°
Это более мощные решения по сравнению с системами без привязки, обеспечивающие отслеживание позиционирования. Но они дороже, требуют определённой подготовки помещения и оснащены внешним кабелем, на который можно наступить.
Это лучший вариант среди систем с привязкой и отслеживанием позиционирования. Прекрасный инструмент для отработки дизайна VR-продуктов, топовая система для профессионалов. Пользовательская база довольно мала, в основном — игровые проекты.
Дата выхода: 5 апреля 2016
Торговая площадка: Steam
ОС: Android
Управление: отслеживаемые контроллеры
FOV: 110°
Vive — лучшая система с привязкой. Раньше я отдавал это звание Rift, но в качестве «комнатного» решения она, судя по всему, работает ещё нестабильно.
Занимает примерно такую же долю рынка, что и Vive, но качеством похуже и чуть дешевле. Если вам нужна система наподобие Rift, то берите Vive. Единственное различие — доступ к контенту, не имеющий отношения к выбору VR-платформы для практических приложений или в качестве инструмента дизайна.
Руководства: UI [36] + Управление и навигация [37]
Дата выхода: 27 ноября 2015
Торговая площадка: Oculus Store
ОС: Windows
Управление: касание (отслеживаемые контроллеры доступны с октября 2016), геймпад (думаю, его поддержка уменьшится после выхода Touch)
FOV: 110°
На текущий момент эта система — как игральный кубик. Это самый слабый продукт среди систем с отслеживанием и привязкой, на значительно более дешёвый и имеет самую большую установочную базу — на сегодня продано более 40 млн PS4. Вероятно, это будет хитовый продукт, но вряд ли он будет интересен помимо игр и развлечений.
Руководства: …
Дата выхода: 13 октября 2016
Торговая площадка: …
ОС: Playstation
Управление: геймпад, отслеживаемые контроллеры. Примечание: Sony недавно сообщила, что каждое приложение должно поддерживать геймпады, что усложняет разработку.
FOV: 100°
От дизайна продукта до виртуальной реальности. Личный опыт и введение в VR [41]
Автор: Mail.Ru Group
Источник [45]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/215659
Ссылки в тексте:
[1] Памятка для начинающих: #1
[2] Основные принципы: #2
[3] Процесс: #3
[4] Инструменты: #4
[5] Словарь: #5
[6] Платформы: #6
[7] Другие ресурсы: #7
[8] Daydream: https://vr.google.com/daydream/
[9] Google Cardboard Design Lab: https://play.google.com/store/apps/details?id=com.google.vr.cardboard.apps.designlab&hl=en
[10] выступления: https://youtu.be/00vzW2-PvvE
[11] закон Фиттса: https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%A4%D0%B8%D1%82%D1%82%D1%81%D0%B0
[12] Голоса VR, эпизод #423: http://voicesofvr.com/423-vr-design-best-practices-with-google-vrs-alex-faaborg/
[13] Создание скайбоксов в VR: Как перенести физику реального мира в методики VR-дизайна: https://medium.com/aol-alpha/making-sense-of-skyboxes-in-vr-design-3e9f8fe254d3
[14] Samsung Developer: https://www.youtube.com/watch?v=XjnHr_6WSqo
[15] Tilt Brush: https://www.tiltbrush.com/
[16] статья: http://uploadvr.com/unity-finally-dates-vr-authoring-tool-next-month/
[17] A-Frame: https://aframe.io/
[18] ThreeJS: http://threejs.org/
[19] Dayframe: https://github.com/ryanbetts/dayframe
[20] Unity: https://unity3d.com/
[21] Sketch-to-VR: https://github.com/auxdesigner/Sketch-to-VR
[22] FramerJS VRComponent: http://blog.framerjs.com/posts/design-virtual-reality.html
[23] MagicaVoxel: https://voxel.codeplex.com/
[24] TinkerCAD: https://www.tinkercad.com/
[25] Blender: https://www.blender.org/
[26] SketchUp: http://www.sketchup.com/products/sketchup-pro?gclid=COnBuIvOyc8CFc1ffgodydcG7g
[27] Sketchfab: https://sketchfab.com/
[28] Thingiverse: http://www.thingiverse.com/customizable
[29] Fishbowl VR: https://www.fishbowlvr.com/
[30] здесь: http://www.kertgartner.com/making-mixed-reality-vr-trailers-and-videos/
[31] Бочкообразная дисторсия: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D1%81%D1%82%D0%BE%D1%80%D1%81%D0%B8%D1%8F#.D0.94.D0.B8.D1.81.D1.82.D0.BE.D1.80.D1.81.D0.B8.D1.8F_.D0.BE.D0.BF.D1.82.D0.B8.D1.87.D0.B5.D1.81.D0.BA.D0.B8.D1.85_.D1.81.D0.B8.D1.81.D1.82.D0.B5.D0.BC_.D1.81_.D0.BE.D1.81.D0.B5.D0.B2.D0.BE.D0.B9_.D1.81.D0.B8.D0.BC.D0.BC.D0.B5.D1.82.D1.80.D0.B8.D0.B5.D0.
[32] Обзор от разработчиков: https://developers.google.com/vr/daydream/overview
[33] Cardboard: https://vr.google.com/cardboard/
[34] Designing for Cardboard: https://www.google.com/design/spec-vr/designing-for-google-cardboard
[35] Gear VR: http://www.samsung.com/global/galaxy/wearables/gear-vr/
[36] UI: https://developer.oculus.com/documentation/intro-vr/latest/concepts/bp_app_ui/
[37] Управление и навигация: https://developer.oculus.com/documentation/intro-vr/latest/concepts/bp_app_ui_nav/
[38] HTC Vive: https://www.htcvive.com/ca/
[39] Oculus Rift: https://www.oculus.com/
[40] Playstation VR: https://www.playstation.com/en-ca/explore/playstation-vr/
[41] От дизайна продукта до виртуальной реальности. Личный опыт и введение в VR: https://medium.com/google-design/from-product-design-to-virtual-reality-be46fa793e9b
[42] UX в VR: http://www.uxofvr.com/
[43] Методики дизайна в виртуальной реальности: https://uxdesign.cc/design-practices-in-virtual-reality-f900f5935826#.7fkb0dupu
[44] Голоса VR: http://voicesofvr.com/
[45] Источник: https://habrahabr.ru/post/316566/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best
Нажмите здесь для печати.