Джоанна Доу
май 2015.
15345

Почему от очков виртуальной реальности кружится голова и тошнит?

Ответить
Ответить
Комментировать
0
Подписаться
4
2 ответа
Поделиться

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

tl;dr: чтобы в VR-шлеме/VR-очках было комфортно играть и не тошнило, вся система (шлем и компьютер) должны быть очень качественными и, в частности, выдавать картинку со стабильной частотой не менее 90 fps и лагом от поворота головы до отображения новой картинки перед глазами не более 20 миллисекунд; а программисты игры должны были написать её так, чтобы учитывать, что она будет играться в виртуальной реальности.

Подробнее:

Одна из главных проблем, которые стоят сейчас перед основными разработчиками «железа» в этой области (а это Oculus VR, HTC, Samsung и Sony) — это обеспечение immersion, эффекта «погружения» в виртуальный мир, когда мозг, сознательной частью понимая нереалистичность его (что это всего лишь игра, и, стоит снять шлем — ты вернёшься в реальный мир), на бессознательном уровне принимает правдивость виртуального окружения.

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

С одной стороны, мозг может воспринять такую несогласованность между органами чувств как нарушение функционирования организма, и попытаться решить проблему немедленно. «Вестибулярный аппарат говорит, что я стаю ровно, а картинка шатается; наверное, я отравился — срочно надо исторгнуть из организма яд!» — и человека тошнит.

С другой стороны, согласно многочисленным экспериментам, мозг человека — это чрезвычайно хорошо адаптирующаяся к реальности штука (вплоть до того, если надеть на человека очки, переворачивающие картинку сверху вниз, через некоторое время он научится спокойно жить так!), и через какое-то время он привыкнет к несогласованности картинки и ощущений, научится как-то компенсировать ошибку между ними (если она более-менее стабильна)… и тогда проблема возникнет аккурат на обратном пути, когда человек снимет VR-очки и опять окажется в реальном мире! Где перед мозгом, уже привыкшим к одному искажению, опять встанет задача адаптироваться к миру…

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

* Картинка, которую выдаёт шлем, должна быть подробной и детальной (впрочем, это почти самый малозначащий фактор, как бы ни казалось обратное после гонки за мегапиксели в компьютерных играх; и тем не менее, FullHD-картинка на экране монитора, стоящего на вытянутой руке, ещё приемлема, а вот, если её растянуть на всю область видимости, будет уже казаться недостаточно подробной).

* Оптика в очках, переводящая картинку с плоской матрицы на, скорее, сферическую область видимости зрачка, должна быть качественной — иначе, увидев искажения, организм опять может посчитать, что что-то не в порядке. И при этом она должна быть достаточно универсальна, чтобы приемлемо работать со значительно различающимися глазами миллионов пользователей (самый простой пример — расстояние между зрачками может варьироваться от 52 до 78 миллиметров)!

* Область видимости, Field of View, должна быть большой и покрывать как можно бо́льшую область зрения. Казалось бы, если ты просто будешь видеть «меньше картинки» – в восприятии ничего принципиально не изменится, вроде бы это необязательная характеристика… но нет, были интересные медицинские исследования, которые продемонстрировали, что, если человеку закрыть часть области видимости, то у него ухудшаются навыки ориентации в пространстве!

* Сенсоры, которые учитывают поворот и перемещение головы, должны быть очень точными (и быстрыми, но это отдельная тема) — иначе после перемещения головы мозг, ожидающий увидеть картинку с одной точки зрения, увидит её с другой и очень «удивится».

* Матрицы, на которые выводится картинка, должны быть тоже очень быстрыми, с минимальным послесвечением. Текущий технический минимум — они должны обеспечивать частоту перерисовки хотя бы 90 Hz, причём перерисовывать весь экран одновременно (что умеют делать не все современные матрицы). «Разрывы» в перерисовке, вроде тех, которые вызывает выключенный VSync, в компьютерных играх на мониторе разве что нервируют, при игре же в VR-шлеме — опять вызовут «чувство непривычности» у организма.

* Производительность компьютера. Как я уже сказал, картинка должна быть достаточно подробной (а если даже ориентироваться на FullHD – то нужно не забывать, что теперь картинку надо отрисовать не для одного экрана, а для двух разных!); но на предыдущем шаге я упомянул про 90 Hz! Многие ли современные компьютеры смогут выдавать картинку в «удвоенном FullHD» со стабильными 90 fps?

* … и самый главный, на самом деле, фактор. Лаг. Задержка от того момента, как ты переместил голову; через работу сенсора, понявшего, как именно ты её переместил; через передачу данных от сенсора процессору и видеокарте; через расчёт изображения с нового положения головы; через передачу новой картинки в шлем; через все возможные промежуточные буферизации; через задержку матрицы на очках;… и до момента, когда ты увидишь картинку с нового положения головы в очках. А теперь плохие новости: вся задержка на всём этом пути, movement-to-photon, должна уложиться не больше чем в 20 миллисекунд! Это фантастически сложная задача, в которой учитывать надо буквально всё, все аппаратные и программные аспекты.

… и это я рассказал только про проблемы в железе, которые обеспечивают разницу между «в этих VR-очках совсем ощущаешь себя в мире Skyrim» и «меня тошнит…»; зато теперь, когда читаешь требования к компьютеру от шлема Oculus Rift (например, «видеокарта GeForce 970 и выше»), не должно возникнуть ни вопроса, «а почему так много», ни мысли «ну да ладно, я куплю шлем, а пока посижу со слабенькой видюхой, подумаешь, fps будет поменьше» — нет, дело тут не в высоких fps, а в том, вызовет ли шлем, подключенный к слабой системе, чувство immersion-а или морскую болезнь.

Но проблема, на самом деле, стоит не только перед разработчиками железа, но и перед разработчиками игр и VR-миров.

Во-первых, им придётся отучиться делать игры с невероятно качественной фотореалистичной картинкой, но тормозящие на нынешнем железе (Far Cry, хех?) Сказано «90 fps» — значит, должно быть 90 fps. Важный подпункт: 90 fps должны быть стабильными, а не так, что «90 fps внутри комнаты, а вышел во двор — и сразу просело до 20 fps».

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

А в-третьих, им придётся, возможно, полностью перепроектировать геймплей и привычные эффекты нужд для виртуальной реальности. Или отказаться от идеи запускать игру в VR вообще.

Почему же перепроектировать? А всё потому же — чтобы картинка в VR не противоречила ощущениям от других органов чувств.

Самый главный фактор: организм критично относится к отсутствию согласованности между (любыми) ускорениями, которые видит зрение, и ускорениями, которые ощущает вестибулярный аппарат. Это одна из причин, из-за которых людей особенно сильно укачивает в транспорте, если они не смотрят за окно. Особенно — ускорениями, инициированными не пользователем, а внешними причинами.

Представьте себе какой-нибудь кинематографический шутер, в духе Call of Duty. Что там делают для пущей зрелищности? Взрыв — и экран шатается, тебя сбивает с ног, земля приближается к лицу, потом тебя поднимают за руку… в общем, ровно всё то, что обязано отсутствовать в VR-играх! Никаких «шатающихся экранов», если при этом не шатается голова. Никаких «ты падаешь, и земля приближается», если реально ты сидишь при этом за компьютером, а твоя голова находится на одном месте. Да что там, никакого даже «когда ты бежишь вперёд, твоя голова ритмично поднимается и опускается».

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

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

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

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

В результате такого вот сбоя и нестыковки в показаниях разных систем организма появляется тошнота и головокружение.

Интересное наблюдение: даже если человека нещадно укачивает в машине, он, скорее всего, может спокойно управлять автомобилем, не испытывая дискомфорта. Грубо говоря, в этом случае мозг "знает", что человек сам инициирует всю эту "карусель", управляя машиной, и попросту игнорирует нестыковки. А может, просто потому, что человек за рулём банально занят.

Ответить