AR/VR
Оптика и дисплеи
Цели урока
- Объяснить, почему VR-шлем требует линзы и чем pancake отличается от Френеля
- Вычислить PPD для любого шлема и объяснить, почему больше пикселей не всегда значит лучше
- Понять причины motion sickness и механику ATW/ASW
- Выбрать параметры дисплея для заданного сценария использования (игры, хирургия, военный симулятор)
Предварительные знания
Почему шлем за 3500 долларов (Apple Vision Pro) показывает изображение хуже, чем монитор за 200 долларов? Почему VR-игры выглядят проще, чем обычные? Почему AR-очки HoloLens не могут показать большого динозавра во всю комнату? Ответ - в физике оптики и жёстких ограничениях, которые инженеры каждый год пытаются преодолеть.
- **VR-кинотеатры:** IMAX VR использует pancake-линзы и high-PPD дисплеи, чтобы зритель «забыл» о шлеме и ощутил себя в гигантском кинозале
- **Военные тренажёры:** симуляторы F-35 используют шлемы с широким FoV (почти 180°) - пилоту нужно видеть обстановку периферийным зрением
- **Телемедицина:** хирурги управляют роботами через VR-интерфейсы, где каждая миллисекунда latency - риск для пациента
Линза Френеля: от маяков до VR-шлемов
В 1822 году французский физик Огюстен Жан Френель разработал тонкую ступенчатую линзу для маяков - она заменила массивные выпуклые линзы и позволила осветить горизонт на 20 морских миль. Принцип: разбить толстую линзу на тонкие концентрические кольца, сохраняя кривизну. 200 лет спустя тот же принцип лёг в основу первого поколения VR-шлемов. Oculus Rift CV1 (2016) использовал линзы Френеля с focal distance около 1.2 м. Первые pancake-линзы появились в продукте Huawei VR Glass (2019), а широкое распространение получили с Meta Quest Pro (2022).
Оптика XR-устройств: от Френеля до pancake
**Meta Quest Pro, 2022: первый потребительский шлем с pancake-линзами толщиной 8 мм.** Предшественник Quest 2 использовал линзы Френеля 20 мм - в 2.5 раза толще. Сокращение достигнуто за счёт многократного отражения внутри линзы. Экран шлема находится в 2-3 сантиметрах от глаз - без линз там не увидеть ничего, кроме размытых пикселей, ведь глаз не может сфокусироваться на таком расстоянии.
**Минимальное расстояние фокусировки** человеческого глаза - около 7-10 см (ближайшая точка ясного зрения). Линзы в VR-шлеме создают виртуальное изображение на расстоянии 1.5-2 метра от глаза, хотя физически экран всего в паре сантиметров.
В XR-устройствах используют три основных типа линз. **Линзы Френеля** - плоские линзы с концентрическими кольцами. Лёгкие и тонкие, но дают характерные «god rays» - лучи от ярких объектов. Использовались в Oculus Rift, HTC Vive, PlayStation VR.
**Pancake-линзы** - свет проходит внутри линзы, многократно отражаясь. Результат: линза в 2-3 раза тоньше, чем Френеля. Минус - теряется до 50% яркости при каждом отражении, поэтому нужен более яркий экран. Используются в Meta Quest 3, Apple Vision Pro, PSVR2.
| Тип линз | Толщина | Вес | Артефакты | Устройства |
|---|---|---|---|---|
| Классические | Толстые (25-30 мм) | Тяжёлые | Минимальные | Ранние прототипы |
| Френеля | Средние (15-20 мм) | Средние | God rays | Quest 2, Vive, Rift |
| Pancake | Тонкие (8-12 мм) | Лёгкие | Минимальные | Quest 3, Vision Pro, PSVR2 |
| Waveguide (AR) | Очень тонкие (2-3 мм) | Лёгкие | Узкий FoV, dim | HoloLens, Magic Leap |
Для **AR-очков** используются **waveguides** (волноводы) - тонкие прозрачные пластины, через которые виден реальный мир, а внутри них, как по «трубе», распространяется свет от микродисплея. Waveguides позволяют делать AR-очки похожими на обычные, но пока ограничены узким полем зрения и низкой яркостью.
Почему pancake-линзы позволяют сделать VR-шлем тоньше?
Field of View: сколько мира видно
**Военные симуляторы F-35 используют шлемы с FoV почти 180° - пилоту нужно периферийное зрение для оценки обстановки.** Типичный потребительский VR-шлем даёт лишь 90-120 градусов при том, что один глаз человека охватывает 150-160 градусов, а оба вместе - около 210 градусов по горизонтали. Каждый дополнительный градус FoV технически сложен и дорог.
**FoV критически влияет на immersion** (погружение). При FoV < 90° ощущается эффект бинокля. При FoV > 110° периферийное зрение начинает «работать», и мозг легче принимает виртуальный мир за реальный.
| Устройство | Горизонтальный FoV | Вертикальный FoV | Тип линз |
|---|---|---|---|
| Meta Quest 2 | 97° | 93° | Френеля |
| Meta Quest 3 | 110° | 96° | Pancake |
| Apple Vision Pro | 100° | 90° | Pancake |
| Valve Index | 130° | 115° | Френеля (двойные) |
| HoloLens 2 (AR) | 43° | 29° | Waveguide |
| Человек | ~210° | ~150° | Хрусталик |
Обратите внимание на HoloLens 2: всего **43 градуса** FoV. Это одна из главных проблем AR-очков на waveguides - виртуальные объекты видны только в узком «окне» перед взглядом. Стоит посмотреть чуть в сторону, и объект обрезается. Это разрушает иллюзию.
**FoV - не единственный параметр.** Большое поле зрения бесполезно, если по краям изображение сильно искажено (дисторсия) или размыто. Поэтому заявленный FoV шлема - это «максимум», а usable FoV (зона чёткого изображения) может быть значительно меньше.
Инженеры используют два подхода для увеличения FoV. **Canted displays** - экраны наклонены наружу (как в Valve Index), что расширяет горизонтальный FoV. **Многолинзовые системы** - несколько линз складывают изображение из нескольких экранов (как в Pimax). Оба подхода увеличивают стоимость и сложность устройства.
Почему FoV в 43° у HoloLens 2 - серьёзная проблема для AR?
Разрешение: PPD и screen-door effect
**Oculus DK1, 2013: 640x800 на глаз.** Пользователи видели чёткую сетку между пикселями - как будто смотришь на мир через москитную сетку. Этот эффект назвали **screen-door effect** (SDE). Apple Vision Pro 2023 достигает 3660x3200 на глаз - SDE практически исчез. Но ключевая метрика не количество пикселей, а **PPD** - пиксели на градус поля зрения.
**PPD (Pixels Per Degree)** - главная метрика чёткости в XR. Показывает, сколько пикселей приходится на один градус поля зрения. Человеческий глаз различает примерно **60 PPD** (предел остроты зрения). При PPD < 20 пиксели заметны. При PPD > 40 изображение кажется «ретиновым».
| Устройство | Разрешение (на глаз) | FoV | PPD | SDE |
|---|---|---|---|---|
| Oculus DK1 (2013) | 640x800 | 110° | ~6 | Сильный |
| Meta Quest 2 | 1832x1920 | 97° | ~19 | Минимальный |
| Meta Quest 3 | 2064x2208 | 110° | ~19 | Незаметный |
| Apple Vision Pro | 3660x3200 | 100° | ~37 | Незаметный |
| Varjo XR-4 | 3840x3744 | 120° | ~32 | Незаметный |
| Человеческий глаз | - | ~210° | ~60 | - |
**Foveated rendering** - приём, экономящий до 70% ресурсов GPU. Идея: человеческий глаз чётко видит только в центре взгляда (фовеа - зона 2° с максимальной плотностью рецепторов). Периферия размыта от природы. Foveated rendering рендерит с полным качеством только там, куда направлен взгляд, а остальное - с низким разрешением.
Для точного foveated rendering нужен **eye tracking** (отслеживание направления взгляда). Quest Pro, Apple Vision Pro и PlayStation VR2 имеют встроенные eye trackers. Без eye tracking можно применять **fixed foveated rendering** - всегда рендерить центр лучше, чем края, что тоже даёт выигрыш, хотя и меньший.
Quest 3 имеет больше пикселей, чем Quest 2, но PPD почти одинаков. Почему?
Latency: гонка с вестибулярным аппаратом
**Хирурги управляют роботами через VR-интерфейсы: каждая миллисекунда latency - потенциальный риск для пациента.** Даже самая совершенная оптика бесполезна, если изображение запаздывает. При повороте головы вправо мозг немедленно ощущает движение через вестибулярный аппарат - и если виртуальный мир не успевает обновиться за 20 мс, возникает рассинхронизация между сенсорными каналами. Результат - motion sickness.
**Motion-to-photon latency** - время от начала движения головы до момента, когда соответствующие фотоны попадают в глаз. Критический порог: **< 20 мс**. При 20 мс и выше motion sickness начинает проявляться у большинства пользователей. Идеал - менее 7 мс.
Что если GPU не успевает отрендерить кадр за 11 мс? В обычной игре - просадка FPS. В VR это катастрофа: пропущенный кадр означает, что мир «замёрз» на мгновение, пока голова продолжает двигаться. Для этого придумали **reprojection** (перепроецирование).
**Asynchronous TimeWarp (ATW)** - техника спасения пропущенных кадров. Если GPU не успел, ATW берёт предыдущий кадр и поворачивает его в соответствии с текущим положением головы. Это не новый рендер - просто 2D-трансформация старого кадра. Артефакты есть (размазывание по краям), но motion sickness значительно снижается.
| Техника | Что делает | Кто использует |
|---|---|---|
| ATW (Async TimeWarp) | Поворачивает старый кадр по данным IMU | Все современные VR-шлемы |
| ASW (Async SpaceWarp) | ATW + синтез движения объектов (motion vectors) | Meta Quest серия |
| Motion Smoothing | Интерполяция между кадрами для создания промежуточных | SteamVR (Valve) |
| Reprojection (Sony) | ATW-аналог для PlayStation VR2 | PlayStation VR2 |
**Reprojection - костыль, а не решение.** ATW/ASW создают артефакты: размазывание движущихся объектов, «мерцание» краёв. Стабильные 90+ FPS без reprojection всегда предпочтительнее. Именно поэтому VR-игры часто выглядят проще обычных - бюджет в 11 мс на кадр жёстко ограничивает графику.
Чем больше разрешение экрана, тем лучше изображение в VR-шлеме
Качество изображения определяется комплексом параметров: PPD (пиксели на градус), refresh rate (частота обновления), persistence (время свечения пикселя) и motion-to-photon latency. Шлем с 4K-экраном при 60 Hz и 40 мс задержки будет выглядеть хуже, чем 2K-шлем при 120 Hz и 15 мс задержки
Маркетинг делает акцент на разрешении, потому что это понятное число. Но PPD показывает реальную чёткость (учитывая FoV), а refresh rate и latency определяют, насколько комфортно и реалистично выглядит движение.
Ключевые идеи
- **Линзы** превращают близкий экран в виртуальное «далёкое» изображение - от тяжёлых Френеля к тонким pancake и прозрачным waveguides для AR
- **FoV** определяет, сколько виртуального мира видно - человек видит ~210°, лучшие VR-шлемы дают 110-130°, AR-очки пока ограничены 40-50°
- **PPD** (пиксели на градус) - честная метрика чёткости; больше пикселей не значит лучше, если FoV тоже растёт
- **Motion-to-photon latency < 20 мс** - порог комфорта; ATW/ASW спасают от тошноты при пропущенных кадрах, но не заменяют стабильные 90+ FPS
Связанные темы
Оптика и дисплеи напрямую связаны с трекингом и рендерингом:
- Введение в XR — Оптика определяет, какой тип XR-опыта возможен - waveguides для AR, линзы для VR
- Трекинг: 6DoF — Данные трекинга определяют, куда направлен взгляд - критично для foveated rendering и ATW
Вопросы для размышления
- Почему AR-очки до сих пор не могут конкурировать с VR-шлемами по FoV - какие физические ограничения waveguides делают это сложным?
- При проектировании VR-шлема для хирургического тренажёра - что важнее: максимальное разрешение (PPD) или минимальная latency? Почему?
- Foveated rendering экономит до 70% GPU-ресурсов. Какие новые возможности это открывает для мобильных VR-шлемов (без подключения к ПК)?
Связанные уроки
- arvr-01 — Типы XR-устройств и базовые концепции из первого урока
- arvr-03 — Данные трекинга критичны для foveated rendering и ATW
- cg-03 — Rendering pipeline - основа для понимания foveated rendering
- arvr-05 — Comfort и motion sickness напрямую определяются latency и FoV
- dsp-01 — Сигналы IMU и их обработка лежат в основе ATW
- cg-07 — Level-of-Detail в 3D-движках - аналог foveated rendering по принципу
- arvr-08 — Hand и eye tracking расширяют возможности foveated rendering
- la-06-transformations