VR: Старые игры на новый лад

481989cc9f9646b7b47be19dd08842ce.jpg

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

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


Итак. Купив шлем (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 — на которой все работает просто замечательно!
55be881c8a2f48a082e2c807239ea201.jpg

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

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

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

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

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

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

© Geektimes