JS, C# SDE в Akvelon
0,0
рейтинг
4 августа 2015 в 13:29

Разработка → Мой первый опыт с HoloLens из песочницы

Признаться, я не был удивлен почти полному отсутствию статей по данной тематике. Так уж сложилось — людей, которые имели возможность поработать с HoloLens, едва ли наберется десяток на всю страну. Тем не менее, в рамках Imagine Cup в Редмонде, принять участие в котором мне довелось, был проведен один из первых тест-драйвов средств разработки данной платформы.

image

HoloLens overview


HoloLens – всерьез засекреченный проект Microsoft, который был начат аж в 2012 году. С тех пор компании удалось разработать прототип, который был представлен прессе в январе этого года. С достаточно сносным обзором можно ознакомиться, к примеру, здесь.

Я опишу это конструктивно, с точки зрения девелопера. Итак, девайс HoloLens – это достаточно крупные, удобно фиксирующиеся на голове затемненные очки. Хотя, учитывая способ крепежа, кому-то может быть естественней охарактеризовать его как шлем. Никаких особых датчиков на первых порах заметить мне не удалось: ни явно выраженных камер, микрофонов и даже наушников. Он достаточно удобен и легко настраивается с учетом индивидуального PD (расстояние между зрачками).

Мой стек технологий при работе с данным устройством включал, помимо самой платформы HoloLens, также Unity 3D и Windows Store application. Что-то мне подсказывает, что использование Unity в привязке к универсальным приложениям на связанных платформах (от Windows Phone до XBox) будет наиболее популярным и производительным комплексом и в дальнейшем.

Функционал


Поработать с HoloLens удалось продуктивно – охватили существенное число доступного функционала. Виртуальные дополнения действительности выглядят впечатляюще, они отлично представлены в официальном ролике.



Это и правда впечатляет. Не думаю, что следует что-то здесь дополнять. Лучше я расскажу про то, чего в этом ролике нет.
Привыкнув к основным жестам, которыми на видео выполнялись действия по добавлению, выделению и перемещению предметов, были опробованы первые голосовые команды. Они работают достаточно точно и основаны (кто бы удивился) на движке Cortana. Для HoloLens работа голосом разрабатываются той же командой. Напомню, Cortana резко увеличивает количество поддерживаемых локализаций и уже к концу года покроет все наиболее популярные языки. Увы, кроме русского. Что ж, будем ждать.

Угол зрения


Далее участники тест-драйва погрузились в первый намек на магию данного девайса. С помощью платформы HoloLens программа может знать, куда смотрит пользователь. Пример этого вы можете увидеть на презентации HoloLens на конференции Build здесь:



Это очень интересно и позволяет быстро, удобно и, главное, интуитивно понятно выполнять необходимые действия по вызову команд, относящихся к каким-либо конкретным областям обзора. Это крайне важно для четкой виртуализации происходящего. Рассмотрим пример на абстрактной игре, в которой рыцарь встречается с драконом. Вы можете непосредственно задать алгоритм действий, как продемонстрировать голограмму чудища перед носом у героя (изобразить целого дракона на заданном расстоянии или лишь его злобный оскал). Если же коварный противник находится позади спасителя – можно добавить рычание, приправленное огненным пламенем под нужным углом «из-за спины», рассчитав при этом все необходимые параметры (громкость, расстояние — что душе угодно).

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

image

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

И иже с ними


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

Из прочих интересностей не могу не заметить совершенно поразившая меня работа со звуком на данном устройстве. Надев очки, ты идеально четко слышишь все происходящее в рамках устройства, при этом не выпадая и из звуков реальной жизни. Твои уши по-прежнему свободны от каких-либо устройств. Нет вероятности, что наушник-проказник все же выпадет при неудачном или резком движении. Магия же при этом заключается в практически полной неслышности происходящего для внешнего мира. Ты никому не мешаешь, тебя никто не подслушивает. Не очень понял, как это им удалось, но звук этих очков можно назвать практически индивидуальным. Чудо! Звук достоин высочайших оценок! Вот, что заставит меня бегать по утрам.

Как итог, HoloLens выглядит вполне жизнеспособным, учитывая серьезные успехи в визуализации, звуке и интегрированности с почти любыми устройствами средствами Windows 10. Есть детали, которые необходимо допилить – это касается как параметров самого устройства, так и средств разработчика. Тем не менее, я с большим интересом буду наблюдать за развитием этого устройства. Учитывая, что в финале Imagine Cup одним из судей был создатель HoloLens Alex Kipman, можно заметить прослеживающиеся тренды этого года.

Футуризм


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

В ближайшем будущем это не предусмотрено. Вы можете смотреть на копии одного и того же мира, но не делить его с кем-либо. Это чисто индивидуальное устройство, которое позволяет человеку настроить действительность под себя. Признаться, лично у меня это вызвало (возможно, излишне консервативное) беспокойство. В голове всплыли десятки примеров фантастического жанра, в которых будущее представлялось сильно индивидуализированным. Возможно, на уровне конкретных приложений это будет решаться по примеру сетевых игр – покажет время. Но однозначно, что ближайшее будущее нас ждет весьма занятное. Да не переведётся гик на Руси.

Спасибо!
Михаил @PerseptronYar
карма
14,0
рейтинг 0,0
JS, C# SDE в Akvelon
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (42)

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

    Очень жаль. Будем надеяться, что в следующей версии для разработчиков будет реализован функционал определения направления взгляда.
    • 0
      Да. Я, признаться, разочаровался столь простым решением для такой масштабной штуковины
    • +1
      Направление взгляда не совсем всегда можно точно определить по зрачкам, так как есть определенные особенности каждого человека (взять то же монокулярное и бинокулярное зрение, косоглазие с переменным ведущим глазом, и т.д.).

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

      Поэтому такой функционал будет иметь огромнейшую неточность, да и, в некоторых случаях, невозможность использования.
      • +1
        Большинство проблем исправляются калибровкой. Сложности будут с переменным ведущим глазом, но и в этом случае можно предложить адекватную модель (можно с некоторой вероятностью определять ведущий глаз).

        Помнится, даже было В одном из описаний читал, что запланированная точность измерения направления зрачка 0.9%. Если не путаю, MS хотел инвестировать в одного разработчика VR-шлема у которого был патент на шлем со встроенным айтрекером. Лично для меня использование VR шлема с айтрекером кажется идеей очевидной и необходимой. Думаю, что проблема юридическая, а не инженерная. И заявленные 5 лет до выпуска пользовательской версии вполне могут быть вызваны сроком действия патента. Да и GPU за это врем дорастут до желательной производительности и экономичности.

        И помним, что MS часто входит на устоявшийся рынок и реже создает новые рынки.
  • +2
    Не очень понял, как это им удалось, но звук этих очков можно назвать практически индивидуальным.
    На костной проводимости основано же.
  • +5
    А где сам код то? :)
    • +3
      Открывая статью тоже расчитывал увидеть технические детали (хабр ведь, а гк). Но нет — Ода-водА.
      • 0
        Код, к сожалению, попадает под NDA. Так что потерпите до рассекречивания.
        Всем чем мог я поделился
        • +6
          Зачем тогда статью называть «Первый код под Holo Lens»?
          «Мой первый опыт с HL» куда корректнее было бы. ИМХО
          • 0
            Почему бы и нет
            • 0
              Чтобы люди не тратили свое время на пустой маркетологический треп ненужную им информацию.
              • 0
                Так все же уже исправлено, гнев явно запоздал, Ваше время потрачено впустую только по Вашей вине
                • 0
                  я на комментарий ответил… правда там знака вопроса не было…
                  Так все же уже исправлено, гнев явно запоздал

                  я не гневался
        • 0
          Вы подписывали NDA? Я когда играл с hololens на build conference, не подписывал ничего. Я ещё специально уточнил этот момент у представителя PR отдела, что я могу шарить, а что нет. Он сказал, что всё, что было в комнате.
          Правда, можно было переписать код в блокнотик… :)
          • 0
            Нас впустили без сумок, без мобильных, так что код можно было елси только запомнить
  • +1
    с kinect2 в паре использовать можно видимо
    • 0
      Если смотреть на разбор очков на сайте, то в нем и так встроено 2 кинекта.
  • 0
    С миру по нитке — две строчки информации
  • +3
    С HoloLens меня интересует один вопрос: странные жесты — это основной планируемый интерфейс, или есть смысл надеяться на притрагивание к предметам руками и управление естественными движениями взял-перетащил-отпустил? Просто после просмотров видео управление выглядит жутко неудобным, нелогичным и уж точно не футуристичным.
    • +1
      Про управление — не самые удобные жесты и голос. Я так и не смог к некоторым привыкнуть. Согласен
      • 0
        В течение года обещали девайсы для разрабов и бизнеса, думаю там уже по фидбеку сделают удобнее.
  • 0
    Насколько чётко выглядит текст? Я пробовал Epson Moverio BT-200 — нечёткость текста вызывает рези в глазах.
    • 0
      Текста толком и не было. Думаю, он не случайно был исключен из демонстрации
    • 0
      Дополнительный вопрос — на каких современных AR или VR очках (из тех, что можно свободно и легко купить в магазине) хорошо отображается текст? У меня плохое зрение, и работа по 10 часов за офисными мониторами и ноутбуком — дело весьма неприятное. Дома у меня 40-дюймовый телевизор вместо монитора, на нём всё намного лучше. Если бы перед носом висел 80-дюймовый виртуальный экран, было бы совсем хорошо.
      • 0
        Заявлено, что HoloLens надеваются поверх обычных очков (это демонстрировали на билде)
  • +6
    Если я вижу и слышу слава типа amazing, incredible, превосходно, потрясающе,… у меня сразу возникает желание задаться простейшим вопросом, а о чем не таком крутом 'забыли' упомянуть в статье. А упомянуть забыли!

    Угол обзора виртуальной реальности! Это ужасно, кошмарно, противно и отстойно.
    Самое паршивое — это, когда виртуальная реальность всего навсего маленький экранчик перед глазами. tjournal.ru/p/hololens-fov-problems
    Второе — это не высокое разрешение экрана (на самом деле для кучи задач этого девайса не критично, но наслаждаться фильмом не получится)
    И на засыпку — изображение полупрозрачное! исходя из основы технологии.
    А так же отсутствие подстройки изображения под расстояние фокусировки взгляда на нем, т.е. близкие объекты глаз будет фокусироваться как на дальние, полагаю у многих из-за этого будет болеть голова, после долгой РАБОТЫ с этими очками

    p.s. в сторону плюсов — устройство полностью автономно!
    Если майкрософт не будет 'заставлять' (а методов завались) пользователей быть подключенными к интернету и шарить все свои данные с серверами монополиста (естественно сливающих данные нашему и не только правительству), то я буду ждать второй версии устройства, в которой решат основные проблемы.
    • 0
      С чего-то надо начинать. Относительно ничего появление реальных очков в продаже от мейнстримового производителя, за которыми можно пойти в любой магазмн, купить, а потом воспользоваться любым из знакомых или новых приложений — это огромный прорыв, и потрясающе само по себе. Конечно, нам, зажравшимся голливудовскими сказками, этого мало, но это потеницально первый продукт подобного класса, который будет доступен и удобен для массового потребителя практически завтра.

      Да, через десять лет мы будем смеяться над ущербностью этих очков, как сейчас мы смеёмся над монитором с разрешением 320 на 240 и 256 цветами или видео-кассетами. Но давайте не будем забывать, что эти жалкие 320x240 и VHS подарили нам магию.
    • 0
      Как очкарик скажу — вообще пофиг на то, что вы называете углом обзора (на самом деле это поле зрения). Ну правда. На Вердже, кажется, хорошо написали, что это просто вызывает инстинктивную реакцию подойти ближе, чтоб голограмма поместилась целиком.
  • 0
    >Ты никому не мешаешь, тебя никто не подслушивает…

    Неужто работает автономно, без облака и телеметрии со сбором «маркетинговых» данных?
    • 0
      Полагаю, что без облака вновь не обойдется
    • 0
      телеметрия, конечно есть. Полагаю, на пользовательских девайсах будет отключаться, как всегда. (Да, да в 7ке тоже есть телеметрия)
  • 0
    Добрый день!
    А можно прямым текстом — вы само устройство держали в руках и одевали? Или только со «средствами разработки» играли?
    Спрашиваю, потому что опять создаётся впечатление как от других статей по теме HoloLens — пишут так, как будто вот всё есть и вживую держали. А если вчитаться — конкретных фраз и предложений нет. Только «впечатление на читателя».
    • 0
      И если держали/надевали — какое качество изображения, разрешение и т.п.? В сравнении с Moveria BT-200, например.
      • 0
        Добрый!
        Раз я писал про хороший звук — то, следовательно, они все же надевались. Тестировать запрограммированное, не надевая, также не получится.

        Я избегал описания некоторых характеристик, восприятие которых субъективно. С проблемой разрешения можно ознакомиться по ссылке из комментария выше. Это существенно мешает.
        Сравнивая качество изображения с обзорами — в видео оно, конечно, идеализировано. Но близко к правде. Голограммы выглядят полупрозрачными, могут случаться незначительные «помехи» в изображении — сейчас это есть
        По-моему, наличие многих проблем, описанных в комментах выше, очевидно. Будь все идеально — проект бы куда активней продвигался в массы.
        Спасибо за вопрос, надеюсь, мое уточнение помогло
  • +1
    Не совсем понял про
    Но огорошил меня лишь ответ на вопрос синхронизации одного мира на несколько устройств. Он был предельно короток, но не совсем ясен – нет.

    На демке про врача-преподавателя он говорит, что видит в своих очках то же, что и студенты. Может Следить за фокусом взгляда и даже видеть другие вопросы от студентов извне (над костью появлялся текстовое окно). То-есть поддержка есть. Да и демка с мотоциклом, где девушка говорит «у меня есть идея с бензобаком», подразумевает второго смотрящего на эту модель…
    • 0
      Дело в том, что дефакто это копии одного и того же мира. И да, можно передать координаты, что наблюдает другой человек. Но эти голограммы запускаются в достаточно разных областях реального пространства…
      И если, положим, они наблюдают голограмму из разных зданий — конфузов будет минимум. Если же они сидят в одной аудитории — скелет появляется в самых неожиданных местах. Преподаватель смотрит на кафедру, студент, задающий вопрос, тычет в стену у двери и тп.
      Ты сможешь говорить и выделять командами (жесты, взгляд) нужные области, но все вербальные команды будут в реальном мире десинхронизированы с окружающими. К этому привыкнуть будет посложнее жестов ИМХО.
      Разработчикам придется тратить весомые усилия, чтобы «привязать» его к конкретному месту реального мира, одинаковому для всех в комнате.
      Что-то мне подсказывает, что задача подобной кастомизации (привязки) под каждое отдельное помещение также может вызвать немало сложностей.
      • +1
        ну так на то вы и программисты, чтобы вручную написать код синхронизации разных миров, разве нет? например, когда пишется онлайн-игра, никто же не ругается на создателей C++ или чего там, что они не написали за них игровой сервер, и не сделали в нем синхронизацию игроков. Пишешь игру — изволь написать игровой сервер и синхронизацию на нем сам. Или выставленное наружу апи не даёт достаточного уровня рефлекшена?
      • 0
        > Вы можете смотреть на копии одного и того же мира, но не делить его с кем-либо.

        Странно, а та часть ролика, где мужик рассматривает найденный марсоходом камень, а второй ставит на этом камне маркер, как бы намекают на обратное…

        > Если же они сидят в одной аудитории — скелет появляется в самых неожиданных местах.

        Почему??? Если известно местоположение (и ориентация) очков препода и студента, то сделать так, чтобы оба видели скелет в одном и том же реального пространства — задача тривиальная.
  • +1
    Пришла такая мысль.

    Что, если сделать экран, как обычный монитор, только прозрачный. При этом изображение на нём реагирует на положение головы зрителя. То есть будто бы «окно», в которое можно смотреть из этого мира в тот мир. Такой экран можно оформить планшетом и водить им вокруг себя по комнате. Так решается проблема с фокусировкой глаз на слишком близком расстоянии и недостаточным разрешением.

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

    Логично, что на первых порах одна рамка = один зритель. То есть она не может показывать сразу несколько изображений для нескольких зрителей. Хотя в будущем и это возможно за счёт управления углами обзора.
    • 0
      Собственно, hololens это и есть этот полупрозрачный монитор, только он к голове привязан, и у вас руки свободны.
    • 0
      Вы описали технологии 2011 года.
  • 0
    Что и требовалось доказать. Революции вновь не случилось и пахать нужно еще невероятно много до момента, когда это превратится в хороший продукт. И далеко не факт, что MS сможет его довести, в итоге.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.