Если коротко:

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

Хроматическая аберрация VR проявляется как красные, синие или зелёные контуры вокруг контрастных объектов, чаще возле края поля зрения.

Этот эффект также называют хроматизмом увеличения: разные длины волн проходят через оптическую систему по немного различающимся траекториям.

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

Почему runtime разделяет цветовые каналы

Линза увеличивает маленький дисплей и одновременно искривляет его изображение. До вывода кадра runtime формирует обратное искажение, чтобы после прохождения через линзу геометрия выглядела прямой. Для компенсации хроматической аберрации каналы RGB сдвигают и масштабируют не одинаково.

Коэффициенты связаны с конкретной линзой, дисплеем и положением глаза. Поэтому универсальная настройка не подходит всем гарнитурам. Производитель хранит профиль устройства, а приложение обычно передаёт готовый кадр в runtime.

Где дефект виден сильнее

Цветные края легче заметить на белом тексте, тонкой сетке и ярком объекте на тёмном фоне. У центра линзы отклонение меньше. По мере удаления взгляда к периферии лучи проходят через более сложную часть оптики, и ошибка растёт.

Посадка тоже влияет на результат. Если глаза находятся выше, ниже или дальше расчётной позиции, пользователь смотрит через линзу под другим углом. Сначала настройте IPD и положение гарнитуры. Отдельная инструкция есть в статье как настроить IPD.

Чем аберрация отличается от других дефектов

Хроматическая аберрация создаёт цветное расслоение. God rays выглядят как световые лучи вокруг яркого объекта, а pupil swim меняет геометрию при движении глаза. Размытие без цветного края чаще связано с фокусом, загрязнением линзы, разрешением рендера или выходом глаза из sweet spot.

Такое разделение важно для диагностики. Повышение разрешения не исправит неверную коррекцию RGB, а чистка линзы не устранит геометрическое несовпадение каналов.

Что может сделать пользователь

Пользователь не должен подбирать коэффициенты линзы вручную. Полезны четыре проверки:

  1. Установить актуальную версию системного ПО гарнитуры.
  2. Выставить IPD и выровнять корпус относительно глаз.
  3. Проверить дефект в системном интерфейсе и нескольких приложениях.
  4. Сравнить левый и правый глаз.

Если цветной контур появился только в одной игре, причина может быть в её рендеринге или несовместимой модификации runtime. Постоянный дефект в одном глазу требует проверки линзы и дисплея.

Что проверяет разработчик

Разработчик использует штатный путь отправки кадра через OpenXR или SDK производителя и не накладывает поверх него вторую линзовую коррекцию. Тестовая сцена должна содержать контрастный текст, прямые линии и объекты у периферии. Проверять её нужно в гарнитуре при нескольких положениях глаз.

Хроматическая аберрация не исчезает из физики линзы. Система делает её менее заметной за счёт калиброванного смещения цветовых каналов. Чем точнее совпадают профиль устройства и фактическое положение глаза, тем чище остаются границы изображения.

Поделиться:TelegramВКонтакте

Источники

  1. Оптический журнал — программная компенсация хроматических аберраций
  2. Blender Manual — Chromatic Aberration
  3. Wikipedia — Chromatic aberration