Інтеграція SDK для відстеження погляду (Eye Tracking) у VR

Наша компанія з розробки відеоігор веде незалежні проекти, спільно з клієнтом створює ігри та надає додаткові операційні послуги. Досвід нашої команди дозволяє нам охопити всі ігрові платформи та розробити приголомшливий продукт, що відповідає баченню клієнта та перевагам гравців.

Від імерсивних застосунків до ігрових світів і 3D-сцен

Наша виділена команда для VR/AR/MR-розробки, Unity-продакшну і 3D-моделювання та анімації — з власними кейсами і презентаціями.

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Інтеграція SDK для відстеження погляду (Eye Tracking) у VR
Складна
~1-2 тижні
Часті питання

Наші компетенції

Які етапи розробки гри?

Останні роботи

  • image_games_mortal_motors_495_0.webp
    Розробка гри для компанії Mortal Motors
    683
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Покрокова стратегія у фентезі сеттингу With Fire And Sword
    862
  • image_games_second_team_604_0.webp
    Розробка ігри для компанії Second term
    491
  • image_games_phoenix_ii_606_0.webp
    3D-анімація – тизер для гри phoenix 2.
    533

Інтеграція SDK для відслідковування взгляду (Eye Tracking) в VR

Eye Tracking в VR – не просто "куди дивиться гравець". Це дані про direction gaze у світових координатах, оновлюваних зі швидкістю 90–120 Hz. Застосувань кілька: foveated rendering (рендерити дорого тільки там, куди дивиться вічко), інтерактивність без контролерів, аналітика уваги, NPC реакції. Кожне з застосувань потребує різної точності та різної інтеграції.

Платформи та SDK

Meta Quest Pro / Quest 3 надають Eye Tracking через Meta Movement SDK (або OVRPlugin). Доступний OVREyeGaze компонент та низькорівневий OVRPlugin.GetEyeGazesState(). Точність: ±1.5–3° кутових при хорошій калібровці. Потребує явного дозволу користувача (permission dialog).

OpenXR – кроссплатформенний шлях через розширення XR_EXT_eye_gaze_interaction. В Unity через Eye Gaze Interaction в XR Interaction Toolkit 2.3+. Перевага – один код для Quest Pro, Varjo, HTC Vive Pro Eye, Pico 4 Pro.

SteamVR (Valve Index не має Eye Tracking, Tobii інтегрований у деякі PC-гарнітури) – через Tobii XR SDK з окремим Unity пакетом.

Foveated Rendering: зачем це потрібне й як підключити

На Quest 3 GPU бюджет жорсткий. Fixed Foveated Rendering (FFR) – статичний варіант: краї екрану рендерються у зменшеній роздільності, центр – у повній. Це працює, але центр фіксований.

Dynamic Foveated Rendering (EyeTracked FFR) використовує дані Eye Tracking, щоб високоякісна зона слідувала за взглядом. Meta OpenXR SDK підтримує це через XR_FB_foveation + XR_FB_foveation_vulkan розширення. В Unity – через OVRManager.eyeTrackingEnabled = true та налаштування OVRManager.fixedFoveatedRenderingLevel у взаємозв'язку з OVRPlugin.useDynamicFixedFoveatedRendering.

Пририст продуктивності: 15–25% GPU у сценах з високою навантаженням. Для Quest 3 це іноді різниця між 72 та 90 fps.

Інтерактивний взгляд: gaze selection без рук

Gaze-based interaction – вибір об'єктів взглядом. Базова реалізація:

// OpenXR через XR Interaction Toolkit
var gazeInteractor = GetComponent<GazeInteractor>();
gazeInteractor.TryGetCurrentUIRaycastResult(out RaycastResult result);

Практична складність: gaze direction трясется. Навіть при хорошій калібровці raw gaze data має високочастотний шум ±0.5–1°. Це робить targeting нестабільним – об'єкт під взглядом мерцяє selected/unselected.

Рішення: smooth gaze cursor через експоненціальний фільтр. smoothedGaze = Vector3.Slerp(smoothedGaze, rawGaze, smoothFactor * Time.deltaTime), де smoothFactor ≈ 10–15. Це убирає дрижання, зберігаючи відзивчивість.

Додатково – dwell time activation: об'єкт активується тільки якщо взгляд утримувався на ньому довше за dwellDuration (0.5–1.5 секунди). Візуальний індикатор – arc/ring навколо об'єкта, що заповнюється як progress bar.

Дозволи та приватність

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

Для корпоративних VR-рішень (enterprise Quest Pro) eye tracking data може використовуватися для аналітики уваги – потрібна окрема юридична документація.

Терміни інтеграції Eye Tracking: базовий gaze cursor + selection – 2–4 робочих дні; Dynamic Foveated Rendering + gaze interaction + analytics – 1–2 тижні. Вартість визначається після аналізу вимог.