Как сделать QR код для мобильного шлема VR самому | VR419.ru

Как сделать QR код для мобильного шлема VR самому

Введение

На форумах часто просят:

Выложите код для такого-то телефона

Выложите код для такого-то шлема

Или, что еще круче – сделайте мне такой-то код!

Для начала я объясню, почему это невозможно.

Почему лучше тот код, который сделал ты сам

Что такое qr-код для шлема? Это, по сути набор параметров и характеристик, которые будут регулировать то, как вы видите изображение, создаваемое приложениями на вашем телефоне. К этим параметрам относятся:

  • Расстояние до телефона – то, на каком расстояние от линз расположен экран телефона в шлеме
  • Межзрачковое расстояние – расстояние между линзами в шлеме, по сути – вы всегда подстраиваете его под свои глаза? А вы знаете, какое оно у вас? Вот и мы не знаем)
  • Кривизна линз
  • Смещение линз относительно центра телефона – хотя обычно расчет идет от центра экрана
  • Угол обзора в линзах – ну это уже специфика, которую пишут разработчики на своих шлемах, и вполне могут врать.

Что делает обычный пользователь? Сканирует код с инструкции шлема, вставляет шлем в телефон – и всё ок! как правило. Но бывает и не так.

Перепробовал все коды на форуме – а картинка всё равно двоится!

И вот тогда он пишет- подберите мне код для такого-то телефона! А как ты подберешь ему код, если связка «телефон-шлем» только у него на руках? А при подборе кода нужно смотреть внутрь шлема… то есть – для подбора надо такая же связка «шлем-телефон», но даже если и она есть – то межзрачковое расстояние может отличаться.

Чтобы подобрать qr-код, нужно иметь на руках такую же связку «шлем-телефон» + такое же межзрачковое расстояние, как у вас.

А что за qr-код тогда идет со шлемом?

Разработчики могут учесть расстояние от линзы до экрана телефона, кривизну линз, и угол обзора. Но – они не могут учесть межзрачковое расстояние – а это – главная причина двоения картинки. Они ставят среднее значение, и если ваше значение сильно отличается, то вполне может начать двоить.

Этот эффект можно легко получить в любом шлеме, если неправильно выставить это расстояние, обычно – в крайнее положение. У вас сразу начнется и двоение, и тошнота и вот это всё…

Они так же не знают, телефон какой диагонали вы туда засунете. Они ставят средние параметры, а значит – вы можете получить либо слишком обрезанное изображение — и даже не будете знать об этом, либо, наоборот, картинку, где будет видно края экрана…в любом случае – умение делать свой qr-код откроет вам возможность управлять изображением так, как вы хотите!

Сила QR-кода

Вот вам простой пример (Подробнее — на 4пда). Суть в том, что мне нужно было сделать картинку в плеере крупнее, чтоб экран стал ближе ко мне. Так как штатными средствами плеера сделать это нельзя, я настроил отдельный код для просмотра фильмов.

Экран где-то в глубине комнаты

А теперь он почти на всю видимую область

Как видите, экран стал значительно ближе, а делов то – поменять одну цифру в параметрах кода! Вы тоже научитесь делать так же, если дочитаете статью до конца.

Но надо так же понимать, что если у вас экран меньше, чем окошки, в которые видно телефон – то кодом края экрана никак не убрать! Он может повлиять только на то, что выводиться на телефоне, раздувать сам телефон физически он не умеет…к сожалению.

UP: Кстати, у многих этот плеер вообще меняет настройки для всех приложений карборда. 

Для этого лезем в меню плеера:  настойки — headset setup и вот там внизу будут всякие интересные ползунки. Местами они напоминают то, что вы увидете далее в гугловом генераторе.

Это и зло — ибо при изменении параметров в плеере — меняются все настройки. И добро — ибо можно менять настройки приложений, не залезая в дебри qr-кода, но — правя их прямо в VR TV. Не меняются настойки, как правило, на седьмом андроиде, но разраб обещал пофиксить проблему.

Ссылки на другие инструкции

Я не первый, кто про это пишет. Вот вам еще ссылка на подобные инструкции, но мне почему-то захотелось сделать свою и объяснить, насколько важно разобраться с qr кодом для очков виртуальной реальности. Я еще потом обязательно видео запишу)

Инструкция раз, инструкция два. По ним можете сходить, если тут что-то будет не понятно)

Кстати, если вам надо изменить параметры в чужом коде, то вот вам инструкция по расшифровке на 4пда.

Подготовка

Наконец-то переходим к процессу настройки. Ну, почти)

Для начала вам надо открыть на ПК вот этот генератор qr-кодов, это – сервис Гугла для Карборда. Но все коды делаются тут.

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

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

Приступим.

Генератор открыли? Ок! Листаем страницу вниз, пока не увидим код вот такого типа:

Не сканьте эту картинку, это мой тестовый код!

Не сканьте эту картинку, это мой тестовый код! Сканьте то, что в вашем генераторе!

Сканим этот код своим телефоном – у вас должна быть какая-нибудь читалка для qr-кодов. Если ее нет- можете скачать с маркета, что вам больше по душе.

Не сканьте мою картинку – Гугл создает вам уникальную ссылку, а код – это просто быстрый способ передать ссылку на телефон. Полученную ссылку нужно открыть в полноэкранном режиме, например, в Хроме.

При первом запуске на телефоне страница спросит у вас PPI – плотность пикселей на дюйм. Проще всего посмотреть это в документации к телефону, однако – лучше проверить самому, потому что, во-первых, где-то может быть ошибка, а во-вторых – прошивка телефона так же вполне может менять это значение. Так что устанавливаем Аиду и с ее помощью смотрим плотность пикселей (dpi).

Далее, Вы увидите на телефоне тестовую комнату, разделенную на две части, что-то вот такое:

Тестовая комната для настройки кода на телефоне. Кстати, это пример идеальной настройки – когда окошки как раз не достают до краев телефона, на при этом весь экран задействован. Связка – мой редминот 2 + OYO VR Y4

Теперь важно понять: когда вы будете изменять значения в генераторе на компьютере – изменения будут автоматически происходить на экране телефона!

Возвращаемся в генератор на ПК. Начинаем заполнять поля.

  • Your Company и Your Name – нужны ровно для того, чтоб указать, кто автор кода и для какого устройства он нужен. Вы можете вписать там что угодно, но это будет отображаться потом при скане кода. Например, у меня имя – Pavel419, а компания – OYO VR Y4. В случае с кодом для фильмов, про который я писал выше – я еще делаю приписку Zoom, чтоб сразу видеть, на какой код настроен мой телефон в данный момент. Если у вас будет несколько кодов, вы можете так же их помечать.
  • Primary button type – способ тапа по экрану телефона. Именно от этого параметра зависит, будет ли у вас работать в шлеме механическая или магнитная кнопка или всё управление будет не удержании взгляда. Доступные параметры:
    • Touch – если вы можете коснуться экрана, не вынимая шлем, например, просунуть нос в прорезь, как в карборде
    • Indirect Touch – если у вас есть механическая кнопка, которая жмет на экран. Например, как в Бобо Вр.
    • Magnet – если у вас есть магнитная кнопка, как в продвинутом карборде.
    • None – если вы никак не можете воздействовать на экран
  • Screen to lens distance (mm) – расстояние от линз до экрана. Вы можете ввести то, что намерили. Можете оставить так. По сути – этот параметр отвечает за увеличение картинки. И, если вы хотите сделать изображение ближе или дальше (помните мой пример?), то менять надо именно его.

И давайте сразу проверим, как это работает.

Поставьте телефон рядом с экраном ПК и покрутите этот параметр на ПК. Установите курсов в поле «Screen to lens distance».  Чтобы плавно его менять, можно нажать стрелки вверх и вниз. Жмите вверх, жмите вниз, не бойтесь, еще больше! И – смотрите на экран телефона! Вы увидите, что когда параметр меняется, размер тестовой комнаты либо увеличивается – кубики становятся больше, либо – уменьшается и появляются красные края, вот так например

Пример красных кравев

Пример красных кравев. И вот тут хорошо видно, насколько много пространства теряется зря и не видно в шлеме…

То есть – меняем цифры на компьютере, а картинка меняется на телефоне. Наигрались? Ок, идем дальше. Верните этот параметр на место. Посмотрим, что еще у нас осталось.

  • Inter-lens distance (mm) – межзрачковое расстояние. Вот из-за этого параметра обычно возникает двоение. Поставьте сюда то, что вы намерили, или оставьте, как есть.
  • Screen vertical alignment – выравнивание относительно экрана. Если у вас стандартный шлем, то ставьте Center.
  • Distortion coefficients – кривизна линз. Не надо ходить в оптику и выкручивать линзы из шлема!!! Оставьте эти поля пока что нулями.

Есть еще расширенные настройки, типа угла обзора, но они нам не нужны. Итак – нам нужно настроить всего 4 цифры. Это ведь не сложно?

Как подобрать qr-код для вр-очков самому

Если вы пролистали страницу сразу до этого места – то листайте назад и читайте хотя бы с «Подготовки». Для всех остальных – продолжаем работу.

Всего 4 цифры. А теперь сам принцип подбора кода.

На ПК открыт генератор, на телефоне запущена тестовая комната. Чтобы изменить значения в генераторе – жмем стрелки вверх и вниз. Чтобы перейти к новому параметру, жмем Таб. Попробуйте, потабайте прямо с Сompany name, курсор в поле – и таб, таб, таб. Получилось? Ок. теперь самое интересное.

Ставим курсор в Screen to lens distance, вставляем телефон в шлем и понеслась!

  • Для начала регулируем увеличение. Мы смотрим в шлем, но меняем параметры на компе, помните? Если вы видите красные края, то жмем стрелку вниз, как бы тем самым приближая экран. Края начнут отступать… если краев не видно – попробуйте стрелку вверх, до тех пор, пока они не начнут появляться. Так вы сможете задействовать весь экран своего телефона. В итоге оставьте Screen to lens distance таким, чтоб и красного не было, но при ближайшем изменении оно появлялось. Нащупали грань? Таб!
  • Вас перекинет на Inter-lens distance (mm). Снова жмите стрелки вверх и вниз. Вы заметите, что экраны в шлеме то сходятся, то расходятся… двоятся по сути. Но вы же выставили у себя в шлеме комфортное расстояние между линзами? Вот теперь вам надо нащупать стрелками положение, при котором глазам комфортно и ничего не двоится. В этом вам помогут две красные тестовые точки в центрах экранов. Ваша задача – сделать так, чтобы вместо двух точек вы видели одну.  Нашли? Ок.
  • Еще одна важная вещь. У вас не должны быть перепутаны глаза. За это так же отвечает этот параметр — Inter-lens distance. То есть, вы левым глазом должны видеть больше слева, а правым – справа, как в жизни, а не наоборот! Приведу пример из своей демки. На этом скрине видно, что левый глаз видит с правой стороны больше, чем правый. При этом правый глаз уже видит дерево слева, а вот левый – еще нет. А должно быть наоборот!

    Вот вам перепутанные глаза...

    Вот вам перепутанные глаза…

Пол дела сделано. Снимаем шлем, выбираем Screen vertical alignment – центр. Ставим курсов в k1 – и снова одеваем шлем. Как вы догадались – снова крутим стрелки. Но – эти параметры отвечают за искажения в линзах. Поиграйтесь с ними – все линии в шлеме должны быть ровными! Не только в центре, но и по краям! Делайте больше и меньше и вы увидите, что картинка то гнется, то выравнивается. Всё должно быть ровным!

Второй параметр настраивается так же, только там выгнутость будет в другую сторону…

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

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

После того, как всё сделано, жмем Generate Profile – синяя кнопка в самом низу. Вас перекинет на страницу, где в правом углу будет ваш долгожданный qr-код! Сохраняем его и теперь можем настроить телефон на работу с ним.

Видео-инструкция, точнее – видео-приложение

Небольшое видео-пояснение к тому, что я тут написал, чтобы вы представляли, как код меняется под воздействием ваших действий на ПК:

Как настроить телефон для работы с нужным qr-кодом

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

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

Что это всё нам дает?

Теперь, когда вы знаете кунг-фу, то можете:

  • Легко убрать двоение, если оно есть
  • Сами настроить код для любого телефона и шлема
  • Настроить разные коды всем членам семьи, если у них сильно отличается межзрачковое расстояние от вашего
  • Управлять выводом картинки на телефоне (мой пример с плеером). Во многих играх бывает, что жизни и патроны не влезают в экран. Теперь вы знаете что делать – менять первый параметр. Или наоборот, вам кажется, что картинка в вашем шлеме слишком мелкая? Снова меняем первый параметр, достигая нужного увеличения
  • Вы можете даже настроить отдельные коды для разных приложений, если это нужно. Отдельные коды для игр или фильмов и так далее.

Но не всё так гладко.

Если что-то пошло не так..

А так бывает.

Например, пока я пишу эту статью – у меня генератор вообще не пашет, то есть –ссылку то он выдает, а вот в телефоне после скана – белый экран. Вывод – Гугл косячит.

Бывает еще проблема, когда вроде код сделал, всё в тестовой комнате красиво, но вот когда сканишь в карборде – то там два маленьких окошка, вот таких:

Мелкие окошки в приложении Гугл Кардборд

Мелкие окошки в приложении Гугл Кардборд

Обычно, такое наблюдается на 2к экранах на некоторых телефонах, например, на Lenovo K920 VIBE Z2 Pro. Причем, в случае подбора через генератор там выходят какие-то совсем космические цифры, там 150-200 мм, что естественно, не может быть правдой. Вот почему я в начале статьи писал, что мерить параметры бесполезно, вы всё равно их потом сами подберете опытным путем.

Кратко, что надо сделать — если у вас два этих мелких окошка? 

Если у вас два мелких окошка — дело в dpi. Ставите какую-нить аиду64 или другой тестировщик на телефон,  и смотрите, что она напишет. Она напишет вам бред, например, не 401 dpi (как должно бы быть) а 160… Вот эти 160 вы вводите в первый раз при настройке кода на телефоне, только перед этим почистите кеш в телефоне, чтобы генератор снова запросил ввести dpi.

Самое интересное, что в остальных приложениях, кроме карборда, с картинкой всё ок. Что же делать? Забить на карборд, и пробовать что-то другое, благо приложений и прочего контента под наши шлемы уже море.