Функціональне тестування контролерів різних моделей шоломів

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

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

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

Відвідати персоналізований сайт
Показано 1 з 1 послугУсі 242 послуг
Функціональне тестування контролерів різних моделей шоломів
Середня
~3-5 робочих днів
Часті питання

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

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

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

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

tags: [vr-ar]

Функціональне тестування контролерів різних моделей шлемів

Touch Pro у Quest Pro, Touch Plus у Quest 3, Touch у Quest 2, Index Knuckles, Valve Index, Reverb G2 — у кожного контролера свій набір кнопок, осей, триггерів та хаптики. Приложення, розроблене під Quest 2, при запуску на Quest Pro несподівано втрачає функціонал захоплення, тому що Touch Pro має іншу раскладку та інший haptic API.

Функціональне тестування контролерів — не «перевірили на одному шлемі, працює». Це матричне покриття всіх підтримуваних пристроїв з документуванням кожного кейсу.

Input mapping: де частіше за все рассипається

OpenXR стандартизував input через XR Input Binding Profiles. У Unity з XR Interaction Toolkit та OpenXR Plugin всі контроллерні дії маппяться через InputActionAsset з кількома binding profiles: Oculus Touch Controller Profile, Valve Index Controller Profile, HTC Vive Controller Profile, Windows Mixed Reality Controller Profile.

Часта проблема: binding настроєний тільки для одного профіля. Розробник додав <XRInputBinding path="/user/hand/right/input/trigger/value"> без вказання конкретного профіля — прив'язка застосовується до «дефолтного» контролера та не спрацьовує на Index Knuckles або WMR контролерах.

Правильна настройка: для кожної дії в InputActionAsset додаємо bindings для всіх підтримуваних профілів. XR Interaction Toolkit надає Default Input Actions ассет з преднастроєними мультипрофільними біндингами — хорошою відправною точкою, але вимагає аудиту під конкретний проект.

Специфіка Meta Quest Pro: контролери Touch Pro мають додаткові сенсори (stylus pointer, face buttons capacitive touch). Якщо приложення використовує OVRInput напрямку замість OpenXR Actions, потрібно явно обробляти OVRInput.Controller.TouchPro як окремий тип — інакше деякі кнопки повертають невірні значення.

Hand Tracking як альтернативний input

Quest 2, 3, Pro підтримують Hand Tracking без контролерів. Якщо приложення заявляє підтримку ручного трекінгу, воно має тестуватися окремо — Hand Tracking має інший input pipeline та інші обмеження.

XR Hands Package (com.unity.xr.hands) надає XRHandSubsystem з даними про 26 суглобів кожної руки. Жести реалізуються через XRHandGesture компоненти або кастомну логіку. Проблема: жест «щипок» (pinch) — основний спосіб взаємодії без контролера — спрацьовує з затримкою та має хибні спрацьовування при швидких рухах пальців.

Тест-кейси для Hand Tracking відрізняються від контроллерних: перевіряємо коректність детектування в умовах поганого освітлення, при перекритті рук, при швидких жестах. Фіксуємо відсоток хибних спрацьовувань pinch при звичайній пальцевій активності (набір тексту, почісування носа — все не мають триггерити ігрові дії).

Матриця тестування контролерів

Функціональне тестування ведеться по матриці: пристрої × тест-кейси. Мінімальна матриця для Quest-first проекту:

Тест-кейс Quest 2 Quest 3 Quest Pro Index
Trigger — захват об'єкту
Grip — утримання
A/B/X/Y кнопки
Thumbstick locomotion
Haptic feedback при взаємодії
Hand Tracking — pinch select
Граничні випадки (розряджений контролер)

Кожна комірка: Pass / Fail / Not Applicable + опис при Fail. Живий документ, оновлюваний з кожним білдом.

Хаптика: тестування тактильного відгуку

Touch Pro та Touch Plus мають TruTouch haptic system — більш точна вібрація з підтримкою амплітуди та частоти. Touch у Quest 2 — базова вібрація з одним параметром інтенсивності.

API відрізняються: OVRHaptics для нативного Meta, XRBaseController.SendHapticImpulse(amplitude, duration) для OpenXR. На Touch Pro через Meta XR SDK доступний OVRInput.SetControllerVibration з розширеними параметрами. Якщо використовувати тільки базовий OpenXR haptic API, TruTouch на Pro контролерах буде працювати як звичайна вібрація без використання переваг апаратури.

Тест: порівняння хаптики на Quest 2 та Quest 3/Pro при одинакових ігрових подіях. Удар мечем — різна інтенсивність? Очікувано. Хаптика зовсім відсутня на одному пристрої? Баг, фіксимо.

Строки та формат роботи

Функціональне тестування контролерів вимагає фізичного доступу до пристроїв. Якщо у клієнта немає тестових шлемів — обговорюємо використання пристроїв з нашої сторони або оренду.

Обсяг тестування Орієнтовні строки
Один шлем, базова матриця 2–4 дні
2–3 моделі шлемів, повна матриця 1–2 тижні
Повне мультиплатформенне тестування 2–4 тижні

Результат роботи — test matrix з документованими Fail-кейсами, пріоритетами та рекомендаціями по фіксу. Вартість розраховується після отримання списку підтримуваних пристроїв та обсягу функціональності.