Поделиться через


Создание Обозреватель Галактики для HoloLens 2

Логотип New Galaxy Обозреватель

Добро пожаловать в обновленное приложение Galaxy Обозреватель для HoloLens 2! Galaxy Обозреватель изначально была разработана как приложение с открытым кодом для HoloLens (первого поколения) в рамках программы Share Your Idea и является одним из первых опытов смешанной реальности, которые многие люди имели. Теперь мы обновляем его для новых и интересных возможностей HoloLens 2.

Как одна из microsoft Смешанная реальность Studios, мы обычно разрабатываем решения коммерческого уровня и разрабатываем & тестирования на целевых платформах на протяжении всего процесса творчества и разработки. Мы приступаем к этому проекту, используя платформы и инструменты (такие как MRTK), как они становятся доступными для нас и сообщества - и мы хотим, чтобы вы были вместе для поездки.

Как и в оригинальной Обозреватель Galaxy, наша команда будет открыта для получения проекта на GitHub, чтобы гарантировать, что сообщество имеет полный доступ. Мы также задокументируем наш путь в полной прозрачности о том, как мы переносили из MRTK версии 1 в MRTK v2, усовершенствовали интерфейс с помощью новых функций, доступных в HoloLens 2, и убедились, что Galaxy Обозреватель останется многоплатформенным интерфейсом. Независимо от того, просматриваете ли вы Galaxy Обозреватель на HoloLens (первого поколения), HoloLens 2, Windows Mixed Reality гарнитуре или на Windows 10 рабочем столе, мы хотим убедиться, что вы наслаждаетесь путешествием так же, как и мы!

Эта страница будет расширяться по мере выполнения проекта со ссылками на более подробные статьи, код, артефакты дизайна и дополнительную документацию MRTK, чтобы предоставить вам внутренний взгляд на проект.

Скачивание приложения из Microsoft Store в HoloLens 2

Если у вас есть HoloLens 2 устройство, вы можете напрямую скачать и установить приложение на своем устройстве.

Значок на английском языке

Обдумывание взаимодействий

Как творческая студия, мы были в восторге от привилегии перенести Galaxy Обозреватель HoloLens 2. Мы с самого начала знали, что мы хотели, чтобы опыт был празднованием нового устройства и чтобы продемонстрировать, что Смешанная реальность расширение прав и возможностей ограничивается только воображением.

HoloLens 2 позволяет пользователям прикасаться к голограммам, схватывать и перемещать их так, чтобы они чувствовали себя естественным образом— они реагируют так же, как реальные объекты. Полностью сформулированные модели рук удивительны, так как они позволяют пользователям делать то, что кажется естественным. Например, каждый берет чашку немного по-разному , и вместо того, чтобы применять один конкретный способ сделать это, HoloLens 2 позволяет сделать это по-своему.

Это существенное изменение интерфейсов на основе Air Tap на устройствах HoloLens первого поколения. Вместо того, чтобы взаимодействовать с голограммами на расстоянии, пользователи теперь могут получить "близко и личное". При переносе существующих возможностей в HoloLens 2 или планировании новых важно ознакомиться с непосредственным манипулированием голограммами.

Прямое манипулирование в сравнении с огромными расстояниями в пространстве

Это волшебный опыт, чтобы протянуть руку, захватить планету и держать ее в руке. Проблема с таким подходом заключается в размерах Солнечной системы - это огромный! Пользователю потребуется обойти свою комнату, чтобы приблизиться к каждой планете, чтобы взаимодействовать с ней.

Чтобы пользователи могли взаимодействовать с объектами, которые находятся дальше, MRTK предлагает лучи руки, которые стреляют из центра ладони пользователя, выступая в качестве расширения руки. Курсор в форме пончика прикрепляется к концу луча, чтобы указать, где луч пересекается с целевым объектом. После этого объект, на котором размещается курсор, может получать жестовые команды от руки.

В исходной версии Galaxy Обозреватель пользователь нацелился на планету с помощью курсора взгляда, а затем касался воздуха, чтобы вызвать ее ближе. Самый простой способ перенести опыт в HoloLens 2 — принять это поведение и использовать лучи рук для выбора планет. Хотя это было функционально, это оставило нас желать большего.

Вернуться к чертежной доске

Мы собрались вместе, чтобы понять, что можно построить на основе существующих взаимодействий. Идея была: хотя HoloLens 2 позволяет пользователям взаимодействовать с голограммами естественными, реалистичными способами, голограммы по определению не являются реальными. Таким образом, пока взаимодействие является правдоподобным для пользователя, не имеет значения, возможно ли это взаимодействие с реальным объектом — мы можем сделать это возможным.

Одна из концепций, которую мы изучили, была основана на телекинезе — способности манипулировать объектами с помощью разума. Часто видели в фильмах супер героя, человек протянет руку своим умом и вызывает объект в открытую руку. Мы поигрались с идеей еще и придумали быстрый набросок того, как концепция может работать.

Концепция взаимодействия с захватом силы

Пользователь нацелит луч руки на планету, что обеспечит целевую обратную связь. По мере того как пользователь протягивает свою открытую руку, планета будет потянута к пользователю магической силой, пока она не окажется достаточно близко, чтобы схватить ее. Отсюда наше название для взаимодействия: force grab. Когда пользователь оттолкнет планету открытой рукой, она снова вернется на свою орбиту.

Создание прототипов при принудительном захвате

Затем мы создали несколько прототипов для тестирования концепции: Как взаимодействие чувствует себя в целом? Должен ли вызываемый объект останавливаться перед пользователем или прилипать к его рукам до тех пор, пока не будет помещен? Должен ли вызываемый объект изменять размер или масштаб при вызове?

Реализация принудительного захвата в приложении

Когда мы пытались захватить силу на планетах, мы поняли, что нам нужно изменить масштаб Солнечной системы. Оказалось, что точное, среднего размера представление Солнечной системы сложно для понимания и навигации пользователей - они не знали, где искать. Однако небольшое представление сделало некоторые планеты слишком маленькими, чтобы их было легко выбрать. В результате размер планет и интервал между солнечными объектами был разработан, чтобы чувствовать себя комфортно в помещении среднего размера при сохранении относительной точности.

На более поздних этапах нашего спринта разработки, нам посчастливилось иметь коллег MSFT Смешанная реальность экспертов внутри компании, поэтому мы получили работу, получая их вклад в качестве экспертов-тестировщиков и делать быстрые итераций по взаимодействию захвата силы.

Дженни Кам тестирует предварительную сборку Galaxy Обозреватель

На фото: Дженни Кам, старший дизайнер, тестирование незавершенной работы Galaxy Обозреватель.

Добавление возможностей для нацеливания

Поэкспериментировали на HoloLens 2, мы обнаружили, что, хотя новые взаимодействия естественны и интуитивно понятны, голограммы остаются неизменными: без веса или тактильных ощущений. Так как голограммы не обеспечивают естественную обратную связь, которую люди привыкли получать при взаимодействии с объектами, нам нужно было создать их.

Мы думали о визуальной и звуковой обратной связи, которую пользователи будут предоставлять для различных этапов их взаимодействия, и так как механизм захвата силы является центральным для взаимодействия с Galaxy Обозреватель, мы сделали много итераций. Цель состояла в том, чтобы найти правильный баланс аудио- и визуальной обратной связи для каждого этапа взаимодействия: сосредоточиться на предполагаемом объекте, вызвать его пользователю, а затем освободить его. Мы узнали, что для усиления взаимодействия требуется больше аудио- и визуальной обратной связи, чем для HoloLens (первого поколения).

Визуальные возможности на планетах

Добавление возможностей для захвата силы

  После того как у нас был базовый механизм захвата силы с аудио и визуальными силами, мы рассмотрели, как сделать выбор планет более удобным для пользователя. Существовали два main вещей, которые необходимо решить: Поскольку Солнечная система представляет собой трехмерный движущийся интерфейс, пользователи могут узнать, как согласованно нацеливать на объекты. Это усугубляется тем фактом, что луч руки быстро выбирает объект, что делает планеты двигаться к пользователю невероятно быстро.

Мы подошли к этому с трехсторонным решением. Первый был довольно интуитивно понятным: замедлить процесс выбора, чтобы планеты приблизились к пользователю в более естественном темпе. После того как скорость была скорректирована, мы должны были пересмотреть аудио и визуальные возможности, добавив аудио обратной связи, как планета отслеживается по отношению к пользователю.

Вторая часть решения заключалась в том, чтобы сделать визуализацию всего взаимодействия захвата силы ощутимым. Мы визуализировали толстую линию, которая перемещается к целевому объекту, как только луч руки соединяется с ним, а затем возвращает объект пользователю , как лассо.

Визуальные возможности

Наконец, мы оптимизировали масштаб Солнечной системы, чтобы планеты были достаточно большими, чтобы взгляд пользователя и луч руки нацелились на них.

Эти три улучшения позволили пользователям делать точный выбор, вызывая планеты к ним интуитивно. В целом, эффект окончательного захвата силы является более иммерсивным и интерактивным опытом в Солнечной системе.

Интересное на юпитере

Создание солнечных тел Млечного Пути было унизительным опытом. В частности, уникальные характеристики юпитера делают его зрелищем, чтобы созерцать. Это самый большой и красочный из газовых гигантов, и содержит больше массы, чем все остальные планеты вместе взятые. Его размер и завораживает полосы турбулентности и облачной динамики префект для особого художественного внимания.

Геометрия и сетки

Как газовый гигант, внешние оболочки Юпитера состоят из газообразных слоев. Сочетание быстрой скорости вращения, внутреннего теплообмена и сил Кориолиса создает красочные слои и потоки, которые образуют закрученные пояса облака и вихри. Захват этой сложной красоты был ключевым в создании нашей Солнечной системы.

Сразу стало ясно, что использование таких методов визуализации, как моделирование жидкости и анимированные текстуры с предварительно вычисляемыми потоками, не могут быть и речи. Вычислительная мощность, необходимая для имитации этого в сочетании со всеми остальными событиями, происходящими одновременно, оказала бы значительное негативное влияние на производительность.

Общие сведения об объекте Jupiter

Следующим подходом было решение "дыма и зеркало", состоящее из наложения прозрачных слоев текстуры, каждый из которых касался определенного аспекта атмосферного движения, составленного на основе композиции вращающихся сеток.

На рисунке ниже вы увидите внутреннюю оболочку слева. Этот слой мата предоставлял фон для композиции, чтобы защититься от небольших зазоров между несколькими слоями, составляющими облака. Из-за медленного поворота слоя он также служил визуальным буфером между более быстрыми движущимися полосами для создания визуального единства во всех слоях.

После установки этой привязки к модели движущиеся облачные слои проецируются на средние и правые сетки, как показано ниже.

Общие сведения об объекте Jupiter с разделенными оболочками

Текстурирование

Существующая текстура была разделена на трехкомпонентный атлас текстур: в верхней трети размещен неподвижный слой облаков с зазорами для обеспечения эффекта параллакса, в средней части содержатся быстро движущиеся внешние потоки, а в нижней трети — медленно вращающийся внутренний базовый слой.

Характерное большое красное пятно также было разделено на различные движущиеся части, а затем вставлено в невидимую область текстуры. Эти компоненты можно рассматривать как красные пятнышки в средней части рисунка ниже.

Так как каждая полоса имеет определенное направление и скорость, текстура была применена к каждой сетке по отдельности. Затем сетки имели общий центр и точку поворота, что позволило концентрически анимировать всю поверхность.

Обзор текстур Юпитера

Поворот и поведение текстуры

После настройки визуального состава юпитера нам нужно было обеспечить правильное вычисление и применение скорости вращения и орбиты. Для полного вращения юпитера требуется примерно 9 часов. Это вопрос определения из-за его разностного поворота. Поэтому экваториальный поток был установлен как "master поток", принимая 3600 кадров для полного вращения. Каждый другой слой должен иметь скорость вращения как коэффициент 3600, чтобы соответствовать его первоначальному положению, что позволяет, например, 600, 900, 1200, 1800 и т. д.

Текстуры оболочки юпитера

Большое красное пятно

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

Наиболее привлекательной частью было Большое красное пятно Юпитера, поэтому мы создали набор сеток и текстур специально, чтобы продемонстрировать его.   Мы использовали аналогичный механизм, как и в диапазонах Юпитера: набор вращающихся частей был составлен друг на друга, а также сгруппированы под его "master слоем", чтобы обеспечить, чтобы они оставались в положении независимо от того, как быстро движется остальные.

Когда сетки были созданы и на месте, различные слои бурного вихря были применены, и каждый диск был затем анимирован по отдельности, центральные части движутся быстрее, с остальными постепенно замедляется, как он движется наружу.

Сетка большого красного пятна юпитера

Композиция также имела такой же поворот, как и любая другая сетка, при этом сохраняя ее наклон от исходной оси Y (!), чтобы обеспечить свободу в анимации поворота. 3600 кадров является базовой скоростью, причем каждый слой имеет коэффициент этого в качестве периода поворота.

Текстура Большого красного пятна Юпитера

Правильное получение в Unity

При реализации этого в Unity следует учитывать несколько ключевых моментов.

Unity легко спутать при работе с большими наборами прозрачных слоев. Решением было дублирование материала текстуры для каждой сетки и постепенное применение значений очереди отрисовки по возрастанию от внутреннего к внешнему на 5 к каждому материалу.

Результатом стало то, что внутренняя оболочка имела значение очереди отрисовки 3000 (по умолчанию), статическое красное внешнее значение позже имело значение 3005, а быстрые белые внешние облака — 3010. Большое красное пятно (переход от внутреннего слоя к внешнему), завершенное со значением 3025 в этой модели.

Конечный объект Jupiter

Заключительные штрихи

Сначала были созданы текстурированные слои юпитера, что оказалось недостаточным для реализации.

Оригинальный шейдер Planet Standard и все его вариации получают информацию о освещении с помощью сценария SunLightReceiver, который не поддерживается стандартным шейдером MRTK.

Простое переключение шейдеров не было решением, так как шейдер Planet Standard не поддерживает карты текстур с прозрачностью. Мы отредактировали этот шейдер, чтобы сборка Jupiter работала должным образом.

Наконец, альфа-смешения необходимо было настроить, задав для исходной смеси значение 10, а для целевой смеси значение 5.

Свойства Jupiter Unity

Вы можете увидеть окончательный отрисовки юпитера в Галактике Обозреватель!

Знакомство с командой

Наша команда студии Смешанная реальность состоит из дизайнеров, трехмерных художников, специалистов по пользовательскому интерфейсу, разработчиков, руководителя программы и руководителя студии. Мы родом со всего мира: Бельгия, Канада, Германия, Израиль, Япония, Соединенное Королевство и США. Мы мультидисциплинарная команда, которая исходит из различных фонов: игры - как традиционные, так и инди, цифровой маркетинг, здравоохранение и наука.

Мы рады создать Galaxy Обозреватель для HoloLens 2, а также обновить holoLens (первого поколения), VR и настольные версии.

Команда Обозреватель Galaxy

Сверху слева направо: Артемис Tsouflidou (разработчик), Энджи Тейкнер (Visual Designer), Дэвид Дженер (UX Designer), Лора Гарретт (руководитель по доставке & производства), Ясуши Зонно (Креативный руководитель), Элайн Ледент (разработчик) и Бен Тернер (старший разработчик). Снизу слева направо: Амит Ройтблат (технический художник), Мартин Веттиг (3D-художник) и Дирк Сонгер (Studio Head). Не представлены: Тим Геркен (Технический руководитель) и Оскар Salandin (Visual Designer).

Дополнительные сведения

Смешанная реальность Studios

Команды Microsoft Смешанная реальность Studio, расположенные в Северной и Южной Америке, Европе и Asia-Pacific, являются экспертами в области проектирования пользовательского интерфейса, голографических вычислений, технологий AR/VR и трехмерной разработки, включая создание трехмерных активов, DirectX, Unity и Unreal. Мы помогаем определить желаемое будущее, проектировать, создавать и предоставлять решения, а также предоставлять клиентам возможность оказывать измеримое влияние на всю организацию. Студии тесно сотрудничают с более чем 22 000 специалистами по службам Майкрософт по интеграции, внедрению, эксплуатации и поддержке корпоративных приложений.