Интеграция 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
    671
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    Пошаговая стратегия в фэнтези сеттинге With Fire And Sword
    860
  • image_games_second_team_604_0.webp
    Разработка игры для компании Second term
    490
  • 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 (рендерить дорого только там, куда смотрит глаз), интерактивность без контроллеров, аналитика внимания, NPС реакции. Каждое из применений требует разной точности и разной интеграции.

Платформы и 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 недели. Стоимость определяется после анализа требований.