<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>HoloLens</title>
    <description>Статьи о разработке приложений, преимущественно игр, для очков виртуальной реальности Microsoft Hololens.</description>
    <link>https://tproger.ru/tag/hololens</link>
    <atom:link href="https://tproger.ru/tag/hololens/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 24 Oct 2026 05:34:50 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>HoloLens</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Microsoft выпустила первую бета-версию браузера Edge для Linux</title>
      <link>https://tproger.ru/news/microsoft-vypustila-pervuju-beta-versiju-brauzera-edge-dlja-linux</link>
      <comments>https://tproger.ru/news/microsoft-vypustila-pervuju-beta-versiju-brauzera-edge-dlja-linux?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/microsoft-vypustila-pervuju-beta-versiju-brauzera-edge-dlja-linux</guid>
      <description><![CDATA[<p>Сборки в форматах deb и rpm поддерживают Ubuntu, Debian, Fedora и openSUSE, а обновлять бету обещают примерно раз в 1,5 месяца.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/microsoft-vypustila-pervuju-beta-versiju-brauzera-edge-dlja-linux">Microsoft выпустила первую бета-версию браузера Edge для Linux</a>»</p>]]></description>
      <category><![CDATA[Тестирование]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Бета]]></category>
      <category><![CDATA[Microsoft Edge]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 05 May 2021 12:36:37 GMT</pubDate>
      <content:encoded><![CDATA[<p>Microsoft сделала то, чего от неё ждали многие веб-разработчики. Компания довела до стадии бета-тестирования Linux-версию браузера Edge.</p><p>На выбор доступны rpm- и deb-пакеты приложения. Поддерживаются дистрибутивы Ubuntu, Debian, Fedora и openSUSE. Бета-версия Microsoft Edge планируется обновлять примерно каждые 1,5 месяца. Как скоро будет готова стабильная финальная версия браузера — компания не сообщила.</p><figure><img src="https://media.tproger.ru/uploads/2021/05/1-3.png" alt="" /></figure><p>Отметим, что альфа-тестирование Linux-версии приложения началось ещё в октябре 2020 года. Тестовые версии проекта также есть на iOS, macOS, а также шлемах смешанной реальности HoloLens 2 и т.д.</p><h3>Где скачать бета-версию Microsoft Edge для Lunux?</h3><p>Делается это на ресурсе Microsoft Edge Insider. Для скачивания deb-пакета перейдите по <a href="https://www.microsoftedgeinsider.com/en-us/download?platform=linux-deb">ссылке</a>. Для загрузки rpm-версии, нужно <a href="https://www.microsoftedgeinsider.com/en-us/download?platform=linux-rpm">кликнуть сюда</a>.</p><p>Источник: <a href="https://www.microsoftedgeinsider.com/en-us/download?platform=linux-deb">Microsoft Edge Insider</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Видео: Microsoft анонсировала голографическую платформу для общения онлайн</title>
      <link>https://tproger.ru/news/video-microsoft-anonsirovala-golograficheskuju-platformu-dlja-obshhenija-onlajn</link>
      <comments>https://tproger.ru/news/video-microsoft-anonsirovala-golograficheskuju-platformu-dlja-obshhenija-onlajn?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/video-microsoft-anonsirovala-golograficheskuju-platformu-dlja-obshhenija-onlajn</guid>
      <description><![CDATA[<p>Платформа смешанной реальности на базе Azure обещает встречи с голографическими проекциями: журналист The Verge опробовал её в шлеме HoloLens 2.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/video-microsoft-anonsirovala-golograficheskuju-platformu-dlja-obshhenija-onlajn">Видео: Microsoft анонсировала голографическую платформу для общения онлайн</a>»</p>]]></description>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Дополненная реальность]]></category>
      <category><![CDATA[YouTube]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 03 Mar 2021 07:50:59 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания Microsoft представила свою новую платформу смешанной реальности — Mesh. С её помощью, в будущем, компания хочет сделать доступными онлайн-беседы с фотореалистичными голографическими проекциями друзей и знакомых, <a href="https://www.theverge.com/22308883/microsoft-mesh-virtual-reality-augmented-reality-hololens-vr-headsets-features">передаёт</a> The Verge.</p><figure><img src="https://media.tproger.ru/uploads/2021/03/1-5.jpg" alt="" /><figcaption>Примерно такой Microsoft видит реализацию Mesh в ближайшем будущем</figcaption></figure><p>Журналист издания Том Уоррен рассказал, как с ним на прошлой неделе связался идейный лидер Kinect и HoloLens Алекс Кипман. Для этого он использовал новинку от Microsoft. По словам Уоррена, он надел шлем HoloLens 2, после чего попал в «виртуальную комнату для встреч», в которой представитель ИТ-гиганта находился рядом с его кофейным столиком.</p><p>Это ощущалось как встреча в Microsoft Teams из будущего.</p><p>Основной для Microsoft Mesh стала облачная платформа Azure. Кипман заявил, что в компании надеются на то, что архитекторы, инженеры и дизайнеры заметят потенциал новинки.</p><p>А для ещё большего её распространения компания намерена сделать сервис доступным на множестве разных устройств: начиная от смартфонов и заканчивая компьютерами и различными шлемами, в том числе HoloLens 2.</p><p>Прямо сейчас Microsoft Mesh доступна лишь для владельцев последней и то, после регистрации на платформе виртуальной реальности AltspaceVR. На прочих девайсах платформа появится позже.</p><p>Источник: <a href="https://www.theverge.com/22308883/microsoft-mesh-virtual-reality-augmented-reality-hololens-vr-headsets-features">The Verge</a></p>]]></content:encoded>
    </item>
    <item>
      <title>«ВымпелКом» протестировала голографические звонки в сети 5G</title>
      <link>https://tproger.ru/news/first-5g-holographic-call</link>
      <comments>https://tproger.ru/news/first-5g-holographic-call?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Паньшин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/first-5g-holographic-call</guid>
      <description><![CDATA[<p>Первый голографический звонок в сети 5G прошёл в Музее Москвы с очками Microsoft HoloLens и скоростью передачи данных выше 2 Гбит/с.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/first-5g-holographic-call">«ВымпелКом» протестировала голографические звонки в сети 5G</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[5g]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 01 Oct 2018 20:32:56 GMT</pubDate>
      <content:encoded><![CDATA[<p>«ВымпелКом» и Huawei совершили первый голографический звонок в сети 5G. В ходе демонстрации, проведенной в выставочном зале Музея Москвы, были использованы очки смешанной реальности Microsoft HoloLens, а также тестовая сеть, которая была развернута на оборудовании Huawei.</p><h3>Как это работает?</h3><p>Для совершения голографического звонка один из абонентов использовал очки смешанной реальности, а другой находился в специальной комнате, оборудованной 3D-камерами. Созданное с помощью этих камер объемное изображение передавалось в очки Microsoft HoloLens.</p><figure><img src="https://media.tproger.ru/uploads/2018/10/20180926164626_nf9a6969__nphvp5g.jpg" alt="" /></figure><p>Во время демонстрации использовались частоты из диапазона 26,6–27,2 ГГц, скорость передачи данных превышала 2 Гбит/с, а время задержки оставалось на очень низком уровне.</p><h3>Как еще можно использовать сеть 5G?</h3><p>Представители компаний также продемонстрировали применение сети пятого поколения на примере онлайн-трансляции с 360-градусной камеры в VR-шлеме. Кроме того, эту технологию можно использовать в области удаленных путешествий и покупок, а также для организации групповых звонков. Впрочем, пока планы по строительству 5G-сетей замедляет неопределенность с выделением частот.</p><p>Напомним, что это не первое событие в области внедрения сети 5G в России. Так, например, весной 2018 года «Ростелеком», Huawei и «Таттелеком» на территории Иннополиса <a href="https://tproger.ru/news/innopolis-5g/">открыли</a> тестовую зону сети пятого поколения.</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft представила квантовые алгоритмы для диагностики рака</title>
      <link>https://tproger.ru/news/microsoft-mrf-cancer</link>
      <comments>https://tproger.ru/news/microsoft-mrf-cancer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Даниил Шатухин]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/microsoft-mrf-cancer</guid>
      <description><![CDATA[<p>Microsoft представила метод диагностики рака на квантовых алгоритмах. Технология MRF анализирует импульсы вместо снимков и использует Azure и HoloLens.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/microsoft-mrf-cancer">Microsoft представила квантовые алгоритмы для диагностики рака</a>»</p>]]></description>
      <category><![CDATA[Машинное обучение]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 05 Jun 2018 18:42:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Microsoft совместно с Университетом Кейс Вестерн Резерв (<a href="https://ru.wikipedia.org/wiki/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D1%82%D0%B5%D1%82_%D0%9A%D0%B5%D0%B9%D1%81_%D0%92%D0%B5%D1%81%D1%82%D0%B5%D1%80%D0%BD_%D1%80%D0%B5%D0%B7%D0%B5%D1%80%D0%B2">Case Western Reserve University</a>) <a href="https://hightech.fm/2018/06/05/cancer">разработала</a> способ диагностирования рака, основанный на квантовых вычислениях. Новый вид исследования способен точнее определять наличие онкологического заболевания.</p><h3>Как это работает?</h3><p>Технология под названием Magnetic Resonance Fingerprinting (<a href="https://www.nature.com/articles/nature11971.epdf?referrer_access_token=qOL4zTWy_evzyDiMTebJadRgN0jAjWel9jnR3ZoTv0Ntul-ZIKxXdytq_jL_bNGTuY8jV84XnpVveAMdiU7J-sxZwanfm9xLXK6xczG2p27QFF8A92JRNQiLLvRsRU6cGyy1lRNn8cUK2myTRUNQEJxNnSjXql4Hqoqh_90FvHTW0dEuJVsQNzqZUBv7Kf65VgkgQklSXfF9yPdxyjhee1fZfOfXLU4E-aetxQ1QkySwZrNYfXUO9CTey9woP1sJR-4am1qauxwhTbT-rOS8bOCdokw2iSeYbI6icrRNkw2IgxfXwj3Vdn_ZtEh57c2I&amp;tracking_referrer=blogs.microsoft.com">MRF</a>) подразумевает исследование импульсов различной мощности вместо традиционных снимков магнитно-резонансной томографии (МРТ). Полученные данные заносятся в таблицу для вычисления точных показателей для каждого вида биологической ткани.</p><p>Обработка такого объёма данных возможна благодаря использованию квантовых алгоритмов. В качестве платформы для вычислений исследователи собираются применять облако Azure. С появлением квантовых компьютеров разработчики планируют запускать выполнение расчетов на них, что повысит производительность алгоритмов. Для визуализации трёхмерных результатов медицинского обследования учёные намереваются использовать гарнитуру HoloLens.</p><p>Исследователи со всего мира вкладывают силы в развитие технологий для диагностики и лечения онкологических заболеваний. В апреле 2018 года Google <a href="https://tproger.ru/news/google-arm-cancer/">представила</a> модифицированный микроскоп для выявления рака.</p>]]></content:encoded>
    </item>
    <item>
      <title>«Экспекто Патронум!»: Microsoft запатентовала указку для дополненной реальности</title>
      <link>https://tproger.ru/news/microsoft-expecto-patronum</link>
      <comments>https://tproger.ru/news/microsoft-expecto-patronum?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/microsoft-expecto-patronum</guid>
      <description><![CDATA[<p>Microsoft запатентовала AR-указку, которая скорее всего будет использоваться вместе с Hololens. Она повысит точность взаимодействия и комфорт работы. </p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/microsoft-expecto-patronum">«Экспекто Патронум!»: Microsoft запатентовала указку для дополненной реальности</a>»</p>]]></description>
      <category><![CDATA[Hardware]]></category>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 24 Aug 2017 11:09:49 GMT</pubDate>
      <content:encoded><![CDATA[<p>Microsoft <a href="http://www.freepatentsonline.com/D795256.html">запатентовала</a> AR-указку, которая предположительно будет использоваться вместе с <a href="https://tproger.ru/tag/hololens/">Hololens</a>. Пока что для управления устройством используются жесты и специальный кликер, но указка существенно повысит точность взаимодействия с предметами, а следовательно, и комфорт работы.</p><p>Сам факт получения патента говорит о том, что устройство уже находится в стадии прототипа и может быть представлено достаточно скоро. Устройство оснащено кнопками и курком и скорее всего будет работать, как приложение на видео ниже, в котором в качестве указки используется iPhone.</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft не будет разрабатывать вторую версию HoloLens и сосредоточится сразу на третьей версии</title>
      <link>https://tproger.ru/news/hololens-v3</link>
      <comments>https://tproger.ru/news/hololens-v3?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/hololens-v3</guid>
      <description><![CDATA[<p>Очки смешанной реальности нового поколения ожидаются ориентировочно в 2019 году: отказ от промежуточной версии даст время серьёзно улучшить устройство.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/hololens-v3">Microsoft не будет разрабатывать вторую версию HoloLens и сосредоточится сразу на третьей версии</a>»</p>]]></description>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 20 Feb 2017 10:55:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Пользовательская версия очков смешанной реальности Microsoft HoloLens все ещё не вышла в продажу, и компания продолжает заниматься развитием своего проекта. Сегодня стало известно, что Microsoft может пропустить вторую версию устройства и выпустить сразу третью, ориентировочно в 2019 году.</p><h3>Почему компания приняла такое решение?</h3><p>Пропуск второй версии продукта даст компании больший запас времени для серьёзного улучшения возможностей устройства. Возможно, причиной такого решения стал серьёзный отрыв Microsoft от конкурентов в сфере смешанной реальности. Она уже выпустила версию HoloLens для разработчиков (мы даже публиковали <a href="https://tproger.ru/tag/hololens/">цикл статей</a> о разработке под HoloLens) и <a href="https://news.microsoft.com/2016/06/01/microsoft-opens-windows-holographic-to-partners-for-a-new-era-of-mixed-reality/">открыла доступ</a> к платформе для разработки Holographic, в то время как её ближайший конкурент, <a href="http://mashable.com/2017/02/14/magic-leap-stop-the-hype-show-the-product/?geo=IN&amp;utm_cid=mash-prod-nav-geo#s0eEaqqp8aql">Magic Leap</a>, ещё даже не представил готовый к использованию продукт.</p><p>Microsoft не сообщила никаких точных деталей. Представитель компании сказал:</p><blockquote>Смешанная реальность — это будущее компьютеров, а Microsoft HoloLens — это будущее и настоящее смешанной реальности. Нашей целеустремлённости не нужны планы.</blockquote><p>Посмотрим, действительно ли Microsoft будет использовать такой подход и окупится ли он в ближайшие годы. Перенос выпуска следующей версии устройства на 2019 год даст разработчикам время разобраться со всеми нюансами создания контента, поэтому к тому времени, когда компания будет готова пустить HoloLens в массы — а на выставке Computex в прошлом июне Microsoft <a href="https://www.cnet.com/news/microsofts-mixed-reality-vision-80-million-vr-and-ar-devices-by-2020/">сказала</a>, что рассчитывает продать 80 миллионов устройств к 2020 году — у нас уже будет повод купить его.</p><p>Но мы-то знаем, что в IT-сообществе зарождается новый тренд, судите сами: после Windows 8 вышла Windows 10, а <a href="https://tproger.ru/news/angular-4/">следующим после Angular 2 будет Angular 4</a>. Так что HoloLens скорее следует правилу, чем является исключением. А чтобы вы не выпали из другого важного тренда — разработки ПО для смешанной реальности — читайте <a href="https://tproger.ru/articles/hololens-dev-1/">наше руководство</a> по разработке приложений для Microsoft HoloLens.</p>]]></content:encoded>
    </item>
    <item>
      <title>Фанат Portal перенёс игру в дополненную реальность HoloLens</title>
      <link>https://tproger.ru/news/portal-hololens-prototype</link>
      <comments>https://tproger.ru/news/portal-hololens-prototype?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Глеб Умаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/portal-hololens-prototype</guid>
      <description><![CDATA[<p>Разработчик Кенни Вонг воссоздал игру для очков Microsoft на движке Unity: устройство ASHPD открывает порталы на реальных поверхностях, есть и куб.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/portal-hololens-prototype">Фанат Portal перенёс игру в дополненную реальность HoloLens</a>»</p>]]></description>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 12 Feb 2017 17:02:10 GMT</pubDate>
      <content:encoded><![CDATA[<p>Разработчик Кенни Вонг перенес знаменитую игру Portal в дополненную реальность, которую можно оценить при помощи очков HoloLens от Microsoft.</p><p>Программист под псевдонимом KennyW поставил себе задачу перенести игру Portal в дополненную реальность. Основная часть работы была сделана на 3D-движке Unity. Тем, кто захочет сделать что-то подобное, мы рекомендуем прочитать <a href="https://tproger.ru/tag/hololens/">цикл наших статей</a>, посвящённых созданию приложений смешанной реальности в Unity 3D.</p><p>В игре предоставляется знаменитое переносное устройство создания порталов (ASHPD), которое создает червоточины на поверхности реальных объектов. Однако проходить через них настоятельно не рекомендуется. Зато имеется куб, которым можно управлять, перемещая его по порталам.</p><p>Разработчик KennyW уже давно занимается проектами, связанными с виртуальной реальностью. В прошлом году он создал прототип Pokémon для того же HoloLens от Microsoft.</p><p>Кенни Вонг пообещал поделиться результатом своих трудов на GitHub после того, как закончит работу над этим проектом.</p><figure><img src="https://media.tproger.ru/uploads/2017/02/hololens.png" alt="" /></figure><p>Компания Microsoft начала продажу HoloLens в первом квартале 2016 года. Изначально устройство использовалась для презентаций и научно-исследовательских работ. Однако после появления данного оборудования в продаже, многие программисты начали адаптировать его для использования в компьютерных играх.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: сборка и тестирование</title>
      <link>https://tproger.ru/articles/hololens-dev-5</link>
      <comments>https://tproger.ru/articles/hololens-dev-5?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/hololens-dev-5</guid>
      <description><![CDATA[<p>Заключительный этап разработки под Microsoft HoloLens: проверка готового приложения на устройстве и в эмуляторе, поиск артефактов и просадок производительности.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/hololens-dev-5">Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: сборка и тестирование</a>»</p>]]></description>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 16 Nov 2016 14:19:56 GMT</pubDate>
      <content:encoded><![CDATA[<p>В <a href="https://tproger.ru/articles/hololens-dev-4/">прошлой части</a> серии мы завершили разработку приложения, познакомившись с основами разработки для Hololens. Настала пора проверить работоспособность нашего приложения на устройстве или в эмуляторе.</p><h3>Общие советы по тестированию</h3><p>Принципиально тестирование голографических приложений мало чем отличается от тестирования обычных приложений: вам нужно всё проверить до мельчайших деталей, чтобы всё работало как надо, чтобы нигде не падала производительность, не было графических артефактов, чтобы были правильные данные и т.д. Ввиду особенностей приложений смешанной реальности вам придется запускать его в разных помещениях, при разном уровне освещения, смотреть на голограммы под разным углом и на разных расстояниях. И не забывайте, что чем раньше вы достигнете производительности 60 кадров в секунду, тем лучше (вспоминаем <a href="https://tproger.ru/articles/hololens-dev-3/">ч. 3</a>).</p><h3>Тестирование в Unity</h3><p>Первым делом работоспособность приложения необходимо проверить в Unity. Нажимаем на Play, смотрим, ходим. Для имитации нажатий можно использовать следующий код в Update методе GestureTest:</p><p>То же самое можно использовать для имитации голосовых команд, если у вас на компьютере не работает микрофон.<br />Стандартные утилиты Unity, такие как FrameDebugger и Profiler, тоже могут быть очень полезны:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/1.png" alt="" /></figure><p>Проблема в том, что Unity не отображает в полной мере все недостатки приложения, особенно те, которые связаны с производительностью. Если в Unity ваше приложение выдаёт стабильные 60 кадров в секунду, то не факт, что те же 60 кадров вы увидите на устройстве.</p><p>Для того, чтобы протестировать приложение на эмуляторе, вам необходимо собрать Solution Visual Studio. Воспользуемся скриптом, созданным в части 2.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/2.png" alt="" /></figure><p>По завершении процесса сборки, если всё прошло хорошо и в консоли нет ошибок, откроется директория, содержащая Solution Visual Studio. Запустите проект, вы должны увидеть следующее:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/3-1024x662.png" alt="" /></figure><h3>Эмулятор</h3><p>Первым делом попробуем загрузить приложение на эмулятор. Чтобы сделать возможным запуск эмулятора, вам необходимо активировать Hyper-V (панель управления → программы и компоненты → включить или отключить компоненты Windows). Напоминаю, что Hyper-V не работает на Windows 10 Home. Также не забудьте включить режим разработчика в настройках.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/4.png" alt="" /></figure><p>Настройки, необходимые для запуска проекта на эмуляторе, представлены на картинке.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/5.png" alt="" /></figure><p>Обязательно ставим Release, т.к. под другими конфигурациями эмулятор на данный момент не работает. Установим BreakPoint в классе VoiceTest. Однако, когда вы произнесёте «», ничего не произойдет. Чтобы это исправить, уберите у каждого проекта оптимизацию кода (ПКМ → Properties → Build). Запуск выполнять через F5 (Start Debugging). Высветится окно “You do not have permission to run the emulator“, ставим галочку “Join the Hyper-V Administration Group“, жмём Retry:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/6.png" alt="" /></figure><p>После чего вы наконец-то сможете увидеть окно эмулятора:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/7.png" alt="" /></figure><p>Что есть что в эмуляторе:</p><ol><li>Закрыть Окно эмулятора, завершить отладку</li><li>Свернуть Окно</li><li>Переключится на эмуляцию человеческого ввода (см. ниже)</li><li>Прямое управление с клавиатуры и мыши</li><li>Развернуть на максимум</li><li>Увеличить/уменьшить размер окна</li><li>Справка</li><li>Device Portal (см. ниже)</li><li>Дополнительные инструменты</li></ol><p>Основное назначение элементов, думаем, вам ясно. Единственное, что нуждается в пояснении – это эмуляция ввода. При нажатии на иконку человека, в приложении вы сможете:</p><ol><li>Перемещаться вперёд-назад-влево-вправо, используя клавиши W, S, A, D соответственно.</li><li>Управлять взглядом, зажав ПКМ и двигая мышью, или используя стрелки на клавиатуре.</li><li>Выполнить AirTap, нажав ПКМ.</li><li>Выполнить Navigation или <i>Manipulation</i>, зажав ПКМ.</li><li>Выполнить Bloom, нажав на клавишу F2.</li></ol><p>Дополнительные инструменты высвечиваются при нажатии на соответствующую клавишу:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/aaza.png" alt="" /></figure><p>Всего нам доступно 5 вкладок:</p><ol><li>Simulation. Показывает координаты положения человека в виртуальном пространстве, угол поворота головы, нажатие AirTap.</li><li>Room – позволяет загрузить комнату в эмулятор. Можно выбрать либо готовые (всего доступно 5 вариантов), либо создать модель своей комнаты через Device Portal.</li><li>Account – ввести данные учётной записи Microsoft.</li><li>Network – параметры адаптеров.</li><li>Optional Settings – дополнительные настройки, например, включить/отключить ускорение графики.</li></ol><p>Опробуйте все добавленные ранее возможности. Нажмите на автомобиль, попробуйте голосовой ввод, загрузите комнату и попробуйте установить автомобиль.</p><p>Дополнительными средствами отладки в эмуляторе являются Performance Profiler и Graphic Debugger. Первое позволит получить детальный анализ производительности, время вызова методов, графики нагрузки на CPU и GPU. Graphic Debugger позволяет покадрово рассмотреть отрисовку графических объектов.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/8.png" alt="" /></figure><figure><img src="https://media.tproger.ru/uploads/2016/11/9.png" alt="" /></figure><h3>Запуск на устройстве</h3><p>Работать с устройством можно либо через USB (в таком случае, выбираем в качестве target-платформы Device), либо через Wi-Fi, если вы подключены к одной сети. Обязательно нужно активировать режим разработчика на Hololens. Для этого выполните Bloom, зайдите в настройки, закрепите окно, зайдите в раздел Update → For Developers. В том же разделе, если вы пролистаете ниже, можно включить Device Portal. Сделайте это сразу.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/10-1024x377.png" alt="" /></figure><figure><img src="https://media.tproger.ru/uploads/2016/11/11.png" alt="" /></figure><p>При первом запуске через Visual Studio или Device Portal вам потребуется PIN, который генерируется автоматически на устройстве. Просто надевайте очки, заходите в настройки Update → Pair Device, запомните PIN и введите его в появившемся на ПК окне.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/12.png" alt="" /></figure><p>Всё готово к работе. Осталось только ввести адрес устройства:</p><ol><li>Для запуска через USB — http://127.0.0.1:10080.</li><li>Для запуска через Wi-Fi вам необходимо знать адрес устройства. Посмотрите в настройках Network &amp; Internet, или, надев очки, спросите у Кортаны (“Hey Cortana! What’s my IP-address?”). Адрес выглядит примерно так: https://192.168.88.212.</li></ol><p>Эти же IP-адреса будут использоваться для входа в Device Portal.</p><h3>Device Portal</h3><p>Своего рода консоль для управления и мониторинга устройства.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/13-1024x460.png" alt="" /></figure><p>При первом запуске вас попросят создать логин и пароль для входа в устройство. В дальнейшем эти данные будут использоваться при повторном подключении Hololens к вашему либо чужому компьютеру.</p><p>Как видно на скриншоте, в Device Portal находится 13 вкладок (слева), которые позволяют получить подробную информацию о производительности, состоянии сети, файловой системы и т.д. А также статус устройства, уровень заряда, температуру и кнопки управления загрузкой (правый верхний угол). В рамках статьи мы не будем рассматривать их все подробно, расскажу о самом интересном.</p><p>Первое — это загрузка приложений. Если у вас по каким-либо причинам не получается загрузить приложение через Visual Studio, то это всегда можно сделать через Device Portal. Соберите App package вашего приложения. Для этого, в Visual Studio, выберите в Solution Explorer startup project (название жирным шрифтом), ПКМ -&gt; Store → Create App Package. В первом окне “Create your package” вам предложат создать Package для загрузки в Store, выбираем ответ No. В следующем, Select and configure packages, укажите следующие настройки:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/14.png" alt="" /></figure><p>Версия и директория могут быть любыми. По завершении процесса сбора, если всё прошло хорошо и высветилось сообщение “Package Creation Completed“, зайдите в Device portal, в раздел Apps, загрузите ppxbundle и 2 appx файла:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/15.png" alt="" /></figure><p>Нажимаем Go, ищем в списке приложений наше. Как только нашли, выполняем запуск. Теперь мы можем:</p><ol><li>Посмотреть производительность во вкладке System Performance:</li></ol><figure><img src="https://media.tproger.ru/uploads/2016/11/16-1024x549.png" alt="" /></figure><ol><li>Во вкладке Mixed Reality Capture сделать скриншот или посмотреть глазами пользователя:</li></ol><figure><img src="https://media.tproger.ru/uploads/2016/11/17-1024x681.png" alt="" /></figure><ol><li>Отслеживать положение в пространстве и выполнить SpatialMapping комнаты, которую потом можно загрузить в Unity (вспоминаем ч. 4). Для лучшего результата придётся несколько раз пройтись по комнате, каждый раз обновляя результат. Впоследствии полученный Mesh комнаты можно экспортировать как файл с расширением *.obj.</li></ol><figure><img src="https://media.tproger.ru/uploads/2016/11/18-1024x549.png" alt="" /></figure><h3>Заключение</h3><p>Мы закончили цикл статей, которые помогут начинающим разработчикам начать писать свои приложения смешанной реальности. Как было отмечено в начале, за этой технологией будущее, а это значит, что создавать программы надо здесь и сейчас. Удачи вам в ваших начинаниях!</p><p>Выражаем благодарность Тимуру Ахметову, разработчику из компании HoloGroup и департаменту стратегических технологий Microsoft за предоставленный материал.</p><p>Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: взаимодействие с окружающим пространством</title>
      <link>https://tproger.ru/articles/hololens-dev-4</link>
      <comments>https://tproger.ru/articles/hololens-dev-4?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/hololens-dev-4</guid>
      <description><![CDATA[<p>Созданную ранее голограмму автомобиля предстоит связать с реальным миром, чтобы объект появлялся не всегда на одном и том же месте комнаты.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/hololens-dev-4">Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: взаимодействие с окружающим пространством</a>»</p>]]></description>
      <category><![CDATA[Unity]]></category>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 09 Nov 2016 18:16:25 GMT</pubDate>
      <content:encoded><![CDATA[<p>В <a href="https://tproger.ru/articles/hololens-dev-3/">предыдущей части</a> мы создали нашу первую голограмму и научились с ней взаимодействовать. Теперь мы соединим нашу голограмму с реальным миром.</p><h3>Смешанная реальность</h3><p>Как было отмечено в первой части, Hololens — это устройство, позволяющее комбинировать реальный и виртуальный мир. Представьте, что можно поместить у себя на стене таблицу Менделеева или поставить на столе макет дома. В прошлый раз мы с вами создали голограмму автомобиля и научились с ней взаимодействовать.</p><p>Однако автомобиль каждый раз появляется на одном и том же месте, что не очень удобно. Можно, конечно, воспользоваться классом GestureTest и перетащить автомобиль в любую точку окружающего пространства. Но проблема в том, что часть автомобиля может оказаться за стеной. Или вы захотите поставить его на пол. А теперь представьте: вы захотите написать игру, в которой из стен должны появляться враги и нападать на пользователя (аналог — <a href="https://www.microsoft.com/microsoft-hololens/en-us/apps/RoboRaid">RoboRaid</a>). Иными словами, вы хотите, чтобы голограммы взаимодействовали с объектами реального мира, а объекты реального мира — с голограммами. В таких случаях необходимо обладать информацией об окружающем пространстве.</p><p>В Hololens есть 4 камеры для анализа поверхностей, а также камера глубины и IMU-сенсор, благодаря чему можно провести очень точный геометрический анализ окружающего пространства: стен, столов, стульев и даже человеческого тела. При этом данные сохраняются на устройстве и обновляются по мере необходимости. Представьте, что можно без проблем расположить голограмму на голове ничего не подозревающего товарища.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/1-1-1024x576.jpg" alt="" /></figure><h3>Spatial Mapping</h3><p>Процесс комбинирования голограмм и реального мира называется Spatial Mapping. Сначала приложение предоставляет устройству ограничитель, выполненный в виде многогранника, который отвечает за свою часть пространства. По мере сканирования ограничитель формирует набор полигонов. Чем больше полигонов, тем точнее геометрические данные и тем больше нагрузка на устройство. Так, например, на картинке сверху считывание идёт из расчёта 500 полигонов на кубический метр.</p><p>Непрерывное перемещение пользователя в пространстве и изменение положения объектов (например, передвижение стола) также влияют на точность Spatial Mapping. При разработке приложений это необходимо учитывать. Затем на основе полигонов определяются типы поверхностей, будь то пол, стол или стена, и вы сможете научить голограммы взаимодействовать с ними.</p><h3>Spatial Anchor</h3><p>Положение голограмм в пространстве можно фиксировать, присваивая им объекты Spatial Anchor (далее по тексту — пространственные якоря). Таким образом, при следующей загрузке приложения вы сможете увидеть их ровно на том же месте, на котором оставили в прошлый раз.</p><h3>Spatial Mapping в Unity</h3><p>HoloToolkit содержит готовые компоненты для работы со Spatial Mapping, основными из которых являются:</p><ol><li>Spatial Mapping, основной компонент.</li><li>Remote Mapping, позволяющий делиться данными об окружающем пространстве.</li><li>Spatial Understanding — решение, предоставленное разработчиками «Young Conker», позволяет получить более детальный анализ поверхностей. Что значит более детальный? Это значит, что ваши стены, пол и потолок разбиваются на плоскости, что позволяет оптимизировать положение голограмм.</li></ol><p>В части 2 мы добавили SpatialPerceptions в Capabilities. Если вы ещё не сделали этого, сделайте, т.к. иначе Spatial Mapping работать не будет. Если вы хотите впоследствии работать с Remote Mapping, включите в Capabilites поддержку сети. Добавьте в сцену префаб SpatialMapping.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/2.jpg" alt="" /></figure><p>Основными компонентами префаба являются три скрипта:</p><ol><li>SpatialMappingObserver. Является оболочкой для Surface Observer, сканера поверхностей. Позволяет задать количество полигонов на кубометр, объём в пространстве (наш ограничитель) и частоту обновлений.</li><li>ObjectSurfaceObserver. Позволяющий загрузить в Unity модель комнаты.</li><li>SpatialMappingManager. Управляет текущим источником поверхностей, т.е. компонентами 1) и 2). Позволяет настраивать параметры отображения и материал для поверхности.</li></ol><p>Первым делом добавьте модель комнаты в ObjectSurfaceObserver. Во вкладке Project в строке поиска введите “SRMesh“. Добавьте его в поле Room Model. После этого вы должны увидеть в Unity следующую картину:</p><figure><img src="https://media.tproger.ru/uploads/2016/11/3.jpg" alt="" /></figure><p>Это — наша тестовая комната. Вы можете загрузить свою собственную модель комнаты. О том, как это можно сделать, я расскажу в следующей части.<br />Настройте префаб так же, как на картинке. Обязательно отключите AutoStartObserver, мы будем делать это из кода.</p><figure><img src="https://media.tproger.ru/uploads/2016/11/4.jpg" alt="" /></figure><p>Создайте пустой объект, добавьте скрипт SurfaceMeshesToPlane. Скрипт позволяет отобразить доступные для работы поверхности в виде объекта SurfacePlane. Вы можете указать скрипту, какие поверхности отобразить, а какие удалить.</p><p>Теперь попробуем просканировать комнату. Приложение может сканировать непрерывно, в течение определённого времени или до тех пор, пока не будет предоставлено достаточное количество поверхностей. Всё зависит от ваших текущих задач. Напишем простой скрипт, позволяющий реализовать каждый из перечисленных сценариев:</p><p>Если вы не удаляли поверхности, то должны увидеть следующую картину в Unity (белая поверхность — пол, синяя — стол):</p><figure><img src="https://media.tproger.ru/uploads/2016/11/5.jpg" alt="" /></figure><p>Попробуем установить автомобиль на горизонтальную поверхность. В первую очередь добавьте компонент BoxCollider родительскому элементу автомобиля. Настройте коллайдер так, чтобы автомобиль полностью находился внутри. Напишем скрипт, реализующий данную возможность:</p><p>Теперь автомобиль будет двигаться вместе с вами по комнате. Каким образом вы будете его устанавливать — голосом или жестами — зависит от вас. Как это сделать вы уже знаете.</p><h3>SpatialAnchor в Unity</h3><p>Для работы с пространственными якорями в Unity есть специальный компонент WorldAnchor, а также класс WorldAnchorStore, предназначенный для сохранения якорей на устройстве.</p><p>Теперь представьте: вот вы установили один раз автомобиль и хотите, чтобы он оставался на том же самом месте и при следующем запуске программы. Первым делом добавьте свойство в скрипт PlaceObjectOnHorizontalSurface, а в методе Awake уберите установку поля в true:</p><p>Прикрепите к родительскому объекту Car следующий скрипт (все пояснения в комментариях):</p><p>Учтите: если вы захотите переставить автомобиль в другое место, вам придётся удалить компонент WorldAnchor, затем после установки создать его заново и сохранить.</p><p>В данной статье мы изложили основные принципы взаимодействия голограмм с окружающим пространством. Фактически наше приложение готово. Мы можем смело загружать его на устройство. О том, как это сделать, будет рассказано в следующей статье.</p><p>Выражаем благодарность Тимуру Ахметову, разработчику из компании HoloGroup и департаменту стратегических технологий Microsoft за предоставленный материал.</p><p>Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: взаимодействие с голограммами</title>
      <link>https://tproger.ru/articles/hololens-dev-3</link>
      <comments>https://tproger.ru/articles/hololens-dev-3?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/hololens-dev-3</guid>
      <description><![CDATA[<p>Продолжение разработки приложения для HoloLens: в сцену добавляют префаб машины, настраивают Transform и заменяют шейдеры Unity на HoloToolkit.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/hololens-dev-3">Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: взаимодействие с голограммами</a>»</p>]]></description>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 18 Oct 2016 14:54:05 GMT</pubDate>
      <content:encoded><![CDATA[<p>В <a href="https://tproger.ru/articles/hololens-dev-2/">предыдущей части</a> мы создали заготовку для нашего проекта. Настало время писать код. В этой части мы добавим в наш проект голограмму и научимся взаимодействовать с нею.</p><h3>Разработка</h3><p>Все материалы, используемые в статье, можно скачать по <a href="https://www.dropbox.com/s/3fz433qpvfdrj7a/Article_Part_3.unitypackage?dl=0">ссылке</a>.</p><p>Добавьте папку Article в папку Asset вашего проекта. Выберите префаб Car, переместите его в вашу сцену. Значения transform задайте как на скриншоте.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/1-4.png" alt="" /></figure><p>Transform объекта</p><p>Вид основной сцены представлен на рисунке:</p><figure><img src="https://media.tproger.ru/uploads/2016/10/2-2.png" alt="" /><figcaption>Главная сцена в Unity</figcaption></figure><p>Теперь необходимо изменить компонент Shader у каждого материала нашей машины. Стандартные шейдеры Unity не подходят, т.к. они оказывают высокую нагрузку на HPU. Для наших целей хватит и шейдеров HoloToolkit, например, Standart Fast. Задайте следующие настройки шейдера:</p><ul><li>Rendering Mode → Fade</li><li>Metallic = 0.4</li></ul><p>В дальнейшем, возможно, вам придётся создавать свои шейдеры, но в рамках данного цикла статей этот процесс рассматриваться не будет. И напоследок: не забудьте включить предзагрузку шейдеров в настройках проекта, т.к. их компиляция в Runtime может сказаться на производительности.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/3-2.png" alt="" /><figcaption>Установка шейдеров</figcaption></figure><p>Существует три основных типа взаимодействия пользователя с голограммами:</p><ul><li>Взаимодействие взглядом (Gaze);</li><li>Взаимодействие жестами (Gesture);</li><li>Взаимодействие голосом (Voice).</li></ul><h3>Взаимодействие взглядом</h3><p>Для того, чтобы можно было взаимодействовать с автомобилем (или с отдельной его частью), необходимо добавить компонент Collider (в меню Сomponent → Physics, или в инспекторе Add Component → Physics). Добавьте Mesh Collider для каждой двери автомобиля. Добавьте в сцену префаб Cursor. Создайте для него простой скрипт:</p><p>Прикрепите скрипт к префабу. Теперь, при наведении взгляда на дверь автомобиля, высветится курсор:</p><figure><img src="https://media.tproger.ru/uploads/2016/10/4-2.png" alt="" /></figure><p>Можно поэкспериментировать, добавив взаимодействие при наведении взгляда на нужный объект, например, подсветку объекта. Или осуществить нажатие на объект при длительном удержании взгляда. Однако, такие функции есть даже у приложений для CardBoard, ввиду ограниченных возможностей которого нельзя реализовать более сложный интерактив (если я ошибаюсь — просветите меня).</p><h3>Взаимодействие жестами</h3><p>Следующий способ взаимодействия — взаимодействие жестами. Он активируется тогда, когда одна или обе ваши руки попадают в поле зрения устройства. К сожалению, Hololens на данный момент располагает ограниченным набором жестов:</p><ul><li>нажатие (Air-Tap);</li><li>удержание (Hold);</li><li>удержание + движение руки (Manipulation и Navigation).</li></ul><p>Существует также Bloom-жест, предназначенный для вызова меню или постановки работающего приложения на паузу. Все жесты описаны в операционной системе, а разрабатывать свои на данный момент нельзя, но, надеюсь, эту возможность рано или поздно добавят. Самый распространенный — Tap (он же AirTap, он же «щелчок»). На картинке можно увидеть, как он выполняется.</p><figure><img src="https://media.tproger.ru/uploads/2016/10/5-1.png" alt="" /></figure><p>Hololens также распознаёт Double Tap — двойной AirTap. Hold — просто опускаем указательный палец, не поднимая вверх. Navigation и Manipulation используются в связке Hold + движение руки.</p><p>В Unity управление жестами реализуется с помощью двух классов: GestureRecognizer и InteractionManager. Первый просто распознаёт указанные жесты, а второй определяет тип взаимодействия, позволяя получить более детальную информацию. Оба класса принадлежат пространству имён UnityEngine.VR.WSA.Input, поэтому обязательно добавляйте его в свои скрипты. Мы будем использовать GestureRecognizer. Сделаем так, чтобы при нажатии на дверь запускалась анимация её открытия. Создадим сначала простой класс CarController:</p><p>Теперь создадим класс GestureTest:</p><p>Окей, а если нужно повернуть автомобиль? Или рассмотреть какую-то из его частей отдельно? Давайте слегка поменяем наш код, чтобы можно было «оторвать» у автомобиля дверь. В список распознаваемых жестов добавьте GestureSettings.ManipulationTranslate, и подпишитесь на события _recognizer. Полностью код будет выглядеть вот так:</p><p>Здесь необходимо дать небольшое пояснение, почему мы использовали Manipulation. Дело в том, что при манипуляции устройство считывает координаты положения руки в абсолютной величине. Это очень удобно использовать при перемещении голограмм в пространстве: они будут следовать за вашей рукой. В случае, если вам необходимо ограничить перемещение, повернуть объект или выполнить Scale объекта, лучше использовать Navigation. При Navigation подразумевается, что передвижение вашей руки происходит вдоль оси X, Y или Z. Как только срабатывает событие OnStart, в пространстве рисуется нормированный куб с координатами вершин -1, 0 и 1, где 0 — центр, который расположен в точке зажатия пальцев. Вместо cumulativeDelta (см. события Manipulation) мы получаем вектор normalizedOffset, значение X, Y или Z которого меняется от -1 до 1, при этом оставшиеся две координаты будут равны 0.</p><p>В таком случае, вместо GestureSettings.ManipulationTranslate в метод SetRecognizableGestures добавится GestureSettings.NavigationX (при навигации по оси X). Почему вместо? Потому что Navigation и Manipulation не совместимы в рамках одного экземпляра GestureRecognizer, более того, вы не сможете добавить одновременно навигацию по всем трём осям. Вам придётся создавать несколько классов, отвечающих за то или иное взаимодействие, при этом вы не сможете использовать несколько GestureRecognizer одновременно, даже если они отвечают за разные типы взаимодействий. Переключаться между ними придётся в Runtime, один из способов сделать это — голосовое управление, речь о котором пойдёт ниже.</p><h3>Взаимодействие голосом</h3><p>Hololens имеет на борту 4 микрофона и прекрасно распознаёт человеческую речь. Речь можно использовать как для ввода текста, так и для выполнения команд.</p><p>В предыдущем примере мы сделали так, чтобы пользователь мог убрать двери автомобиля и заглянуть внутрь. А если захочется детально рассмотреть двигатель? Или выхлопную систему? Можно воспользоваться предыдущим примером и разобрать автомобиль как конструктор. А можно сказать «Покажи мне двигатель» и сразу всё увидеть. Давайте так и сделаем. В качестве «распознавателя голоса» будем использовать класс KeywordRecognizer :</p><p>Для того, чтобы работали голосовые команды, необходимо в Capabilities активировать микрофон. В части 2 мы выполнили этот шаг. Осталось поменять код CarController, чтобы осуществить задуманное:</p><p>Распознавание голоса в Hololens не очень удобное, так как устройство пока дружит только с английским языком. Зато оно точное и универсальное, и его можно использовать, например, чтобы переключаться между разными GestureRecognizer. При этом, в отличие от GestureRecognizer, у вас может быть несколько KeyWordRecognizer, работающих одновременно. Но делать так не рекомендуется, так как это приводит к дополнительной нагрузке на программу и путанице.</p><p>Мы познакомились с основными способами пользовательского взаимодействия с голограммами в Hololens. В <a href="https://tproger.ru/articles/hololens-dev-4/">следующей части</a> мы научимся взаимодействовать с окружающим пространством.</p><p>Выражаем благодарность Тимуру Ахметову, разработчику из компании <a href="https://web.archive.org/web/20170210023857/http://www.ru.holo.group/">HoloGroup</a> и департаменту стратегических технологий Microsoft за предоставленный материал.</p><p>Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.</p>]]></content:encoded>
    </item>
    <item>
      <title>На предстоящей конференции Future Decoded от Microsoft собирается выступить астрофизик Стивен Хокинг</title>
      <link>https://tproger.ru/news/steve-hawking-on-future-decoded</link>
      <comments>https://tproger.ru/news/steve-hawking-on-future-decoded?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Лапа]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/steve-hawking-on-future-decoded</guid>
      <description><![CDATA[<p>Астрофизик Стивен Хокинг расскажет об искусственном интеллекте на конференции Future Decoded в Лондоне, где Microsoft покажет демку HoloLens.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/steve-hawking-on-future-decoded">На предстоящей конференции Future Decoded от Microsoft собирается выступить астрофизик Стивен Хокинг</a>»</p>]]></description>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[Конференции]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 12 Oct 2016 18:05:58 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания Microsoft <a href="http://news.microsoft.com/en-gb/2016/10/12/stephen-hawking-to-be-keynote-speaker-at-microsofts-future-decoded-event/#sm.0000qubr8guyyf0dy942b09dqspdx#ie3jPdqqKw5Im27X.97">объявила</a>, что на предстоящем мероприятии <a href="https://futuredecoded.microsoft.com/">Future Decoded</a> побывает один из самых известных ученых планеты — Стивен Хокинг.</p><p>Всемирно известный астрофизик выступит в конце первого дня мероприятия и поделится своими мыслями касаемо искусственного интеллекта и того, какое он может оказать влияние на будущее человеческого рода.</p><p>В дополнение к выступлению Хокинга Microsoft также представит первую демку для шлема виртуальной реальности HoloLens.</p><p>Future Decoded — ведущее мероприятие в Великобритании, посвященное исследованиям того, как технологическая революция может изменить мир. Конференция будет проходить в Лондоне 1 и 2 ноября.</p><p>Узнать больше о предстоящей конференции можно <a href="http://news.microsoft.com/en-gb/2016/10/12/stephen-hawking-to-be-keynote-speaker-at-microsofts-future-decoded-event/#sm.0000qubr8guyyf0dy942b09dqspdx#ie3jPdqqKw5Im27X.97">здесь</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: создание проекта Unity 3D</title>
      <link>https://tproger.ru/articles/hololens-dev-2</link>
      <comments>https://tproger.ru/articles/hololens-dev-2?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/hololens-dev-2</guid>
      <description><![CDATA[<p>Пошаговая настройка проекта Unity 3D под Microsoft HoloLens: сохранение сцены, платформа Windows Store и опция Unity C# Projects в Build Settings.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/hololens-dev-2">Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: создание проекта Unity 3D</a>»</p>]]></description>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 30 Sep 2016 18:01:45 GMT</pubDate>
      <content:encoded><![CDATA[<p>В <a href="https://tproger.ru/articles/hololens-dev-1/">предыдущей части</a> мы рассмотрели, что из себя представляет Microsoft HoloLens, какие для него существуют приложения, и установили средства разработки. В этой и следующих частях мы создадим простое Holographic-приложение с использованием Unity 3D.</p><h3>Начало работы</h3><p>Создайте проект Unity 3D.  Выберите название и директорию. Вид приложения — 3D:</p><figure><img src="https://media.tproger.ru/uploads/2016/09/1-%C2%A6%D0%B1%C2%A6-%C2%A6%C2%AC%C2%A6%C2%A6-%C2%A6-%C2%A6%C2%AC%C2%A6%C2%A6-%C2%A6%C2%ACT%D0%90%C2%A6-%C2%A6%C2%A6%C2%A6%C2%A6T%D0%92%C2%A6-.png" alt="" /></figure><p>Откроется главное окно Unity. Первым делом настроим проект для работы на HoloLens. Сохраняем сцену, для простоты назовём её Main.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/2-%C2%A6%D0%A3%C2%A6%C2%AC%C2%A6-%C2%A6-%C2%A6-%C2%A6-%C2%A6%C2%A6-%C2%A6%D0%AE%C2%A6%C2%A6%C2%A6-%C2%A6-Unity-1024x555.png" alt="" /><figcaption>Главное окно Unity</figcaption></figure><p>Зайдите во вкладку File → Build Settings. Добавьте открытую сцену. В качестве целевой платформы укажите Windows Store и следующие настройки:</p><figure><img src="https://media.tproger.ru/user-uploads/46677/2023-12-27/03633e82-71e5-43cc-80f9-6f80eb58b740.png" alt="" /></figure><p>Обязательно выделяем Unity C# Projects.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/3-Build-Settings.png" alt="" /><figcaption>Build Settings</figcaption></figure><p>В разделе Others в Player Settings выделяем две настройки: Use 16-bit depth buffer и Virtual Reality Supported. Последняя настройка автоматически добавит Windows Holographic SDK. Затем в разделе Publishing Settings в Capabilities необходимо выбрать Microphone, Internet Client и Spatial Perception. Зачем это нужно, вы узнаете позже.</p><p>Теперь перейдем к настройке графики (в меню: Edit → Project Setting → Quality). Выставляем по умолчанию Fastest. Данная опция рекомендуется, но не является финальной, и в дальнейшем вы можете экспериментировать с настройками. Для примера установим значение Texture Quality в Full Res.</p><figure><img src="https://media.tproger.ru/uploads/2016/09/4-Quality-Settings.png" alt="" /><figcaption>Quality Settings</figcaption></figure><p>Здесь же необходимо сразу прояснить требования к производительности для приложений HoloLens. Так как пользователь активно взаимодействует с окружающим пространством, обновления визуального отображения голограмм должны происходить с минимальной задержкой при максимально высоком качестве картинки. Также надо учесть, что на каждое приложение выделяется не более 900 МБ оперативной памяти. По-хорошему, необходимо достичь стандартных 60 кадров в секунду и поддерживать это состояние на всём жизненном цикле приложения. В противном случае значительно возрастает нагрузка на HPU и увеличивается расход энергии и температура. Это также отражается на качестве голограмм, которые начинают отображаться с задержкой, неправильно взаимодействовать друг с другом и с объектами реального мира, нарушая законы физики и здравого смысла. О способах повышения производительности вы узнаете в следующих статьях нашего цикла. Один из них — использование 16-битного буфера глубины, и соответствующую опцию мы как раз включали в Player Settings.</p><p>С настройками проекта мы разобрались. До создания первого приложения остаётся сделать всего пару шагов.</p><p>Настройте камеру (Camera main) для работы с HoloLens. То, что видит ваша камера — это то, что видит пользователь. А поскольку пользователь должен видеть реальный мир с добавлением голограмм, то и фон у камеры должен быть прозрачным. Чтобы задать его выберите камеру, в инспекторе поменяйте значение Clear Flag на Solid Color, а в Background задайте #00000000 (черный цвет со значением альфа-канала 0, или RGBA = (0,0,0,0)). Позицию и поворот камеры сбросьте в (0,0,0). Наконец, установите значение Near Clip Plane равным 0.85 для того, чтобы голограммы не рендерились слишком близко от пользователя.</p><p>Для удобства тестирования приложения в Unity добавьте скрипт SimpleCameraMover и прикрепите его к камере:</p><p>Теперь можно поворачивать и перемещать камеру — иными словами, имитировать движение пользователя.</p><p>Дополнительно необходимо скачать <a href="https://github.com/Microsoft/HoloToolkit-Unity">HoloToolkit</a> — набор скриптов и компонентов, созданных для ускорения разработки под HoloLens. Далее копируем репозиторий с GitHub, и, следуя инструкциям, импортируем в Unity. В принципе, вы можете обойтись без него и писать все классы сами. В некоторых случаях это будет оправдано. Но всё же рекомендуем добавлять его во все ваши проекты, так как он значительно упрощает работу.</p><p>Напоследок, рекомендуем добавить в папку Assets/Editor скрипт для автоматической сборки проекта:</p><p>В будущем, возможно, вам понадобятся несколько методов, выполняющих разные сборки проекта: с разными сценами, иконками, настройками графики и так далее.</p><p>Всё готово к работе. Текущее состояние проекта можно сохранить отдельно и использовать как <a href="https://tproger.ru/articles/hololens-dev-3/">«заготовку» на будущее</a>.</p><p>Выражаем благодарность Тимуру Ахметову, разработчику из компании <a href="https://web.archive.org/web/20170210023857/http://www.ru.holo.group/">HoloGroup</a> и департаменту стратегических технологий Microsoft за предоставленный материал.</p><p>Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.</p>]]></content:encoded>
    </item>
    <item>
      <title>Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: введение и инструментарий</title>
      <link>https://tproger.ru/articles/hololens-dev-1</link>
      <comments>https://tproger.ru/articles/hololens-dev-1?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Иван Бирюков]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/hololens-dev-1</guid>
      <description><![CDATA[<p>HoloLens — первый полностью автономный голографический компьютер, анонсированный 21 января 2015 года: с чего начать разработку и какие нужны средства.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/hololens-dev-1">Как разрабатывать приложения смешанной реальности для Microsoft HoloLens: введение и инструментарий</a>»</p>]]></description>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Виртуальная реальность]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Материалы от друзей Tproger]]></category>
      <category><![CDATA[HoloLens]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 19 Sep 2016 21:54:04 GMT</pubDate>
      <content:encoded><![CDATA[<p>В последнее время идёт активное развитие технологий дополненной и виртуальной реальностей. Первые шаги в этом направлении уже сделали многие ведущие игроки ИТ-рынка: Facebook <a href="http://www.forbes.com/sites/briansolomon/2014/03/25/facebook-buys-oculus-virtual-reality-gaming-startup-for-2-billion/#218209934222">приобрела</a> компанию Oculus, Google <a href="http://time.com/4163067/google-glass-2-photos-2015/">возрождает</a> канувший в лету проект Glass, Sony уже этой осенью <a href="http://www.cnet.com/products/sony-playstation-vr/">выпустят</a> комплект Playstation VR для своей консоли. Не остались в стороне и Microsoft, представив миру HoloLens — первый полностью автономный голографический компьютер.</p><h3>Что же это такое?</h3><p>HoloLens впервые был анонсирован 21 января 2015 года на Windows 10 Event. 30 марта были выпущен «Development Edition», позволяющий разработчикам прикоснуться к новинке. Microsoft HoloLens представляет из себя очки дополненной реальности, то есть устройство, позволяющее создавать виртуальные объекты в реальном мире. В отличие от Oculus, CardBoard или Gear VR, HoloLens — полноценный портативный компьютер, позволяющий работать без проводов или смартфона. Выигрышным преимуществом также можно назвать высокое качество картинки, которое достигается благодаря наличию 24-х ядерного графического процессора HPU (Holographic Processor Unit), разработанного специально по заказу Microsoft. Те счастливчики, которые уже успели прикоснуться к этому чуду техники, уверенно заявляют, что за этим будущее.</p><p>Мы начинаем цикл статей, в которых объясним начинающим разработчикам некоторые тонкости разработки под HoloLens на примере простого приложения.</p><h3>Приложения для Microsoft HoloLens</h3><p>HoloLens работает на ОС Windows 10, а это значит, что на устройстве есть поддержка Универсальной платформы Windows (UWP). UWP определяет жизненный цикл приложения: развёртывание, запуск, активация, остановка, возобновление, закрытие и удаление. Всё эти процессы происходит в специальной «оболочке», называемой «смешанная реальность». Для запуска приложения его необходимо выбрать в стартовом меню и разместить в окружающем пространстве. Приложение может быть представлено в двух видах: двумерном и голографическом (далее по тексту — 2D и Holographic соответственно). В первом случае пользователь имеет дело с окнами фиксированного размера, во втором — объемными голограммами. При этом в приложении можно добавить поддержку обоих видов, чтобы пользователь мог переключаться между ними в реальном времени. Например, это может понадобиться, когда пользователь должен ввести данные с клавиатуры.</p><h3>Инструменты</h3><p>Перед тем, как приступить к разработке, необходимо установить соответствующие инструменты. Нам потребуется компьютер соответствующей конфигурации:</p><ul><li>64-битный процессор CPU с 4-мя ядрами (или несколько процессоров с общим количеством 4 ядер);</li><li>8 Гб оперативной памяти или более;</li><li>поддержка в BIOS следующих функций:Hardware-assisted virtualization;Second Level Address Translation;Hardware-based Data Execution Prevention;</li><li>GPU (эмулятор может работать с неподдерживаемым GPU, но значительно медленнее);</li><li>DirectX 11.0 или более поздней версии;</li><li>WDDM 1.2 или более поздней версии драйвера.</li></ul><p>Отдельно следует рассказать про ОС. Вам понадобится 64-битная версия Windows 7, 8, 8.1 или 10. Лучше всего подходит Windows 10, так как не все инструменты SDK поддерживаются на старых версиях. Если у вас нет доступа к устройству, тестировать приложение придётся на эмуляторе, который работает только на ОС Windows 10 с поддержкой Hyper-V, то есть Professional или Enterprise. Если есть устройство, то подойдет и Home Edition.</p><p>Для разработки приложений необходимо установить следующие инструменты:</p><ul><li>Visual Studio 2015 с Update Подойдёт любое издание, даже Community. Не забудьте вместе с VS установить Windows 10 SDK и Tools 1.4.</li><li>Эмулятор HoloLens (см. выше).</li><li>Unity 3D4.0f3 (последняя актуальная версия на момент написания статьи), специальная сборка Unity с поддержкой HoloLens.</li></ul><p>Всё необходимое можно скачать по <a href="https://developer.microsoft.com/en-us/windows/holographic/install_the_tools">ссылке</a>.</p><p>Использование Unity 3D необязательно. Для 2D приложений хватит связки XAML + C#/C++, а Holographic приложение можно разрабатывать с помощью DirectX 11. В последнем случае, всю графику придётся прописывать кодом, что несколько усложняет процесс разработки, поэтому использование движка Unity всё же рекомендуется.</p><p>Теперь мы готовы к тому, чтобы <a href="https://tproger.ru/articles/hololens-dev-2/">создать</a> наше первое приложение.</p><p>Выражаем благодарность Тимуру Ахметову, разработчику из компании <a href="https://web.archive.org/web/20170210023857/http://www.ru.holo.group/">HoloGroup</a> и департаменту стратегических технологий Microsoft за предоставленный материал.</p><p>Для справки: HoloGroup является одним из первых разработчиков для HoloLens в России и 1 сентября 2016 года выпустила первое русскоязычное приложение HoloStudy.</p>]]></content:encoded>
    </item>
  </channel>
</rss>