Інтеграція 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.