В этой короткой статье я изложу небольшую идею в области использования шлема виртуальной реальности.

Для меня такой подход стал своеобразным «открытием», хотя принцип прост и логичен, так что вероятно давно известен (дайте знать если так, я скрою публикацию).

Предыстория


Итак. Купив шлем (oculus rift cv1), я ожидаемо столкнулся с некоторым дефицитом качественного контента для него. Хотя в магазине присутствует множество игр и видео — но, как всегда есть «но»:

  1. Все приложения платные, и не сказать чтобы дешевые. Ставить все подряд и изучать — жалко времени и денег.
  2. Абсолютно все на английском.
  3. Я не геймер, и покупал шлем в большей степени для разработки, и экспериментов. За всю жизнь, игры которые мне действительно понравились можно пересчитать по пальцам одной руки. Встретить в магазине что-то такого уровня шансов мало.
  4. Большинство разработчиков стремятся запихнуть игрока в «полное 3D» (от первого лица), тогда как, куда интереснее, на мой взгляд, что-то вроде стратегий — не нужно куда-то бегать, и хорошо согласуется с перспективой. Игровые персонажи как-бы бегают по плоскости стола.

Размышляя о перечисленном вспомнил о часах проведенных за Warcraft 3. А вот если попробовать запустить в шлеме эту замечательную игру?.. О результате — под катом.

Идея


Под rift или vive можно использовать утилиту Virtual Desktop которая позволяет переместить экран компьютера в виртуальное пространство. Экран конечно останется плоским (можно изогнутым по дуге), но зато большой угол обзора.

С играми это приложение работает, проблем никаких не возникло. Так что тут и описывать нечего — все равно что играть на большом изогнутом мониторе (результат показан на первой картинке статьи).

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

К счастью есть выход. В настройках видеокарт AMD (для NVidia — наверное тоже, не знаю), есть возможность установить виртуальное сверхвысокое разрешение. Ставим. Выбираем его в настройках игры, и соответственно игра рендерит картинку больше чем FullHD (если сможет). На мониторе будем видеть уменьшенную картинку, но в шлеме — будет четко.

Все это хорошо, но эффекта «стратегии на столе» — все равно нет.

Вторая мысль. Ведь раньше были популярны драйверы позволяющие любую игру сделать трехмерной. Люди даже в анаглифе играли в шутеры какие-то… Беглое гугление показало два варианта: «Iz3d Driver» и «TriDef 3D». Первый у меня на win10 не установился, а вот второй — вполне.

В настройках TriDef 3D выбираем Side by side, а в Virtual Desktop — соответственно Half SBS, и… Работает!)

Увы, есть а ложка дегтя. Warcraft 3 с которого началась статья — так и не запустился. TriDef 3D — работает только с DirectX9-11, в warcraft написан на 8. Iz3d Driver у меня не запустился, так что с идеей понаблюдать за растущей деревней эльфов в очках, пришлось пока попрощаться.

Зато на компе нашлась Diablo3 — на которой все работает просто замечательно!



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

Кстати, нужно отдать должно Blizzard. В игре по сути не рассчитанной на 3D-мониторы и тем более очки — потрясающий объем буквально во всем! Особенно почему-то завораживают трехмерные заставки. Ведь там даже камера неподвижна. По сути — что мешало записать картинку в ролик и крутить по кругу. Но вместо этого — целые сцены смоделены, с перспективой, множеством планов, эффектами…



Ну и в заключение.

Не играми одними интересна VR.
И почему бы не попробовать запустить в этом режиме другие приложения? Представьте например скульптинг в Zbrush в шлеме?..

Увы, тут ждет большое разочарование. Программы запускаются, и даже панель viewport'a — двоится, все как надо. Но дело в том, что у приложений viewport — не развернут на весь экран. Каждый viewport — двоиться сам по себе, и конечно Virtual Desktop не может их правильно «сшить».

Решением является в настройках TriDef 3D выбрать не Side by side, а FPR (Line Interlaced) — тогда изображение для правого и левого глаза будет рендерится не в отдельных плоскостях, а по всей площади экрана, но в соответственно четных и нечетных строках.

Такую картинку легко разложить на два кадра и отправить в шлем.



Увы. Virtual Desktop не умеет работать с исходником в FPR.
Несмотря на обилие входных форматов, именно этот — не поддерживается.
Поделиться с друзьями
-->

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


  1. GennPen
    09.08.2016 07:43
    +2

    > По сути — что мешало записать картинку в ролик и крутить по кругу. Но вместо этого — целые сцены смоделены, с перспективой, множеством планов, эффектами…

    У Близзов во всех (современных) играх на стартовых экранах — 3D сцены. И им действительно стоит отдать должное, это выглядит гораздо качественнее, чем ролик с пререндером.


    1. gerahmurov
      09.08.2016 22:25

      А где последнее время встречаются пререндеры для сложных сцен? Уже давно в главном меню делают 3д сцены, легко заметить, если крутить настройки графики в игре, главное меню меняется сильно.


  1. MaxALebedev
    09.08.2016 08:42

    Уф, масштаб у ваших стереопар великоват, пришлось отодвинуться от стола, чтобы увидеть все.
    Но картинка потрясающая!


    1. GennPen
      09.08.2016 08:56

      Можно просто масштаб в браузере уменьшить.


      1. MaxALebedev
        09.08.2016 09:05

        И то верно


  1. BlackFoks
    09.08.2016 10:18

    Хм, я правильно понимаю, что если есть телевизор с 3D, то его можно подключить к компу и играть в игры в 3D-очках?


    1. SHVV
      09.08.2016 10:38
      +2

      Можно. Но, например, у меня LG с 3D и лаг весьма удручает. В динамические игры играть крайне тяжело. Да и эффект погружения будет куда меньше, чем со шлемом.


    1. NosFire
      09.08.2016 10:49
      +1

      Да, телевизоры с поддержкой 3д можно играть через TriDef 3D. Однако будут очень быстро уставать глаза и не всегда красиво рендерится изображение, примеру outlast на 6 версии работал через раз и были баги.


    1. Kasatich
      09.08.2016 13:09
      +1

      Я так еще лет 10 назад делал, только выводил картинку на обычный телек и 3д было анаглифным. Был правда список игр, которые поддерживают такой режим отображения, но на проверку отлично сыграл и в тотал вар и в систем шок 2. Во второй было довольно волнительно.


  1. MiB_K
    09.08.2016 10:43

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


    1. GuessWho
      09.08.2016 13:10

      Пиксели видно, они не то чтобы «отдельные» (эффекта «москитной сетки» не заметно), но мелкий текст читать не получится. После настройки Rift, показывают три короткие демки секунд по 30 из Oculus Dreamdeck, для затравки. На демке с динозавром про низкое разрешение я забыл совсем :)


      1. MiB_K
        09.08.2016 13:16

        в местном Ашане поставили аттракцион: Окулюс + руль и гонка Assetto Corsa. Судя по всему, окулюс там в лучшем случае ДК2 и наблюдалась проблема низкого разрешения: на расстоянии в примерно 100 метров машину соперника уже не видно. И это я не говорю об отражениях в зеркалах заднего вида.


        1. GuessWho
          09.08.2016 13:22

          Я до CV1 ничем не пользовался, так что сравнить не могу к сожалению :( Если железо позволяет, то можно в утилите для разработчиков включить supersampling: картинка рендрится в разрешении больше физического разрешения дисплеев и, говорят, эффект от этого очень неплохой. У меня GTX970, думаю, ее на такое не хватит


    1. GuessWho
      09.08.2016 13:18
      +1

      По поводу выбора: если собираетесь покупать в ближайшие три-четыре месяца (до выхода Oculus Touch) и можете себе позволить купить устройство подороже, берите Vive. Он не такой удобный, как Rift, выглядит пострашнее, немного сложнее в установке и использовании, но контроллеры — это просто бомба


      1. MiB_K
        09.08.2016 13:27

        Я как раз собирался дождаться выхода Touch и посмотреть, как рынок отреагирует на релиз от Sony :) Глядишь — и цены изменятся


      1. SkyHunter
        10.08.2016 15:32

        А есть ещё вот такая штука — и контроллеры не нужны.


        1. MiB_K
          10.08.2016 15:43
          +1

          Давно читал о ней и, вроде как, точность у нее далека от заявленной + задержки с трекингом до нескольких десятков мс


          1. SkyHunter
            18.08.2016 10:25

            Свежие новости от Intel. Но пока только прототип.


        1. GuessWho
          12.08.2016 14:44
          +1

          Такая штука у меня есть, осталось найти что-нибудь, что поддерживало бы работу с ней :) Ну, за исключением демок.

          Даже более того, существует приложение, позволяющее эмулировать контроллеры Vive с помощью Leap Motion и рук, но это такая боль в использовании, что я даже не пытался настраивать


          1. MiB_K
            12.08.2016 19:18
            +1

            Вы меня сейчас порадовали, а то я некоторое время даже немножко жалел, что не купил


  1. Firz
    09.08.2016 11:11

    «Кстати, нужно отдать должно Blizzard. В игре по сути не рассчитанной на 3D-мониторы и тем более очки — потрясающий объем буквально во всем! Особенно почему-то завораживают трехмерные заставки. Ведь там даже камера неподвижна. По сути — что мешало записать картинку в ролик и крутить по кругу. Но вместо этого — целые сцены смоделены, с перспективой, множеством планов, эффектами…»

    Так в них, как минимум, Ваш персонаж стоит, в его одежде, оружии.


  1. rPman
    09.08.2016 11:24

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

    Эта часть экрана либо вообще не поддается стерео, так как не является трехмерным объектом либо еще хуже находится на значительном 'расстоянии' от игрового поля, чаще близко к игроку либо наоборот очень далеко, т.е. приходится глаза перемещать в стороны/в кучу при переключении между этой информацией и игровым миром. В купе отсутствия изменения фокусного расстояния до объектов создает сильное напряжение на глаза.


    1. saboteur_kiev
      09.08.2016 12:21

      С другой стороны — хорошая тренировка тем, кто постоянно смотрит в монитор, фокусируясь на одном и том же расстоянии ;) Правда играть так долго не стоит


      1. juray
        09.08.2016 12:58

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

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


    1. juray
      09.08.2016 13:14
      +1

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

      А вот как-то я запускал «мир танков» под iz3d — так там маркеры над танками выводятся в плоскости HUD (видимо, просто накладываются отдельным слоем). Вот это реально неудобно.

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


  1. Anasazi
    09.08.2016 13:03

    Скажите, а как с качеством текста при использовании Virtual Desktop? Например, кодить получится?


    1. GuessWho
      09.08.2016 13:12
      +1

      Увы, нет. Только если шрифт сделать лошадиного размера


    1. Quiensabe
      09.08.2016 20:43
      +1

      Тут все зависит от размера виртуального экрана. Если его увеличить, то я, например, со своим далеко не идеальным зрением могу кодить спокойно. Сейчас например набираю это сообщение на виртуальном экране с угловым размером 120 градусов. Масштаб текста в браузере выставлен на 100% все отлично видео.

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

      В общем, для кодинга — сомнительно. А вот 3D редакторы бы запустить в стерео-режиме… Но увы, пока способа я не нашел.


  1. DarkMax
    09.08.2016 14:52

    У вас кадры для левого и правого глаза перепутаны, что хорошо заметно на картинке с луной, где она вылазит на передний план.
    Upd: в смысле перепутаны для просмотра их скрещиванием глаз.


    1. Quiensabe
      09.08.2016 20:58

      Да, вы правы. для шлема картинка правильная, а для просмотра скрещиванием глаз — надо было перевернуть.

      Картинки в статье обновил. Вот еще правильный пример:


  1. betrachtung
    10.08.2016 05:51

    Интересно, есть ли что-либо подобное для Linux.


    1. saboteur_kiev
      10.08.2016 17:54

      Можно это попробовать
      https://www.youtube.com/watch?v=Uef17zOCDb8