В этой короткой статье я изложу небольшую идею в области использования шлема виртуальной реальности.
Для меня такой подход стал своеобразным «открытием», хотя принцип прост и логичен, так что вероятно давно известен (дайте знать если так, я скрою публикацию).
Предыстория
Итак. Купив шлем (oculus rift cv1), я ожидаемо столкнулся с некоторым дефицитом качественного контента для него. Хотя в магазине присутствует множество игр и видео — но, как всегда есть «но»:
- Все приложения платные, и не сказать чтобы дешевые. Ставить все подряд и изучать — жалко времени и денег.
- Абсолютно все на английском.
- Я не геймер, и покупал шлем в большей степени для разработки, и экспериментов. За всю жизнь, игры которые мне действительно понравились можно пересчитать по пальцам одной руки. Встретить в магазине что-то такого уровня шансов мало.
- Большинство разработчиков стремятся запихнуть игрока в «полное 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)
MaxALebedev
09.08.2016 08:42Уф, масштаб у ваших стереопар великоват, пришлось отодвинуться от стола, чтобы увидеть все.
Но картинка потрясающая!
BlackFoks
09.08.2016 10:18Хм, я правильно понимаю, что если есть телевизор с 3D, то его можно подключить к компу и играть в игры в 3D-очках?
SHVV
09.08.2016 10:38+2Можно. Но, например, у меня LG с 3D и лаг весьма удручает. В динамические игры играть крайне тяжело. Да и эффект погружения будет куда меньше, чем со шлемом.
NosFire
09.08.2016 10:49+1Да, телевизоры с поддержкой 3д можно играть через TriDef 3D. Однако будут очень быстро уставать глаза и не всегда красиво рендерится изображение, примеру outlast на 6 версии работал через раз и были баги.
Kasatich
09.08.2016 13:09+1Я так еще лет 10 назад делал, только выводил картинку на обычный телек и 3д было анаглифным. Был правда список игр, которые поддерживают такой режим отображения, но на проверку отлично сыграл и в тотал вар и в систем шок 2. Во второй было довольно волнительно.
MiB_K
09.08.2016 10:43Подумываю о покупке шлема, только еще не определился с фирмой. Но вопрос хочу задать в другом направлении: скажите, качество картинки в шлеме сопоставимо с качеством изображения на мониторе в разрешении Full HD? Или, все-таки, качество падает и видны отдельные пиксели?
GuessWho
09.08.2016 13:10Пиксели видно, они не то чтобы «отдельные» (эффекта «москитной сетки» не заметно), но мелкий текст читать не получится. После настройки Rift, показывают три короткие демки секунд по 30 из Oculus Dreamdeck, для затравки. На демке с динозавром про низкое разрешение я забыл совсем :)
MiB_K
09.08.2016 13:16в местном Ашане поставили аттракцион: Окулюс + руль и гонка Assetto Corsa. Судя по всему, окулюс там в лучшем случае ДК2 и наблюдалась проблема низкого разрешения: на расстоянии в примерно 100 метров машину соперника уже не видно. И это я не говорю об отражениях в зеркалах заднего вида.
GuessWho
09.08.2016 13:22Я до CV1 ничем не пользовался, так что сравнить не могу к сожалению :( Если железо позволяет, то можно в утилите для разработчиков включить supersampling: картинка рендрится в разрешении больше физического разрешения дисплеев и, говорят, эффект от этого очень неплохой. У меня GTX970, думаю, ее на такое не хватит
GuessWho
09.08.2016 13:18+1По поводу выбора: если собираетесь покупать в ближайшие три-четыре месяца (до выхода Oculus Touch) и можете себе позволить купить устройство подороже, берите Vive. Он не такой удобный, как Rift, выглядит пострашнее, немного сложнее в установке и использовании, но контроллеры — это просто бомба
MiB_K
09.08.2016 13:27Я как раз собирался дождаться выхода Touch и посмотреть, как рынок отреагирует на релиз от Sony :) Глядишь — и цены изменятся
SkyHunter
10.08.2016 15:32А есть ещё вот такая штука — и контроллеры не нужны.
GuessWho
12.08.2016 14:44+1Такая штука у меня есть, осталось найти что-нибудь, что поддерживало бы работу с ней :) Ну, за исключением демок.
Даже более того, существует приложение, позволяющее эмулировать контроллеры Vive с помощью Leap Motion и рук, но это такая боль в использовании, что я даже не пытался настраиватьMiB_K
12.08.2016 19:18+1Вы меня сейчас порадовали, а то я некоторое время даже немножко жалел, что не купил
Firz
09.08.2016 11:11«Кстати, нужно отдать должно Blizzard. В игре по сути не рассчитанной на 3D-мониторы и тем более очки — потрясающий объем буквально во всем! Особенно почему-то завораживают трехмерные заставки. Ведь там даже камера неподвижна. По сути — что мешало записать картинку в ролик и крутить по кругу. Но вместо этого — целые сцены смоделены, с перспективой, множеством планов, эффектами…»
Так в них, как минимум, Ваш персонаж стоит, в его одежде, оружии.
rPman
09.08.2016 11:24В трехмерных играх, при попытки играть в шлеме или с стерео-очками обычно большое неудобство создают HUD, части интерфейса управления и отображения информации типа жизни, маны, кнопки скилов/оружия и т.п.
Эта часть экрана либо вообще не поддается стерео, так как не является трехмерным объектом либо еще хуже находится на значительном 'расстоянии' от игрового поля, чаще близко к игроку либо наоборот очень далеко, т.е. приходится глаза перемещать в стороны/в кучу при переключении между этой информацией и игровым миром. В купе отсутствия изменения фокусного расстояния до объектов создает сильное напряжение на глаза.saboteur_kiev
09.08.2016 12:21С другой стороны — хорошая тренировка тем, кто постоянно смотрит в монитор, фокусируясь на одном и том же расстоянии ;) Правда играть так долго не стоит
juray
09.08.2016 12:58Ну так в шлеме фокусировка тоже будет на одном расстоянии. Только конвергенция глазных яблок меняться будет. Но хотя бы глазодвигательные мышцы поработают, да. Хотя они и в случае большого монитора работают — взгляд-то по экрану перемещается.
Кстати, у многих людей проблема восприятия стереоизображения связана именно с тем, что аккомодация (фокусировка хрусталика) и конвергенция обычно связаны. Некоторые вообще не могут «развязать» эти движения, а у тех кто может, развивается специфическое утомление зрения.
juray
09.08.2016 13:14+1Ну, HUD еще полбеды, на него пересвестись можно — примерно как на автомобиле на приборы (про отсутствие перефокусировки разговор отдельный).
А вот как-то я запускал «мир танков» под iz3d — так там маркеры над танками выводятся в плоскости HUD (видимо, просто накладываются отдельным слоем). Вот это реально неудобно.
Еще крестовина прицела в шутерах перестает отображать линию прицела — в стереорежиме через центр экрана проходят уже две линии (и кое-где реализованное «прицеливание» через мушку или оптику не спасает, поскольку также является наложением плоской текстуры).
Впрочем, это как раз реалистично — в реале целиться тоже приходится одним глазом, так что и тут можно зажмуриваться или приспособиться игнорировать изображение от неосновного глаза. Вопрос только, какое из двух изображений всё-таки отображает линию стрельбы.
При этом нет проблем с лазерным целеуказателем — луч-то является линией в трёх измерениях.
Anasazi
09.08.2016 13:03Скажите, а как с качеством текста при использовании Virtual Desktop? Например, кодить получится?
Quiensabe
09.08.2016 20:43+1Тут все зависит от размера виртуального экрана. Если его увеличить, то я, например, со своим далеко не идеальным зрением могу кодить спокойно. Сейчас например набираю это сообщение на виртуальном экране с угловым размером 120 градусов. Масштаб текста в браузере выставлен на 100% все отлично видео.
Другое дело что при таком размере экран не помещается целиком в область зрения, и приходится если что крутить головой. Можно экран уменьшить, но тогда качество упадет, да и эффект будет примерно тот же как если обычный монитор на стол поставить…
В общем, для кодинга — сомнительно. А вот 3D редакторы бы запустить в стерео-режиме… Но увы, пока способа я не нашел.
DarkMax
09.08.2016 14:52У вас кадры для левого и правого глаза перепутаны, что хорошо заметно на картинке с луной, где она вылазит на передний план.
Upd: в смысле перепутаны для просмотра их скрещиванием глаз.Quiensabe
09.08.2016 20:58Да, вы правы. для шлема картинка правильная, а для просмотра скрещиванием глаз — надо было перевернуть.
Картинки в статье обновил. Вот еще правильный пример:
GennPen
> По сути — что мешало записать картинку в ролик и крутить по кругу. Но вместо этого — целые сцены смоделены, с перспективой, множеством планов, эффектами…
У Близзов во всех (современных) играх на стартовых экранах — 3D сцены. И им действительно стоит отдать должное, это выглядит гораздо качественнее, чем ролик с пререндером.
gerahmurov
А где последнее время встречаются пререндеры для сложных сцен? Уже давно в главном меню делают 3д сцены, легко заметить, если крутить настройки графики в игре, главное меню меняется сильно.