Интеграция Eye Tracking SDK в VR: FFR, gaze-интеракция и калибровка

За 5 лет мы выполнили более 20 интеграций Eye Tracking в VR-проекты — от прототипов на Quest 3 до корпоративных решений на Varjo XR-3. Основная боль клиентов: GPU-бюджет жёсткий, а Fixed Foveated Rendering экономит всего 10–15%. Dynamic FFR с Eye Tracking выжимает до 25% производительности. Но подкл

Наши компетенции

Другие услуги студии

VR/AR/MR приложения на заказ

Впечатляйте клиентов и обучайте команду в виртуальной реальности

Разработка игр на Unity

От идеи до релиза — игры, которые запоминаются

3D-моделирование и анимация

Оживим ваш продукт в объёмной графике и анимации

VR-тренажёры промышленного оборудования

Тренируем операторов на технике без риска и простоя

AR-инструкции для производства

Пошаговые подсказки прямо на оборудовании — без бумаги

Safety-тренажёры

Отработка ЧС и техники безопасности без выхода на объект

VR/AR-тренинги

Обучаем персонал сервису, адаптации и soft skills в VR

Обучающие викторины

Проверка знаний в формате игры — легко и без стресса

Корпоративные видеоинструкции

Понятные ролики для обучения сотрудников и клиентов

Геймификация бизнес-процессов

Мотивируем команду через игровые механики в KPI и HR

Приложения для инфокиосков

Интерактивные экраны для магазинов, стендов и офисов

VR/AR-инсталляции

Wow-эффект для брендов на выставках, ивентах и в шоу-румах

Виртуальные выставки и музеи

Ваша экспозиция доступна из любой точки мира — 24/7

Event-квесты и брендированные игры

Запоминающиеся игры для конференций и клиентских ивентов

Часто задаваемые вопросы

Последние работы

  • image_games_mortal_motors_495_0.webp
    Разработка игры для компании Mortal Motors
    1504
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    1005
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    635
  • image_games_phoenix_ii_606_0.webp
    3D-анимация — тизер для игры phoenix 2.
    716
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Обучающая викторина для детей «Покупки в магазине»
    95

За 5 лет мы выполнили более 20 интеграций Eye Tracking в VR-проекты — от прототипов на Quest 3 до корпоративных решений на Varjo XR-3. Основная боль клиентов: GPU-бюджет жёсткий, а Fixed Foveated Rendering экономит всего 10–15%. Dynamic FFR с Eye Tracking выжимает до 25% производительности. Но подключить SDK и просто считывать gaze direction мало: raw data зашумлена, требует фильтрации, а для каждого типа интеракции нужна своя логика. Наши инженеры прошли сертификацию Meta XR и OpenXR, что гарантирует стабильную работу на всех поддерживаемых гарнитурах.

Платформы и SDK

Meta Quest Pro / Quest 3

Meta предоставляет Meta Movement SDK (ранее OVRPlugin). Компонент OVREyeGaze и низкоуровневый OVRPlugin.GetEyeGazesState() позволяют получить direction gaze, eye openness и pupil dilation. Точность после калибровки — ±1.5–3°. Перед использованием нужно запросить permission через OVRPermissionsRequester.

OpenXR

Кросс-платформенный путь через расширение XR_EXT_eye_gaze_interaction. В Unity подключается через XR Interaction Toolkit 2.3+ — GazeInteractor и GazeInteractable. Один код для всех гарнитур, поддерживающих OpenXR: от Quest Pro до Varjo. Это снижает стоимость поддержки и окупается на мультиплатформенных проектах.

Tobii XR SDK

Для старых PC-гарнитур (HTC Vive Pro Eye) используется Tobii XR SDK. Официальный Unity пакет, но интеграция через Windows Mixed Reality. Требуется отдельная настройка калибровки.

Сравнение платформ

Платформа SDK Точность FFR поддержка Управление взглядом
Meta Quest Pro Meta Movement ±1.5–3° Dynamic FFR (FB_foveation) GazeInteractor Oculus
Quest 3 Meta Movement ±2–3° Dynamic FFR (FB_foveation) GazeInteractor Oculus
Varjo XR-3 OpenXR ±0.5–1° Foveated rendering OpenXR Gaze
Pico 4 Pro PICO Motion ±1.5–2° Fixed/FFR PICO Gaze
PSVR 2 Sony SDK ±1–2° Dynamic FFR Sony Eye Tracking

Сравнение методов фильтрации gaze data

Метод Задержка Плавность Сложность реализации
Экспоненциальный фильтр ~5 мс Средняя Низкая
Калмановский фильтр ~10 мс Высокая Высокая
One-Euro filter ~7 мс Высокая Средняя
Без фильтрации 0 мс Низкая (мерцание) Нет

Как работает EyeTracked FFR?

Fixed Foveated Rendering (FFR) рендерит края в пониженном разрешении, но центр фиксирован. Dynamic FFR смещает высококачественную зону вслед за взглядом. На Quest 3 это даёт прирост 15–25% GPU — разница между 72 и 90 FPS в тяжёлых сценах.

Подключение в Unity через OpenXR: включить XR_FB_foveation и XR_FB_foveation_vulkan. Для Meta SDK — OVRManager.eyeTrackingEnabled = true и OVRManager.fixedFoveatedRenderingLevel в паре с OVRPlugin.useDynamicFixedFoveatedRendering. Dynamic FFR превосходит Fixed FFR на 20–30% по экономии GPU, сохраняя качество в точке взгляда.

Почему gaze cursor нужно фильтровать?

Raw gaze data содержит высокочастотный шум ±0.5–1°. Без фильтрации объект под взглядом мерцает selected/unselected. Решение: экспоненциальный фильтр.

// Экспоненциальный фильтр для gaze cursor smoothedGaze = Vector3.Slerp(smoothedGaze, rawGaze, smoothFactor * Time.deltaTime); // smoothFactor ≈ 10–15 

Дополнительно — dwell time activation: объект активируется, если взгляд удерживается дольше 0.5–1.5 секунд. Визуальный индикатор — arc/ring вокруг объекта.

Разрешения и приватность

Eye Tracking требует специальных permissions в Meta Developer Hub. Для публикации в Meta Store — отдельный policy review: приложение не должно передавать raw eye data на сервер без явного согласия пользователя. В Unity обрабатывать OVRPermissionsRequester и проверять OVRPlugin.eyeTrackingEnabled. Для корпоративных решений — отдельная юридическая документация.

Типичные проблемы калибровки
  • Смещение из-за неправильной посадки гарнитуры
  • Плавающая точность после 30 минут использования (требуется рекалибровка)
  • Конфликт с разными SDK (например, Tobii и OpenXR одновременно)

Что входит в работу

  • Анализ требований и выбор оптимального SDK
  • Настройка Eye Tracking на целевой гарнитуре
  • Реализация gaze cursor с фильтрацией и dwell time
  • Интеграция Dynamic Foveated Rendering (если поддерживается)
  • Сбор аналитики внимания (heatmaps, gaze duration)
  • Документация по API и обучение команды
  • Поддержка после релиза (1 месяц)

Процесс и сроки

  1. Аналитика: определяем платформу, SDK, необходимые разрешения (1–2 дня).
  2. Проектирование: выбор подхода к фильтрации и интеракции, прототипирование (2–3 дня).
  3. Реализация: интеграция SDK, настройка FFR, gaze-логика (4–8 дней).
  4. Тестирование: проверка точности, замеры FPS, юзабилити (2–3 дня).
  5. Деплой: сборка для target-платформы, передача исходников и документации.

Ориентировочные сроки: базовая интеграция (gaze cursor + selection) — 2–4 рабочих дня; полная (Dynamic FFR + аналитика) — 1–2 недели. Стоимость зависит от сложности и требуемого функционала — свяжитесь с нами для оценки вашего проекта. Инвестиции окупаются за счёт повышения производительности и снижения затрат на адаптацию приложения под разные гарнитуры.

Получите консультацию по вашему VR-проекту: проанализируем требования и предложим оптимальное решение с учётом вашего стека и бюджета. Наши инженеры имеют 5+ лет опыта и сертификацию Meta XR.